mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -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.
|
||||
|
||||
|
||||
10
bin/foamTags
10
bin/foamTags
@ -42,7 +42,7 @@ fi
|
||||
cd $WM_PROJECT_DIR
|
||||
mkdir .tags 2>/dev/null
|
||||
|
||||
#etagsCmd="etags --declarations -l c++ -o .tags/etags -"
|
||||
etagsCmd="etags --declarations -l c++ -o .tags/etags -"
|
||||
#etagsDefCmd="etags -l c++ -o .tags/etagsDef -"
|
||||
#etagsDecCmd="etags --declarations -l c++ -o .tags/etagsDec -"
|
||||
|
||||
@ -52,10 +52,10 @@ etagsDecCmd="ectags -e --extra=+fq --file-scope=no --c-kinds=+p -o .tags/etagsDe
|
||||
|
||||
ectagsDecCmd="ectags -o .tags/ectagsDec --file-scope=no --c-kinds=+p --excmd=n --extra=+fq --fields=+afiKmnsSzt -L -"
|
||||
|
||||
find -H . \( -name "*.[HC]" -o -name lnInclude -prune -o -name Doxygen -prune \) | $etagsCmd
|
||||
find -H . \( -name "*.[HC]" -o -name lnInclude -prune -o -name Doxygen -prune \) | $etagsDefCmd
|
||||
find -H . \( -name "*.H" -o -name lnInclude -prune -o -name Doxygen -prune \) | $etagsDecCmd
|
||||
find -H . \( -name "*.H" -o -name lnInclude -prune -o -name Doxygen -prune \) | $ectagsDecCmd
|
||||
find -H $WM_PROJECT_DIR \( -name "*.[HC]" -o -name lnInclude -prune -o -name Doxygen -prune \) | $etagsCmd
|
||||
find -H $WM_PROJECT_DIR \( -name "*.[HC]" -o -name lnInclude -prune -o -name Doxygen -prune \) | $etagsDefCmd
|
||||
find -H $WM_PROJECT_DIR \( -name "*.H" -o -name lnInclude -prune -o -name Doxygen -prune \) | $etagsDecCmd
|
||||
find -H $WM_PROJECT_DIR \( -name "*.H" -o -name lnInclude -prune -o -name Doxygen -prune \) | $ectagsDecCmd
|
||||
|
||||
gtags -i --gtagsconf bin/tools/gtagsrc .tags
|
||||
|
||||
|
||||
@ -46,6 +46,7 @@ License
|
||||
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -230,7 +230,7 @@ Foam::List<Foam::Pstream::commsStruct> Foam::Pstream::treeCommunication_(0);
|
||||
// in accuracy
|
||||
bool Foam::Pstream::floatTransfer
|
||||
(
|
||||
debug::optimisationSwitch("floatTransfer", 1)
|
||||
debug::optimisationSwitch("floatTransfer", 0)
|
||||
);
|
||||
|
||||
// Number of processors at which the reduce algorithm changes from linear to
|
||||
|
||||
@ -790,7 +790,7 @@ bool Foam::primitiveMesh::checkPoints
|
||||
{
|
||||
if (debug || report)
|
||||
{
|
||||
Info<< " ***Unsed points found in the mesh, "
|
||||
Info<< " ***Unused points found in the mesh, "
|
||||
"number unused by faces: " << nFaceErrors
|
||||
<< " number unused by cells: " << nCellErrors
|
||||
<< endl;
|
||||
|
||||
@ -2804,6 +2804,22 @@ void Foam::autoLayerDriver::addLayers
|
||||
<< "Layer addition iteration " << iteration << nl
|
||||
<< "--------------------------" << endl;
|
||||
|
||||
|
||||
// Unset the extrusion at the pp.
|
||||
const dictionary& meshQualityDict =
|
||||
(
|
||||
iteration < layerParams.nRelaxedIter()
|
||||
? motionDict
|
||||
: motionDict.subDict("relaxed")
|
||||
);
|
||||
|
||||
if (iteration >= layerParams.nRelaxedIter())
|
||||
{
|
||||
Info<< "Switched to relaxed meshQuality constraints." << endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Make sure displacement is equal on both sides of coupled patches.
|
||||
syncPatchDisplacement
|
||||
(
|
||||
@ -2845,6 +2861,7 @@ void Foam::autoLayerDriver::addLayers
|
||||
shrinkMeshMedialDistance
|
||||
(
|
||||
meshMover,
|
||||
meshQualityDict,
|
||||
|
||||
layerParams.nSmoothThickness(),
|
||||
layerParams.maxThicknessToMedialRatio(),
|
||||
@ -3044,19 +3061,6 @@ void Foam::autoLayerDriver::addLayers
|
||||
layerFacesSet.write();
|
||||
}
|
||||
|
||||
// Unset the extrusion at the pp.
|
||||
const dictionary& meshQualityDict =
|
||||
(
|
||||
iteration < layerParams.nRelaxedIter()
|
||||
? motionDict
|
||||
: motionDict.subDict("relaxed")
|
||||
);
|
||||
|
||||
if (iteration >= layerParams.nRelaxedIter())
|
||||
{
|
||||
Info<< "Switched to relaxed meshQuality constraints." << endl;
|
||||
}
|
||||
|
||||
|
||||
label nTotChanged = checkAndUnmark
|
||||
(
|
||||
|
||||
@ -473,6 +473,7 @@ class autoLayerDriver
|
||||
void shrinkMeshMedialDistance
|
||||
(
|
||||
motionSmoother& meshMover,
|
||||
const dictionary& meshQualityDict,
|
||||
const label nSmoothThickness,
|
||||
const scalar maxThicknessToMedialRatio,
|
||||
const label nAllowableErrors,
|
||||
|
||||
@ -792,7 +792,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
|
||||
wallInfo,
|
||||
pointWallDist,
|
||||
edgeWallDist,
|
||||
mesh.nPoints() // max iterations
|
||||
mesh.globalData().nTotalPoints() // max iterations
|
||||
);
|
||||
}
|
||||
|
||||
@ -897,7 +897,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
|
||||
|
||||
pointMedialDist,
|
||||
edgeMedialDist,
|
||||
mesh.nPoints() // max iterations
|
||||
mesh.globalData().nTotalPoints() // max iterations
|
||||
);
|
||||
|
||||
// Extract medial axis distance as pointScalarField
|
||||
@ -953,6 +953,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
|
||||
void Foam::autoLayerDriver::shrinkMeshMedialDistance
|
||||
(
|
||||
motionSmoother& meshMover,
|
||||
const dictionary& meshQualityDict,
|
||||
const label nSmoothThickness,
|
||||
const scalar maxThicknessToMedialRatio,
|
||||
const label nAllowableErrors,
|
||||
@ -1103,7 +1104,7 @@ void Foam::autoLayerDriver::shrinkMeshMedialDistance
|
||||
wallInfo,
|
||||
pointWallDist,
|
||||
edgeWallDist,
|
||||
mesh.nPoints() // max iterations
|
||||
mesh.globalData().nTotalPoints() // max iterations
|
||||
);
|
||||
}
|
||||
|
||||
@ -1138,7 +1139,18 @@ void Foam::autoLayerDriver::shrinkMeshMedialDistance
|
||||
oldErrorReduction = meshMover.setErrorReduction(0.0);
|
||||
}
|
||||
|
||||
if (meshMover.scaleMesh(checkFaces, true, nAllowableErrors))
|
||||
if
|
||||
(
|
||||
meshMover.scaleMesh
|
||||
(
|
||||
checkFaces,
|
||||
List<labelPair>(0),
|
||||
meshMover.paramDict(),
|
||||
meshQualityDict,
|
||||
true,
|
||||
nAllowableErrors
|
||||
)
|
||||
)
|
||||
{
|
||||
Info<< "shrinkMeshMedialDistance : Successfully moved mesh" << endl;
|
||||
break;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -502,6 +502,12 @@ const Foam::labelList& Foam::motionSmoother::adaptPatchIDs() const
|
||||
}
|
||||
|
||||
|
||||
const Foam::dictionary& Foam::motionSmoother::paramDict() const
|
||||
{
|
||||
return paramDict_;
|
||||
}
|
||||
|
||||
|
||||
Foam::pointVectorField& Foam::motionSmoother::displacement()
|
||||
{
|
||||
return displacement_;
|
||||
|
||||
@ -327,6 +327,8 @@ public:
|
||||
//- Patch labels that are being adapted
|
||||
const labelList& adaptPatchIDs() const;
|
||||
|
||||
const dictionary& paramDict() const;
|
||||
|
||||
//- Reference to displacement field
|
||||
pointVectorField& displacement();
|
||||
|
||||
|
||||
@ -90,10 +90,10 @@ void Foam::setRefCell
|
||||
" bool\n"
|
||||
")",
|
||||
dict
|
||||
)
|
||||
<< "Unable to set reference cell for field " << field.name()
|
||||
<< nl << " Reference point " << refPointName
|
||||
<< " found on multiple domains" << nl << exit(FatalIOError);
|
||||
) << "Unable to set reference cell for field " << field.name()
|
||||
<< nl << " Reference point " << refPointName
|
||||
<< " found on " << sumHasRef << " domains (should be one)"
|
||||
<< nl << exit(FatalIOError);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -108,10 +108,10 @@ void Foam::setRefCell
|
||||
" bool\n"
|
||||
")",
|
||||
dict
|
||||
)
|
||||
<< "Unable to set reference cell for field" << field.name() << nl
|
||||
<< " Please supply either " << refCellName
|
||||
<< " or " << refPointName << nl << exit(FatalIOError);
|
||||
) << "Unable to set reference cell for field" << field.name()
|
||||
<< nl
|
||||
<< " Please supply either " << refCellName
|
||||
<< " or " << refPointName << nl << exit(FatalIOError);
|
||||
}
|
||||
|
||||
refValue = readScalar(dict.lookup(refValueName));
|
||||
|
||||
@ -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
|
||||
|
||||
@ -213,13 +213,12 @@ void pointPatchInterpolation::makePatchPatchWeights()
|
||||
|
||||
if (!isA<emptyFvPatch>(bm[patchi]) && !bm[patchi].coupled())
|
||||
{
|
||||
pw[nFacesAroundPoint] =
|
||||
1.0/mag
|
||||
(
|
||||
pointLoc
|
||||
- centres.boundaryField()[patchi]
|
||||
[bm[patchi].patch().whichFace(curFaces[facei])]
|
||||
);
|
||||
vector d =
|
||||
pointLoc
|
||||
- centres.boundaryField()[patchi]
|
||||
[bm[patchi].patch().whichFace(curFaces[facei])];
|
||||
|
||||
pw[nFacesAroundPoint] = 1.0/(mag(d)+VSMALL);
|
||||
|
||||
nFacesAroundPoint++;
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ scalar magVRel = mag(vRel);
|
||||
vector p = p2().position() - p1().position();
|
||||
scalar dist = mag(p);
|
||||
|
||||
scalar vAlign = vRel & (p/dist);
|
||||
scalar vAlign = vRel & (p/(dist+SMALL));
|
||||
|
||||
if (vAlign > 0)
|
||||
{
|
||||
|
||||
@ -367,6 +367,8 @@ void Foam::FreeStream<CloudType>::inflow()
|
||||
rndGen.GaussNormal()*t1
|
||||
+ rndGen.GaussNormal()*t2
|
||||
)
|
||||
+ (t1 & faceVelocity)*t1
|
||||
+ (t2 & faceVelocity)*t2
|
||||
+ mostProbableSpeed*uNormal*n;
|
||||
|
||||
scalar Ei = cloud.equipartitionInternalEnergy
|
||||
|
||||
@ -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
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -132,7 +132,7 @@ bool Foam::triangleFuncs::intersectAxesBundle
|
||||
scalar beta = 0;
|
||||
bool inter = false;
|
||||
|
||||
if (Foam::mag(u1) < SMALL)
|
||||
if (Foam::mag(u1) < ROOTVSMALL)
|
||||
{
|
||||
beta = u0/u2;
|
||||
if ((beta >= 0) && (beta <= 1))
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -14,6 +14,6 @@ SpalartAllmaras/SpalartAllmaras.C
|
||||
wallFunctions=derivedFvPatchFields/wallFunctions
|
||||
|
||||
muSgsWallFunctions=$(wallFunctions)/muSgsWallFunctions
|
||||
$(muSgsWallFunctions)/muSgsSpalartAllmarasWallFunction/muSgsSpalartAllmarasWallFunctionFvPatchScalarField.C
|
||||
$(muSgsWallFunctions)/muSgsWallFunction/muSgsWallFunctionFvPatchScalarField.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libcompressibleLESModels
|
||||
|
||||
@ -24,7 +24,7 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "muSgsSpalartAllmarasWallFunctionFvPatchScalarField.H"
|
||||
#include "muSgsWallFunctionFvPatchScalarField.H"
|
||||
#include "LESModel.H"
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
@ -41,8 +41,8 @@ namespace LESModels
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField::
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
@ -52,10 +52,10 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField::
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField& ptf,
|
||||
const muSgsWallFunctionFvPatchScalarField& ptf,
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF,
|
||||
const fvPatchFieldMapper& mapper
|
||||
@ -65,8 +65,8 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField::
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF,
|
||||
@ -77,8 +77,8 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField::
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF,
|
||||
@ -89,20 +89,20 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField::
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField& tppsf
|
||||
const muSgsWallFunctionFvPatchScalarField& tppsf
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchScalarField(tppsf)
|
||||
{}
|
||||
|
||||
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField::
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField& tppsf,
|
||||
const muSgsWallFunctionFvPatchScalarField& tppsf,
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
@ -112,7 +112,7 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
void muSgsSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
|
||||
void muSgsWallFunctionFvPatchScalarField::evaluate
|
||||
(
|
||||
const Pstream::commsTypes
|
||||
)
|
||||
@ -193,7 +193,7 @@ void muSgsSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
|
||||
makePatchTypeField
|
||||
(
|
||||
fvPatchScalarField,
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -24,18 +24,18 @@ License
|
||||
|
||||
Class
|
||||
Foam::compressible::LESModels::
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
|
||||
Description
|
||||
Spalart Allmaas wall function boundary condition for compressible flows
|
||||
|
||||
SourceFiles
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField.C
|
||||
muSgsWallFunctionFvPatchScalarField.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef muSgsSpalartAllmarasWallFunctionFvPatchScalarField_H
|
||||
#define muSgsSpalartAllmarasWallFunctionFvPatchScalarField_H
|
||||
#ifndef muSgsWallFunctionFvPatchScalarField_H
|
||||
#define muSgsWallFunctionFvPatchScalarField_H
|
||||
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
|
||||
@ -49,10 +49,10 @@ namespace LESModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class muSgsSpalartAllmarasWallFunctionFvPatchScalarField Declaration
|
||||
Class muSgsWallFunctionFvPatchScalarField Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
class muSgsWallFunctionFvPatchScalarField
|
||||
:
|
||||
public fixedValueFvPatchScalarField
|
||||
{
|
||||
@ -62,20 +62,20 @@ class muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("muSgsSpalartAllmarasWallFunction");
|
||||
TypeName("muSgsWallFunction");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from patch and internal field
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&
|
||||
);
|
||||
|
||||
//- Construct from patch, internal field and Istream
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&,
|
||||
@ -83,7 +83,7 @@ public:
|
||||
);
|
||||
|
||||
//- Construct from patch, internal field and dictionary
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&,
|
||||
@ -91,20 +91,20 @@ public:
|
||||
);
|
||||
|
||||
//- Construct by mapping given
|
||||
// muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
// muSgsWallFunctionFvPatchScalarField
|
||||
// onto a new patch
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField&,
|
||||
const muSgsWallFunctionFvPatchScalarField&,
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&,
|
||||
const fvPatchFieldMapper&
|
||||
);
|
||||
|
||||
//- Construct as copy
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField&
|
||||
const muSgsWallFunctionFvPatchScalarField&
|
||||
);
|
||||
|
||||
//- Construct and return a clone
|
||||
@ -112,14 +112,14 @@ public:
|
||||
{
|
||||
return tmp<fvPatchScalarField>
|
||||
(
|
||||
new muSgsSpalartAllmarasWallFunctionFvPatchScalarField(*this)
|
||||
new muSgsWallFunctionFvPatchScalarField(*this)
|
||||
);
|
||||
}
|
||||
|
||||
//- Construct as copy setting internal field reference
|
||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField&,
|
||||
const muSgsWallFunctionFvPatchScalarField&,
|
||||
const DimensionedField<scalar, volMesh>&
|
||||
);
|
||||
|
||||
@ -131,7 +131,7 @@ public:
|
||||
{
|
||||
return tmp<fvPatchScalarField>
|
||||
(
|
||||
new muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
new muSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
*this,
|
||||
iF
|
||||
@ -32,7 +32,7 @@ kOmegaSSTSAS/kOmegaSSTSAS.C
|
||||
wallFunctions=derivedFvPatchFields/wallFunctions
|
||||
|
||||
nuSgsWallFunctions=$(wallFunctions)/nuSgsWallFunctions
|
||||
$(nuSgsWallFunctions)/nuSgsSpalartAllmarasWallFunction/nuSgsSpalartAllmarasWallFunctionFvPatchScalarField.C
|
||||
$(nuSgsWallFunctions)/nuSgsWallFunction/nuSgsWallFunctionFvPatchScalarField.C
|
||||
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libincompressibleLESModels
|
||||
|
||||
@ -24,7 +24,7 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "nuSgsSpalartAllmarasWallFunctionFvPatchScalarField.H"
|
||||
#include "nuSgsWallFunctionFvPatchScalarField.H"
|
||||
#include "LESModel.H"
|
||||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
@ -41,8 +41,8 @@ namespace LESModels
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField::
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
@ -52,10 +52,10 @@ nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField::
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField& ptf,
|
||||
const nuSgsWallFunctionFvPatchScalarField& ptf,
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF,
|
||||
const fvPatchFieldMapper& mapper
|
||||
@ -65,8 +65,8 @@ nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField::
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch& p,
|
||||
const DimensionedField<scalar, volMesh>& iF,
|
||||
@ -77,20 +77,20 @@ nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
{}
|
||||
|
||||
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField::
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField& tppsf
|
||||
const nuSgsWallFunctionFvPatchScalarField& tppsf
|
||||
)
|
||||
:
|
||||
fixedValueFvPatchScalarField(tppsf)
|
||||
{}
|
||||
|
||||
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField::
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField& tppsf,
|
||||
const nuSgsWallFunctionFvPatchScalarField& tppsf,
|
||||
const DimensionedField<scalar, volMesh>& iF
|
||||
)
|
||||
:
|
||||
@ -100,7 +100,7 @@ nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
void nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
|
||||
void nuSgsWallFunctionFvPatchScalarField::evaluate
|
||||
(
|
||||
const Pstream::commsTypes
|
||||
)
|
||||
@ -174,7 +174,7 @@ void nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
|
||||
makePatchTypeField
|
||||
(
|
||||
fvPatchScalarField,
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -24,18 +24,18 @@ License
|
||||
|
||||
Class
|
||||
Foam::incompressible::LESModels::
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
|
||||
Description
|
||||
Spalart Allmaras wall function boundary condition for incompressible flows
|
||||
|
||||
SourceFiles
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField.C
|
||||
nuSgsWallFunctionFvPatchScalarField.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef nuSgsSpalartAllmarasWallFunctionFvPatchScalarField_H
|
||||
#define nuSgsSpalartAllmarasWallFunctionFvPatchScalarField_H
|
||||
#ifndef nuSgsWallFunctionFvPatchScalarField_H
|
||||
#define nuSgsWallFunctionFvPatchScalarField_H
|
||||
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
|
||||
@ -49,10 +49,10 @@ namespace LESModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class nuSgsSpalartAllmarasWallFunctionFvPatchScalarField Declaration
|
||||
Class nuSgsWallFunctionFvPatchScalarField Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
class nuSgsWallFunctionFvPatchScalarField
|
||||
:
|
||||
public fixedValueFvPatchScalarField
|
||||
{
|
||||
@ -62,20 +62,20 @@ class nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("nuSgsSpalartAllmarasWallFunction");
|
||||
TypeName("nuSgsWallFunction");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from patch and internal field
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&
|
||||
);
|
||||
|
||||
//- Construct from patch, internal field and dictionary
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&,
|
||||
@ -83,20 +83,20 @@ public:
|
||||
);
|
||||
|
||||
//- Construct by mapping given
|
||||
// nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
// nuSgsWallFunctionFvPatchScalarField
|
||||
// onto a new patch
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField&,
|
||||
const nuSgsWallFunctionFvPatchScalarField&,
|
||||
const fvPatch&,
|
||||
const DimensionedField<scalar, volMesh>&,
|
||||
const fvPatchFieldMapper&
|
||||
);
|
||||
|
||||
//- Construct as copy
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField&
|
||||
const nuSgsWallFunctionFvPatchScalarField&
|
||||
);
|
||||
|
||||
//- Construct and return a clone
|
||||
@ -104,14 +104,14 @@ public:
|
||||
{
|
||||
return tmp<fvPatchScalarField>
|
||||
(
|
||||
new nuSgsSpalartAllmarasWallFunctionFvPatchScalarField(*this)
|
||||
new nuSgsWallFunctionFvPatchScalarField(*this)
|
||||
);
|
||||
}
|
||||
|
||||
//- Construct as copy setting internal field reference
|
||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField&,
|
||||
const nuSgsWallFunctionFvPatchScalarField&,
|
||||
const DimensionedField<scalar, volMesh>&
|
||||
);
|
||||
|
||||
@ -123,7 +123,7 @@ public:
|
||||
{
|
||||
return tmp<fvPatchScalarField>
|
||||
(
|
||||
new nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
||||
new nuSgsWallFunctionFvPatchScalarField
|
||||
(
|
||||
*this,
|
||||
iF
|
||||
@ -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-40
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user