Merge branch 'master' into cvm

This commit is contained in:
graham
2009-05-01 10:11:25 +01:00
26 changed files with 330 additions and 268 deletions

View File

@ -1522,30 +1522,6 @@ void Foam::meshRefinement::baffleAndSplitMesh
if (debug)
{
//- Note: commented out since not properly parallel yet.
//// Dump all these faces to a faceSet.
//faceSet problemGeom(mesh_, "problemFacesGeom", 100);
//
//const labelList facePatchGeom
//(
// markFacesOnProblemCellsGeometric
// (
// motionDict,
// globalToPatch
// )
//);
//forAll(facePatchGeom, faceI)
//{
// if (facePatchGeom[faceI] != -1)
// {
// problemGeom.insert(faceI);
// }
//}
//Pout<< "Dumping " << problemGeom.size()
// << " problem faces to " << problemGeom.objectPath() << endl;
//problemGeom.write();
faceSet problemTopo(mesh_, "problemFacesTopo", 100);
const labelList facePatchTopo

View File

@ -22,7 +22,40 @@ License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
S Strat=b{job=t,map=t,poli=S,sep=(m{asc=b{bnd=d{pass=40,dif=1,rem=1}f{move=80,pass=-1,bal=0.005},org=f{move=80,pass=-1,bal=0.005},width=3},low=h{pass=10}f{move=80,pass=-1,bal=0.0005},type=h,vert=80,rat=0.8}|m{asc=b{bnd=d{pass=40,dif=1,rem=1}f{move=80,pass=-1,bal=0.005},org=f{move=80,pass=-1,bal=0.005},width=3},low=h{pass=10}f{move=80,pass=-1,bal=0.0005},type=h,vert=80,rat=0.8})}
Default strategy:
Strat=b
{
job=t,
map=t,
poli=S,
sep=
(
m
{
asc=b
{
bnd=d{pass=40,dif=1,rem=1}f{move=80,pass=-1,bal=0.005},
org=f{move=80,pass=-1,bal=0.005},width=3
},
low=h{pass=10}f{move=80,pass=-1,bal=0.0005},
type=h,
vert=80,
rat=0.8
}
| m
{
asc=b
{
bnd=d{pass=40,dif=1,rem=1}f{move=80,pass=-1,bal=0.005},
org=f{move=80,pass=-1,bal=0.005},
width=3},
low=h{pass=10}f{move=80,pass=-1,bal=0.0005},
type=h,
vert=80,
rat=0.8
}
)
}
\*---------------------------------------------------------------------------*/
#include "scotchDecomp.H"
@ -31,6 +64,7 @@ S Strat=b{job=t,map=t,poli=S,sep=(m{asc=b{bnd=d{pass=40,dif=1,rem=1}f{move
#include "IFstream.H"
#include "Time.H"
#include "cyclicPolyPatch.H"
#include "OFstream.H"
extern "C"
{
@ -113,46 +147,102 @@ Foam::label Foam::scotchDecomp::decompose
check(SCOTCH_graphCheck(&grafdat), "SCOTCH_graphCheck");
// Dump graph
if (decompositionDict_.found("scotchCoeffs"))
{
const dictionary& scotchCoeffs =
decompositionDict_.subDict("scotchCoeffs");
//// Architecture
//// ~~~~~~~~~~~~
//// (fully connected network topology since using switch)
//
//SCOTCH_Arch archdat;
//check(SCOTCH_archInit(&archdat), "SCOTCH_archInit");
//check
//(
// // SCOTCH_archCmpltw for weighted.
// SCOTCH_archCmplt(&archdat, nProcessors_),
// "SCOTCH_archCmplt"
//);
Switch writeGraph(scotchCoeffs.lookup("writeGraph"));
if (writeGraph)
{
OFstream str(mesh_.time().path() / mesh_.name() + ".grf");
Info<< "Dumping Scotch graph file to " << str.name() << endl
<< "Use this in combination with gpart." << endl;
label version = 0;
str << version << nl;
// Numer of vertices
str << xadj.size()-1 << ' ' << adjncy.size() << nl;
// Numbering starts from 0
label baseval = 0;
// Has weights?
label hasEdgeWeights = 0;
label hasVertexWeights = 0;
label numericflag = 10*hasEdgeWeights+hasVertexWeights;
str << baseval << ' ' << numericflag << nl;
for (label cellI = 0; cellI < xadj.size()-1; cellI++)
{
label start = xadj[cellI];
label end = xadj[cellI+1];
str << end-start;
for (label i = start; i < end; i++)
{
str << ' ' << adjncy[i];
}
str << nl;
}
}
}
// Architecture
// ~~~~~~~~~~~~
// (fully connected network topology since using switch)
SCOTCH_Arch archdat;
check(SCOTCH_archInit(&archdat), "SCOTCH_archInit");
check
(
// SCOTCH_archCmpltw for weighted.
SCOTCH_archCmplt(&archdat, nProcessors_),
"SCOTCH_archCmplt"
);
//SCOTCH_Mapping mapdat;
//SCOTCH_graphMapInit(&grafdat, &mapdat, &archdat, NULL);
//SCOTCH_graphMapCompute(&grafdat, &mapdat, &stradat); /* Perform mapping */
//SCOTCH_graphMapExit(&grafdat, &mapdat);
finalDecomp.setSize(xadj.size()-1);
finalDecomp = 0;
check
(
SCOTCH_graphPart
SCOTCH_graphMap
(
&grafdat,
nProcessors_, // partnbr
&archdat,
&stradat, // const SCOTCH_Strat *
finalDecomp.begin() // parttab
),
"SCOTCH_graphPart"
"SCOTCH_graphMap"
);
//finalDecomp.setSize(xadj.size()-1);
//check
//(
// SCOTCH_graphPart
// (
// &grafdat,
// nProcessors_, // partnbr
// &stradat, // const SCOTCH_Strat *
// finalDecomp.begin() // parttab
// ),
// "SCOTCH_graphPart"
//);
// Release storage for graph
SCOTCH_graphExit(&grafdat);
// Release storage for strategy
SCOTCH_stratExit(&stradat);
//// Release storage for network topology
//SCOTCH_archExit(&archdat);
// Release storage for network topology
SCOTCH_archExit(&archdat);
return 0;
}

View File

@ -56,7 +56,7 @@ Foam::FitData<Form, extendedStencil, Polynomial>::FitData
// Check input
if (linearLimitFactor <= SMALL || linearLimitFactor > 3)
{
FatalErrorIn("FitData<Polynomial>::FitData")
FatalErrorIn("FitData<Polynomial>::FitData(..)")
<< "linearLimitFactor requested = " << linearLimitFactor
<< " should be between zero and 3"
<< exit(FatalError);
@ -264,8 +264,7 @@ void Foam::FitData<FitDataType, ExtendedStencil, Polynomial>::calcFit
// {
WarningIn
(
"FitData<Polynomial>::calcFit"
"(const List<point>& C, const label facei"
"FitData<Polynomial>::calcFit(..)"
) << "Could not fit face " << facei
<< " Weights = " << coeffsi
<< ", reverting to linear." << nl

View File

@ -323,10 +323,10 @@ void Foam::cellClassification::markCells
MeshWave<cellInfo> cellInfoCalc
(
mesh_,
changedFaces, // Labels of changed faces
changedFacesInfo, // Information on changed faces
cellInfoList, // Information on all cells
mesh_.nCells() // max iterations
changedFaces, // Labels of changed faces
changedFacesInfo, // Information on changed faces
cellInfoList, // Information on all cells
mesh_.globalData().nTotalCells() // max iterations
);
// Get information out of cellInfoList

View File

@ -226,7 +226,7 @@ void Foam::patchDataWave<TransferType>::correct()
mesh(),
changedFaces,
faceDist,
mesh().nCells() // max iterations
mesh().globalData().nTotalCells() // max iterations
);

View File

@ -28,7 +28,7 @@ License
#include "polyMesh.H"
#include "wallPoint.H"
#include "MeshWave.H"
#include "globalMeshData.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
@ -187,7 +187,7 @@ void Foam::patchWave::correct()
mesh(),
changedFaces,
faceDist,
mesh().nCells() // max iterations
mesh().globalData().nTotalCells() // max iterations
);

View File

@ -1,9 +1,8 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/combustion/lnInclude \
-I$(LIB_SRC)/OpenFOAM/lnInclude \
-I radiationModel/fvDOM/interpolationLookUpTable
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude
LIB_LIBS = \
-lfiniteVolume
-lfiniteVolume \
-lbasicThermophysicalModels \
-lspecie

View File

@ -250,6 +250,15 @@ Foam::radiation::fvDOM::fvDOM(const volScalarField& T)
)
);
}
Info<< "fvDOM : Allocated " << IRay_.size()
<< " rays with average orientation:" << nl;
forAll (IRay_, i)
{
Info<< '\t' << IRay_[i].I().name()
<< '\t' << IRay_[i].dAve() << nl;
}
Info<< endl;
}
@ -359,7 +368,8 @@ void Foam::radiation::fvDOM::updateG()
{
IRay_[rayI].addIntensity();
G_ += IRay_[rayI].I()*IRay_[rayI].omega();
Qr_ += IRay_[rayI].Qr();
//Qr_ += IRay_[rayI].Qr();
Qr_.boundaryField() += IRay_[rayI].Qr().boundaryField();
}
}

View File

@ -187,7 +187,8 @@ Foam::radiation::radiativeIntensityRay::~radiativeIntensityRay()
Foam::scalar Foam::radiation::radiativeIntensityRay::correct()
{
// reset boundary heat flux to zero
Qr_ = dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0);
//Qr_ = dimensionedScalar("zero", dimMass/pow3(dimTime), 0.0);
Qr_.boundaryField() = 0.0;
scalar maxResidual = -GREAT;

View File

@ -138,7 +138,7 @@ void smoothDelta::calcDelta()
changedFacesInfo,
faceDeltaData,
cellDeltaData,
mesh_.nCells() // max iterations
mesh_.globalData().nTotalCells() // max iterations
);
forAll(delta_, cellI)