mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' into cvm
This commit is contained in:
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -226,7 +226,7 @@ void Foam::patchDataWave<TransferType>::correct()
|
||||
mesh(),
|
||||
changedFaces,
|
||||
faceDist,
|
||||
mesh().nCells() // max iterations
|
||||
mesh().globalData().nTotalCells() // max iterations
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -138,7 +138,7 @@ void smoothDelta::calcDelta()
|
||||
changedFacesInfo,
|
||||
faceDeltaData,
|
||||
cellDeltaData,
|
||||
mesh_.nCells() // max iterations
|
||||
mesh_.globalData().nTotalCells() // max iterations
|
||||
);
|
||||
|
||||
forAll(delta_, cellI)
|
||||
|
||||
Reference in New Issue
Block a user