Merge branch 'master' into cvm
This commit is contained in:
commit
d781dcf38c
@ -48,157 +48,6 @@ using namespace Foam;
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
void createBaffles
|
||||
(
|
||||
const polyMesh& mesh,
|
||||
const label faceI,
|
||||
const label oldPatchI,
|
||||
const labelList& newPatches,
|
||||
PackedBoolList& doneFace,
|
||||
polyTopoChange& meshMod
|
||||
)
|
||||
{
|
||||
const polyBoundaryMesh& patches = mesh.boundaryMesh();
|
||||
const faceZoneMesh& faceZones = mesh.faceZones();
|
||||
|
||||
const face& f = mesh.faces()[faceI];
|
||||
label zoneID = faceZones.whichZone(faceI);
|
||||
bool zoneFlip = false;
|
||||
if (zoneID >= 0)
|
||||
{
|
||||
const faceZone& fZone = faceZones[zoneID];
|
||||
zoneFlip = fZone.flipMap()[fZone.whichFace(faceI)];
|
||||
}
|
||||
label nei = -1;
|
||||
if (oldPatchI == -1)
|
||||
{
|
||||
nei = mesh.faceNeighbour()[faceI];
|
||||
}
|
||||
|
||||
|
||||
face revFace(f.reverseFace());
|
||||
|
||||
forAll(newPatches, i)
|
||||
{
|
||||
if (oldPatchI == -1)
|
||||
{
|
||||
// Internal face
|
||||
if (doneFace.set(faceI))
|
||||
{
|
||||
// First usage of face. Modify.
|
||||
meshMod.setAction
|
||||
(
|
||||
polyModifyFace
|
||||
(
|
||||
f, // modified face
|
||||
faceI, // label of face
|
||||
mesh.faceOwner()[faceI], // owner
|
||||
-1, // neighbour
|
||||
false, // face flip
|
||||
newPatches[i], // patch for face
|
||||
false, // remove from zone
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Second or more usage of face. Add.
|
||||
meshMod.setAction
|
||||
(
|
||||
polyAddFace
|
||||
(
|
||||
f, // modified face
|
||||
mesh.faceOwner()[faceI], // owner
|
||||
-1, // neighbour
|
||||
-1, // master point
|
||||
-1, // master edge
|
||||
faceI, // master face
|
||||
false, // face flip
|
||||
newPatches[i], // patch for face
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
meshMod.setAction
|
||||
(
|
||||
polyAddFace
|
||||
(
|
||||
revFace, // modified face
|
||||
nei, // owner
|
||||
-1, // neighbour
|
||||
-1, // masterPointID
|
||||
-1, // masterEdgeID
|
||||
faceI, // masterFaceID,
|
||||
true, // face flip
|
||||
newPatches[i], // patch for face
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
else if
|
||||
(
|
||||
patches[oldPatchI].coupled()
|
||||
&& patches[newPatches[i]].coupled()
|
||||
)
|
||||
{
|
||||
// Do not allow coupled patches to be moved to different coupled
|
||||
// patches.
|
||||
//WarningIn("createBaffles()")
|
||||
// << "Not moving face from coupled patch "
|
||||
// << patches[oldPatchI].name()
|
||||
// << " to another coupled patch " << patches[newPatches[i]]
|
||||
// << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (doneFace.set(faceI))
|
||||
{
|
||||
meshMod.setAction
|
||||
(
|
||||
polyModifyFace
|
||||
(
|
||||
f, // modified face
|
||||
faceI, // label of face
|
||||
mesh.faceOwner()[faceI], // owner
|
||||
-1, // neighbour
|
||||
false, // face flip
|
||||
newPatches[i], // patch for face
|
||||
false, // remove from zone
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
meshMod.setAction
|
||||
(
|
||||
polyAddFace
|
||||
(
|
||||
f, // modified face
|
||||
mesh.faceOwner()[faceI], // owner
|
||||
-1, // neighbour
|
||||
-1, // master point
|
||||
-1, // master edge
|
||||
faceI, // master face
|
||||
false, // face flip
|
||||
newPatches[i], // patch for face
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Main program:
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
@ -215,15 +64,16 @@ int main(int argc, char *argv[])
|
||||
const word oldInstance = mesh.pointsInstance();
|
||||
|
||||
const polyBoundaryMesh& patches = mesh.boundaryMesh();
|
||||
const faceZoneMesh& faceZones = mesh.faceZones();
|
||||
|
||||
// Faces to baffle
|
||||
word setName(args.additionalArgs()[0]);
|
||||
Pout<< "Reading faceSet from " << setName << nl << endl;
|
||||
Info<< "Reading faceSet from " << setName << nl << endl;
|
||||
faceSet facesToSplit(mesh, setName);
|
||||
// Make sure set is synchronised across couples
|
||||
facesToSplit.sync(mesh);
|
||||
Pout<< "Read " << facesToSplit.size() << " faces from " << setName
|
||||
<< nl << endl;
|
||||
Info<< "Read " << returnReduce(facesToSplit.size(), sumOp<label>())
|
||||
<< " faces from " << setName << nl << endl;
|
||||
|
||||
|
||||
// Patches to put baffles into
|
||||
@ -231,7 +81,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
word patchName(args.additionalArgs()[1]);
|
||||
newPatches[0] = patches.findPatchID(patchName);
|
||||
Pout<< "Using patch " << patchName
|
||||
Info<< "Using patch " << patchName
|
||||
<< " at index " << newPatches[0] << endl;
|
||||
|
||||
if (newPatches[0] == -1)
|
||||
@ -316,48 +166,181 @@ int main(int argc, char *argv[])
|
||||
|
||||
|
||||
// Do the actual changes
|
||||
// Note order in which faces are modified/added is so they end up correctly
|
||||
// for cyclic patches (original faces first and then reversed faces)
|
||||
// since otherwise it will have trouble matching baffles.
|
||||
|
||||
label nBaffled = 0;
|
||||
PackedBoolList doneFace(mesh.nFaces());
|
||||
|
||||
for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
|
||||
|
||||
forAll(newPatches, i)
|
||||
{
|
||||
if (facesToSplit.found(faceI))
|
||||
{
|
||||
createBaffles
|
||||
(
|
||||
mesh,
|
||||
faceI,
|
||||
-1, // oldPatchI,
|
||||
newPatches,
|
||||
doneFace,
|
||||
meshMod
|
||||
);
|
||||
nBaffled++;
|
||||
}
|
||||
}
|
||||
forAll(patches, patchI)
|
||||
{
|
||||
const polyPatch& pp = patches[patchI];
|
||||
label newPatchI = newPatches[i];
|
||||
|
||||
forAll(pp, i)
|
||||
for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
|
||||
{
|
||||
label faceI = pp.start()+i;
|
||||
|
||||
if (facesToSplit.found(faceI))
|
||||
{
|
||||
createBaffles
|
||||
(
|
||||
mesh,
|
||||
faceI,
|
||||
patchI, // oldPatchI,
|
||||
newPatches,
|
||||
doneFace,
|
||||
meshMod
|
||||
);
|
||||
const face& f = mesh.faces()[faceI];
|
||||
label zoneID = faceZones.whichZone(faceI);
|
||||
bool zoneFlip = false;
|
||||
if (zoneID >= 0)
|
||||
{
|
||||
const faceZone& fZone = faceZones[zoneID];
|
||||
zoneFlip = fZone.flipMap()[fZone.whichFace(faceI)];
|
||||
}
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
// First usage of face. Modify.
|
||||
meshMod.setAction
|
||||
(
|
||||
polyModifyFace
|
||||
(
|
||||
f, // modified face
|
||||
faceI, // label of face
|
||||
mesh.faceOwner()[faceI], // owner
|
||||
-1, // neighbour
|
||||
false, // face flip
|
||||
newPatchI, // patch for face
|
||||
false, // remove from zone
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Second or more usage of face. Add.
|
||||
meshMod.setAction
|
||||
(
|
||||
polyAddFace
|
||||
(
|
||||
f, // modified face
|
||||
mesh.faceOwner()[faceI], // owner
|
||||
-1, // neighbour
|
||||
-1, // master point
|
||||
-1, // master edge
|
||||
faceI, // master face
|
||||
false, // face flip
|
||||
newPatchI, // patch for face
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
nBaffled++;
|
||||
}
|
||||
}
|
||||
|
||||
// Add the reversed face.
|
||||
for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
|
||||
{
|
||||
if (facesToSplit.found(faceI))
|
||||
{
|
||||
const face& f = mesh.faces()[faceI];
|
||||
label zoneID = faceZones.whichZone(faceI);
|
||||
bool zoneFlip = false;
|
||||
if (zoneID >= 0)
|
||||
{
|
||||
const faceZone& fZone = faceZones[zoneID];
|
||||
zoneFlip = fZone.flipMap()[fZone.whichFace(faceI)];
|
||||
}
|
||||
label nei = mesh.faceNeighbour()[faceI];
|
||||
|
||||
meshMod.setAction
|
||||
(
|
||||
polyAddFace
|
||||
(
|
||||
f.reverseFace(), // modified face
|
||||
nei, // owner
|
||||
-1, // neighbour
|
||||
-1, // masterPointID
|
||||
-1, // masterEdgeID
|
||||
faceI, // masterFaceID,
|
||||
true, // face flip
|
||||
newPatchI, // patch for face
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
|
||||
nBaffled++;
|
||||
}
|
||||
}
|
||||
|
||||
// Modify any boundary faces
|
||||
forAll(patches, patchI)
|
||||
{
|
||||
const polyPatch& pp = patches[patchI];
|
||||
|
||||
if (patches[newPatchI].coupled() && pp.coupled())
|
||||
{
|
||||
// Do not allow coupled faces to be moved to different coupled
|
||||
// patches.
|
||||
}
|
||||
else
|
||||
{
|
||||
forAll(pp, i)
|
||||
{
|
||||
label faceI = pp.start()+i;
|
||||
|
||||
if (facesToSplit.found(faceI))
|
||||
{
|
||||
const face& f = mesh.faces()[faceI];
|
||||
label zoneID = faceZones.whichZone(faceI);
|
||||
bool zoneFlip = false;
|
||||
if (zoneID >= 0)
|
||||
{
|
||||
const faceZone& fZone = faceZones[zoneID];
|
||||
zoneFlip = fZone.flipMap()[fZone.whichFace(faceI)];
|
||||
}
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
// First usage of face. Modify.
|
||||
meshMod.setAction
|
||||
(
|
||||
polyModifyFace
|
||||
(
|
||||
f, // modified face
|
||||
faceI, // label of face
|
||||
mesh.faceOwner()[faceI],// owner
|
||||
-1, // neighbour
|
||||
false, // face flip
|
||||
newPatchI, // patch for face
|
||||
false, // remove from zone
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Second or more usage of face. Add.
|
||||
meshMod.setAction
|
||||
(
|
||||
polyAddFace
|
||||
(
|
||||
f, // modified face
|
||||
mesh.faceOwner()[faceI],// owner
|
||||
-1, // neighbour
|
||||
-1, // master point
|
||||
-1, // master edge
|
||||
faceI, // master face
|
||||
false, // face flip
|
||||
newPatchI, // patch for face
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
nBaffled++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -37,6 +37,9 @@ Usage
|
||||
Write the cell distribution as a labelList for use with 'manual'
|
||||
decomposition method and as a volScalarField for post-processing.
|
||||
|
||||
@param -region regionName \n
|
||||
Decompose named region. Does not check for existence of processor*.
|
||||
|
||||
@param -copyUniform \n
|
||||
Copy any @a uniform directories too.
|
||||
|
||||
|
@ -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)
|
||||
|
@ -23,25 +23,25 @@ boundaryField
|
||||
{
|
||||
floor
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
type compressible::epsilonWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
ceiling
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
type compressible::epsilonWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
fixedWalls
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
type compressible::epsilonWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
box
|
||||
{
|
||||
type epsilonWallFunction;
|
||||
type compressible::epsilonWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
@ -23,25 +23,25 @@ boundaryField
|
||||
{
|
||||
floor
|
||||
{
|
||||
type kQRWallFunction;
|
||||
type compressible::kQRWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
ceiling
|
||||
{
|
||||
type kQRWallFunction;
|
||||
type compressible::kQRWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
fixedWalls
|
||||
{
|
||||
type kQRWallFunction;
|
||||
type compressible::kQRWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
|
||||
box
|
||||
{
|
||||
type kQRWallFunction;
|
||||
type compressible::kQRWallFunction;
|
||||
value uniform 0;
|
||||
}
|
||||
}
|
||||
|
@ -1,2 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -O3 -fno-gcse
|
||||
cOPT = -O3
|
||||
|
@ -1,2 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -O3 -fno-gcse
|
||||
cOPT = -O3
|
||||
|
@ -1,4 +1,4 @@
|
||||
c++DBUG =
|
||||
c++OPT = -march=opteron -O3
|
||||
c++OPT = -O3
|
||||
#c++OPT = -march=nocona -O3
|
||||
# -ftree-vectorize -ftree-vectorizer-verbose=3
|
||||
|
@ -1,2 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -march=opteron -O3 -fno-gcse
|
||||
cOPT = -O3
|
||||
|
@ -1,5 +1,5 @@
|
||||
CPP = /lib/cpp $(GFLAGS)
|
||||
LD = ld -A64
|
||||
LD = ld
|
||||
|
||||
PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
c++DBUG =
|
||||
c++OPT = -march=opteron -O3
|
||||
c++OPT = -O3
|
||||
#c++OPT = -march=nocona -O3
|
||||
# -ftree-vectorize -ftree-vectorizer-verbose=3
|
||||
|
@ -1,2 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -march=opteron -O3 -fno-gcse
|
||||
cOPT = -O3
|
||||
|
@ -8,7 +8,7 @@ include $(RULES)/c++$(WM_COMPILE_OPTION)
|
||||
|
||||
ptFLAGS = -DNoRepository -ftemplate-depth-60
|
||||
|
||||
c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC -pthread
|
||||
c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC
|
||||
|
||||
Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@
|
||||
cxxtoo = $(Ctoo)
|
||||
|
@ -1,2 +1,2 @@
|
||||
cDBUG = -ggdb -DFULLDEBUG
|
||||
cOPT = -O1 -finline-functions
|
||||
cOPT = -O1 -fdefault-inline -finline-functions
|
||||
|
@ -1,10 +1,11 @@
|
||||
CPP = /lib/cpp $(GFLAGS)
|
||||
LD = ld -melf_i386
|
||||
|
||||
PROJECT_LIBS = -l$(WM_PROJECT) -ldl
|
||||
PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl
|
||||
|
||||
include $(GENERAL_RULES)/standard
|
||||
|
||||
include $(RULES)/X
|
||||
include $(RULES)/c
|
||||
include $(RULES)/c++
|
||||
include $(GENERAL_RULES)/cint
|
||||
|
@ -1,2 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -O3 -fno-gcse
|
||||
cOPT = -O3
|
||||
|
@ -1,2 +1,2 @@
|
||||
cDBUG =
|
||||
cOPT = -O3 -fno-gcse
|
||||
cOPT = -O3
|
||||
|
Loading…
Reference in New Issue
Block a user