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:
|
// Main program:
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
@ -215,15 +64,16 @@ int main(int argc, char *argv[])
|
|||||||
const word oldInstance = mesh.pointsInstance();
|
const word oldInstance = mesh.pointsInstance();
|
||||||
|
|
||||||
const polyBoundaryMesh& patches = mesh.boundaryMesh();
|
const polyBoundaryMesh& patches = mesh.boundaryMesh();
|
||||||
|
const faceZoneMesh& faceZones = mesh.faceZones();
|
||||||
|
|
||||||
// Faces to baffle
|
// Faces to baffle
|
||||||
word setName(args.additionalArgs()[0]);
|
word setName(args.additionalArgs()[0]);
|
||||||
Pout<< "Reading faceSet from " << setName << nl << endl;
|
Info<< "Reading faceSet from " << setName << nl << endl;
|
||||||
faceSet facesToSplit(mesh, setName);
|
faceSet facesToSplit(mesh, setName);
|
||||||
// Make sure set is synchronised across couples
|
// Make sure set is synchronised across couples
|
||||||
facesToSplit.sync(mesh);
|
facesToSplit.sync(mesh);
|
||||||
Pout<< "Read " << facesToSplit.size() << " faces from " << setName
|
Info<< "Read " << returnReduce(facesToSplit.size(), sumOp<label>())
|
||||||
<< nl << endl;
|
<< " faces from " << setName << nl << endl;
|
||||||
|
|
||||||
|
|
||||||
// Patches to put baffles into
|
// Patches to put baffles into
|
||||||
@ -231,7 +81,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
word patchName(args.additionalArgs()[1]);
|
word patchName(args.additionalArgs()[1]);
|
||||||
newPatches[0] = patches.findPatchID(patchName);
|
newPatches[0] = patches.findPatchID(patchName);
|
||||||
Pout<< "Using patch " << patchName
|
Info<< "Using patch " << patchName
|
||||||
<< " at index " << newPatches[0] << endl;
|
<< " at index " << newPatches[0] << endl;
|
||||||
|
|
||||||
if (newPatches[0] == -1)
|
if (newPatches[0] == -1)
|
||||||
@ -316,48 +166,181 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
|
|
||||||
// Do the actual changes
|
// 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;
|
label nBaffled = 0;
|
||||||
PackedBoolList doneFace(mesh.nFaces());
|
|
||||||
|
|
||||||
for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
|
forAll(newPatches, i)
|
||||||
{
|
{
|
||||||
if (facesToSplit.found(faceI))
|
label newPatchI = newPatches[i];
|
||||||
{
|
|
||||||
createBaffles
|
|
||||||
(
|
|
||||||
mesh,
|
|
||||||
faceI,
|
|
||||||
-1, // oldPatchI,
|
|
||||||
newPatches,
|
|
||||||
doneFace,
|
|
||||||
meshMod
|
|
||||||
);
|
|
||||||
nBaffled++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
forAll(patches, patchI)
|
|
||||||
{
|
|
||||||
const polyPatch& pp = patches[patchI];
|
|
||||||
|
|
||||||
forAll(pp, i)
|
for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
|
||||||
{
|
{
|
||||||
label faceI = pp.start()+i;
|
|
||||||
|
|
||||||
if (facesToSplit.found(faceI))
|
if (facesToSplit.found(faceI))
|
||||||
{
|
{
|
||||||
createBaffles
|
const face& f = mesh.faces()[faceI];
|
||||||
(
|
label zoneID = faceZones.whichZone(faceI);
|
||||||
mesh,
|
bool zoneFlip = false;
|
||||||
faceI,
|
if (zoneID >= 0)
|
||||||
patchI, // oldPatchI,
|
{
|
||||||
newPatches,
|
const faceZone& fZone = faceZones[zoneID];
|
||||||
doneFace,
|
zoneFlip = fZone.flipMap()[fZone.whichFace(faceI)];
|
||||||
meshMod
|
}
|
||||||
);
|
|
||||||
|
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++;
|
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'
|
Write the cell distribution as a labelList for use with 'manual'
|
||||||
decomposition method and as a volScalarField for post-processing.
|
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
|
@param -copyUniform \n
|
||||||
Copy any @a uniform directories too.
|
Copy any @a uniform directories too.
|
||||||
|
|
||||||
|
|||||||
10
bin/foamTags
10
bin/foamTags
@ -42,7 +42,7 @@ fi
|
|||||||
cd $WM_PROJECT_DIR
|
cd $WM_PROJECT_DIR
|
||||||
mkdir .tags 2>/dev/null
|
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 -"
|
#etagsDefCmd="etags -l c++ -o .tags/etagsDef -"
|
||||||
#etagsDecCmd="etags --declarations -l c++ -o .tags/etagsDec -"
|
#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 -"
|
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 $WM_PROJECT_DIR \( -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 $WM_PROJECT_DIR \( -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 $WM_PROJECT_DIR \( -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 "*.H" -o -name lnInclude -prune -o -name Doxygen -prune \) | $ectagsDecCmd
|
||||||
|
|
||||||
gtags -i --gtagsconf bin/tools/gtagsrc .tags
|
gtags -i --gtagsconf bin/tools/gtagsrc .tags
|
||||||
|
|
||||||
|
|||||||
@ -46,6 +46,7 @@ License
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|||||||
@ -230,7 +230,7 @@ Foam::List<Foam::Pstream::commsStruct> Foam::Pstream::treeCommunication_(0);
|
|||||||
// in accuracy
|
// in accuracy
|
||||||
bool Foam::Pstream::floatTransfer
|
bool Foam::Pstream::floatTransfer
|
||||||
(
|
(
|
||||||
debug::optimisationSwitch("floatTransfer", 1)
|
debug::optimisationSwitch("floatTransfer", 0)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Number of processors at which the reduce algorithm changes from linear to
|
// Number of processors at which the reduce algorithm changes from linear to
|
||||||
|
|||||||
@ -790,7 +790,7 @@ bool Foam::primitiveMesh::checkPoints
|
|||||||
{
|
{
|
||||||
if (debug || report)
|
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 faces: " << nFaceErrors
|
||||||
<< " number unused by cells: " << nCellErrors
|
<< " number unused by cells: " << nCellErrors
|
||||||
<< endl;
|
<< endl;
|
||||||
|
|||||||
@ -2804,6 +2804,22 @@ void Foam::autoLayerDriver::addLayers
|
|||||||
<< "Layer addition iteration " << iteration << nl
|
<< "Layer addition iteration " << iteration << nl
|
||||||
<< "--------------------------" << endl;
|
<< "--------------------------" << 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.
|
// Make sure displacement is equal on both sides of coupled patches.
|
||||||
syncPatchDisplacement
|
syncPatchDisplacement
|
||||||
(
|
(
|
||||||
@ -2845,6 +2861,7 @@ void Foam::autoLayerDriver::addLayers
|
|||||||
shrinkMeshMedialDistance
|
shrinkMeshMedialDistance
|
||||||
(
|
(
|
||||||
meshMover,
|
meshMover,
|
||||||
|
meshQualityDict,
|
||||||
|
|
||||||
layerParams.nSmoothThickness(),
|
layerParams.nSmoothThickness(),
|
||||||
layerParams.maxThicknessToMedialRatio(),
|
layerParams.maxThicknessToMedialRatio(),
|
||||||
@ -3044,19 +3061,6 @@ void Foam::autoLayerDriver::addLayers
|
|||||||
layerFacesSet.write();
|
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
|
label nTotChanged = checkAndUnmark
|
||||||
(
|
(
|
||||||
|
|||||||
@ -473,6 +473,7 @@ class autoLayerDriver
|
|||||||
void shrinkMeshMedialDistance
|
void shrinkMeshMedialDistance
|
||||||
(
|
(
|
||||||
motionSmoother& meshMover,
|
motionSmoother& meshMover,
|
||||||
|
const dictionary& meshQualityDict,
|
||||||
const label nSmoothThickness,
|
const label nSmoothThickness,
|
||||||
const scalar maxThicknessToMedialRatio,
|
const scalar maxThicknessToMedialRatio,
|
||||||
const label nAllowableErrors,
|
const label nAllowableErrors,
|
||||||
|
|||||||
@ -792,7 +792,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
|
|||||||
wallInfo,
|
wallInfo,
|
||||||
pointWallDist,
|
pointWallDist,
|
||||||
edgeWallDist,
|
edgeWallDist,
|
||||||
mesh.nPoints() // max iterations
|
mesh.globalData().nTotalPoints() // max iterations
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -897,7 +897,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
|
|||||||
|
|
||||||
pointMedialDist,
|
pointMedialDist,
|
||||||
edgeMedialDist,
|
edgeMedialDist,
|
||||||
mesh.nPoints() // max iterations
|
mesh.globalData().nTotalPoints() // max iterations
|
||||||
);
|
);
|
||||||
|
|
||||||
// Extract medial axis distance as pointScalarField
|
// Extract medial axis distance as pointScalarField
|
||||||
@ -953,6 +953,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
|
|||||||
void Foam::autoLayerDriver::shrinkMeshMedialDistance
|
void Foam::autoLayerDriver::shrinkMeshMedialDistance
|
||||||
(
|
(
|
||||||
motionSmoother& meshMover,
|
motionSmoother& meshMover,
|
||||||
|
const dictionary& meshQualityDict,
|
||||||
const label nSmoothThickness,
|
const label nSmoothThickness,
|
||||||
const scalar maxThicknessToMedialRatio,
|
const scalar maxThicknessToMedialRatio,
|
||||||
const label nAllowableErrors,
|
const label nAllowableErrors,
|
||||||
@ -1103,7 +1104,7 @@ void Foam::autoLayerDriver::shrinkMeshMedialDistance
|
|||||||
wallInfo,
|
wallInfo,
|
||||||
pointWallDist,
|
pointWallDist,
|
||||||
edgeWallDist,
|
edgeWallDist,
|
||||||
mesh.nPoints() // max iterations
|
mesh.globalData().nTotalPoints() // max iterations
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1138,7 +1139,18 @@ void Foam::autoLayerDriver::shrinkMeshMedialDistance
|
|||||||
oldErrorReduction = meshMover.setErrorReduction(0.0);
|
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;
|
Info<< "shrinkMeshMedialDistance : Successfully moved mesh" << endl;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -1522,30 +1522,6 @@ void Foam::meshRefinement::baffleAndSplitMesh
|
|||||||
|
|
||||||
if (debug)
|
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);
|
faceSet problemTopo(mesh_, "problemFacesTopo", 100);
|
||||||
|
|
||||||
const labelList facePatchTopo
|
const labelList facePatchTopo
|
||||||
|
|||||||
@ -22,7 +22,40 @@ License
|
|||||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
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"
|
#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 "IFstream.H"
|
||||||
#include "Time.H"
|
#include "Time.H"
|
||||||
#include "cyclicPolyPatch.H"
|
#include "cyclicPolyPatch.H"
|
||||||
|
#include "OFstream.H"
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
@ -113,46 +147,102 @@ Foam::label Foam::scotchDecomp::decompose
|
|||||||
check(SCOTCH_graphCheck(&grafdat), "SCOTCH_graphCheck");
|
check(SCOTCH_graphCheck(&grafdat), "SCOTCH_graphCheck");
|
||||||
|
|
||||||
|
|
||||||
|
// Dump graph
|
||||||
|
if (decompositionDict_.found("scotchCoeffs"))
|
||||||
|
{
|
||||||
|
const dictionary& scotchCoeffs =
|
||||||
|
decompositionDict_.subDict("scotchCoeffs");
|
||||||
|
|
||||||
//// Architecture
|
Switch writeGraph(scotchCoeffs.lookup("writeGraph"));
|
||||||
//// ~~~~~~~~~~~~
|
|
||||||
//// (fully connected network topology since using switch)
|
if (writeGraph)
|
||||||
//
|
{
|
||||||
//SCOTCH_Arch archdat;
|
OFstream str(mesh_.time().path() / mesh_.name() + ".grf");
|
||||||
//check(SCOTCH_archInit(&archdat), "SCOTCH_archInit");
|
|
||||||
//check
|
Info<< "Dumping Scotch graph file to " << str.name() << endl
|
||||||
//(
|
<< "Use this in combination with gpart." << endl;
|
||||||
// // SCOTCH_archCmpltw for weighted.
|
|
||||||
// SCOTCH_archCmplt(&archdat, nProcessors_),
|
label version = 0;
|
||||||
// "SCOTCH_archCmplt"
|
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_Mapping mapdat;
|
||||||
//SCOTCH_graphMapInit(&grafdat, &mapdat, &archdat, NULL);
|
//SCOTCH_graphMapInit(&grafdat, &mapdat, &archdat, NULL);
|
||||||
//SCOTCH_graphMapCompute(&grafdat, &mapdat, &stradat); /* Perform mapping */
|
//SCOTCH_graphMapCompute(&grafdat, &mapdat, &stradat); /* Perform mapping */
|
||||||
|
//SCOTCH_graphMapExit(&grafdat, &mapdat);
|
||||||
|
|
||||||
|
|
||||||
finalDecomp.setSize(xadj.size()-1);
|
finalDecomp.setSize(xadj.size()-1);
|
||||||
|
finalDecomp = 0;
|
||||||
check
|
check
|
||||||
(
|
(
|
||||||
SCOTCH_graphPart
|
SCOTCH_graphMap
|
||||||
(
|
(
|
||||||
&grafdat,
|
&grafdat,
|
||||||
nProcessors_, // partnbr
|
&archdat,
|
||||||
&stradat, // const SCOTCH_Strat *
|
&stradat, // const SCOTCH_Strat *
|
||||||
finalDecomp.begin() // parttab
|
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
|
// Release storage for graph
|
||||||
SCOTCH_graphExit(&grafdat);
|
SCOTCH_graphExit(&grafdat);
|
||||||
|
// Release storage for strategy
|
||||||
SCOTCH_stratExit(&stradat);
|
SCOTCH_stratExit(&stradat);
|
||||||
//// Release storage for network topology
|
// Release storage for network topology
|
||||||
//SCOTCH_archExit(&archdat);
|
SCOTCH_archExit(&archdat);
|
||||||
|
|
||||||
return 0;
|
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()
|
Foam::pointVectorField& Foam::motionSmoother::displacement()
|
||||||
{
|
{
|
||||||
return displacement_;
|
return displacement_;
|
||||||
|
|||||||
@ -327,6 +327,8 @@ public:
|
|||||||
//- Patch labels that are being adapted
|
//- Patch labels that are being adapted
|
||||||
const labelList& adaptPatchIDs() const;
|
const labelList& adaptPatchIDs() const;
|
||||||
|
|
||||||
|
const dictionary& paramDict() const;
|
||||||
|
|
||||||
//- Reference to displacement field
|
//- Reference to displacement field
|
||||||
pointVectorField& displacement();
|
pointVectorField& displacement();
|
||||||
|
|
||||||
|
|||||||
@ -90,10 +90,10 @@ void Foam::setRefCell
|
|||||||
" bool\n"
|
" bool\n"
|
||||||
")",
|
")",
|
||||||
dict
|
dict
|
||||||
)
|
) << "Unable to set reference cell for field " << field.name()
|
||||||
<< "Unable to set reference cell for field " << field.name()
|
<< nl << " Reference point " << refPointName
|
||||||
<< nl << " Reference point " << refPointName
|
<< " found on " << sumHasRef << " domains (should be one)"
|
||||||
<< " found on multiple domains" << nl << exit(FatalIOError);
|
<< nl << exit(FatalIOError);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -108,10 +108,10 @@ void Foam::setRefCell
|
|||||||
" bool\n"
|
" bool\n"
|
||||||
")",
|
")",
|
||||||
dict
|
dict
|
||||||
)
|
) << "Unable to set reference cell for field" << field.name()
|
||||||
<< "Unable to set reference cell for field" << field.name() << nl
|
<< nl
|
||||||
<< " Please supply either " << refCellName
|
<< " Please supply either " << refCellName
|
||||||
<< " or " << refPointName << nl << exit(FatalIOError);
|
<< " or " << refPointName << nl << exit(FatalIOError);
|
||||||
}
|
}
|
||||||
|
|
||||||
refValue = readScalar(dict.lookup(refValueName));
|
refValue = readScalar(dict.lookup(refValueName));
|
||||||
|
|||||||
@ -56,7 +56,7 @@ Foam::FitData<Form, extendedStencil, Polynomial>::FitData
|
|||||||
// Check input
|
// Check input
|
||||||
if (linearLimitFactor <= SMALL || linearLimitFactor > 3)
|
if (linearLimitFactor <= SMALL || linearLimitFactor > 3)
|
||||||
{
|
{
|
||||||
FatalErrorIn("FitData<Polynomial>::FitData")
|
FatalErrorIn("FitData<Polynomial>::FitData(..)")
|
||||||
<< "linearLimitFactor requested = " << linearLimitFactor
|
<< "linearLimitFactor requested = " << linearLimitFactor
|
||||||
<< " should be between zero and 3"
|
<< " should be between zero and 3"
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
@ -264,8 +264,7 @@ void Foam::FitData<FitDataType, ExtendedStencil, Polynomial>::calcFit
|
|||||||
// {
|
// {
|
||||||
WarningIn
|
WarningIn
|
||||||
(
|
(
|
||||||
"FitData<Polynomial>::calcFit"
|
"FitData<Polynomial>::calcFit(..)"
|
||||||
"(const List<point>& C, const label facei"
|
|
||||||
) << "Could not fit face " << facei
|
) << "Could not fit face " << facei
|
||||||
<< " Weights = " << coeffsi
|
<< " Weights = " << coeffsi
|
||||||
<< ", reverting to linear." << nl
|
<< ", reverting to linear." << nl
|
||||||
|
|||||||
@ -213,13 +213,12 @@ void pointPatchInterpolation::makePatchPatchWeights()
|
|||||||
|
|
||||||
if (!isA<emptyFvPatch>(bm[patchi]) && !bm[patchi].coupled())
|
if (!isA<emptyFvPatch>(bm[patchi]) && !bm[patchi].coupled())
|
||||||
{
|
{
|
||||||
pw[nFacesAroundPoint] =
|
vector d =
|
||||||
1.0/mag
|
pointLoc
|
||||||
(
|
- centres.boundaryField()[patchi]
|
||||||
pointLoc
|
[bm[patchi].patch().whichFace(curFaces[facei])];
|
||||||
- centres.boundaryField()[patchi]
|
|
||||||
[bm[patchi].patch().whichFace(curFaces[facei])]
|
pw[nFacesAroundPoint] = 1.0/(mag(d)+VSMALL);
|
||||||
);
|
|
||||||
|
|
||||||
nFacesAroundPoint++;
|
nFacesAroundPoint++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,7 @@ scalar magVRel = mag(vRel);
|
|||||||
vector p = p2().position() - p1().position();
|
vector p = p2().position() - p1().position();
|
||||||
scalar dist = mag(p);
|
scalar dist = mag(p);
|
||||||
|
|
||||||
scalar vAlign = vRel & (p/dist);
|
scalar vAlign = vRel & (p/(dist+SMALL));
|
||||||
|
|
||||||
if (vAlign > 0)
|
if (vAlign > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -367,6 +367,8 @@ void Foam::FreeStream<CloudType>::inflow()
|
|||||||
rndGen.GaussNormal()*t1
|
rndGen.GaussNormal()*t1
|
||||||
+ rndGen.GaussNormal()*t2
|
+ rndGen.GaussNormal()*t2
|
||||||
)
|
)
|
||||||
|
+ (t1 & faceVelocity)*t1
|
||||||
|
+ (t2 & faceVelocity)*t2
|
||||||
+ mostProbableSpeed*uNormal*n;
|
+ mostProbableSpeed*uNormal*n;
|
||||||
|
|
||||||
scalar Ei = cloud.equipartitionInternalEnergy
|
scalar Ei = cloud.equipartitionInternalEnergy
|
||||||
|
|||||||
@ -323,10 +323,10 @@ void Foam::cellClassification::markCells
|
|||||||
MeshWave<cellInfo> cellInfoCalc
|
MeshWave<cellInfo> cellInfoCalc
|
||||||
(
|
(
|
||||||
mesh_,
|
mesh_,
|
||||||
changedFaces, // Labels of changed faces
|
changedFaces, // Labels of changed faces
|
||||||
changedFacesInfo, // Information on changed faces
|
changedFacesInfo, // Information on changed faces
|
||||||
cellInfoList, // Information on all cells
|
cellInfoList, // Information on all cells
|
||||||
mesh_.nCells() // max iterations
|
mesh_.globalData().nTotalCells() // max iterations
|
||||||
);
|
);
|
||||||
|
|
||||||
// Get information out of cellInfoList
|
// Get information out of cellInfoList
|
||||||
|
|||||||
@ -226,7 +226,7 @@ void Foam::patchDataWave<TransferType>::correct()
|
|||||||
mesh(),
|
mesh(),
|
||||||
changedFaces,
|
changedFaces,
|
||||||
faceDist,
|
faceDist,
|
||||||
mesh().nCells() // max iterations
|
mesh().globalData().nTotalCells() // max iterations
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -28,7 +28,7 @@ License
|
|||||||
#include "polyMesh.H"
|
#include "polyMesh.H"
|
||||||
#include "wallPoint.H"
|
#include "wallPoint.H"
|
||||||
#include "MeshWave.H"
|
#include "MeshWave.H"
|
||||||
|
#include "globalMeshData.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ void Foam::patchWave::correct()
|
|||||||
mesh(),
|
mesh(),
|
||||||
changedFaces,
|
changedFaces,
|
||||||
faceDist,
|
faceDist,
|
||||||
mesh().nCells() // max iterations
|
mesh().globalData().nTotalCells() // max iterations
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -132,7 +132,7 @@ bool Foam::triangleFuncs::intersectAxesBundle
|
|||||||
scalar beta = 0;
|
scalar beta = 0;
|
||||||
bool inter = false;
|
bool inter = false;
|
||||||
|
|
||||||
if (Foam::mag(u1) < SMALL)
|
if (Foam::mag(u1) < ROOTVSMALL)
|
||||||
{
|
{
|
||||||
beta = u0/u2;
|
beta = u0/u2;
|
||||||
if ((beta >= 0) && (beta <= 1))
|
if ((beta >= 0) && (beta <= 1))
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
EXE_INC = \
|
EXE_INC = \
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude
|
||||||
-I$(LIB_SRC)/thermophysicalModels/combustion/lnInclude \
|
|
||||||
-I$(LIB_SRC)/OpenFOAM/lnInclude \
|
|
||||||
-I radiationModel/fvDOM/interpolationLookUpTable
|
|
||||||
|
|
||||||
LIB_LIBS = \
|
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();
|
IRay_[rayI].addIntensity();
|
||||||
G_ += IRay_[rayI].I()*IRay_[rayI].omega();
|
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()
|
Foam::scalar Foam::radiation::radiativeIntensityRay::correct()
|
||||||
{
|
{
|
||||||
// reset boundary heat flux to zero
|
// 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;
|
scalar maxResidual = -GREAT;
|
||||||
|
|
||||||
|
|||||||
@ -138,7 +138,7 @@ void smoothDelta::calcDelta()
|
|||||||
changedFacesInfo,
|
changedFacesInfo,
|
||||||
faceDeltaData,
|
faceDeltaData,
|
||||||
cellDeltaData,
|
cellDeltaData,
|
||||||
mesh_.nCells() // max iterations
|
mesh_.globalData().nTotalCells() // max iterations
|
||||||
);
|
);
|
||||||
|
|
||||||
forAll(delta_, cellI)
|
forAll(delta_, cellI)
|
||||||
|
|||||||
@ -14,6 +14,6 @@ SpalartAllmaras/SpalartAllmaras.C
|
|||||||
wallFunctions=derivedFvPatchFields/wallFunctions
|
wallFunctions=derivedFvPatchFields/wallFunctions
|
||||||
|
|
||||||
muSgsWallFunctions=$(wallFunctions)/muSgsWallFunctions
|
muSgsWallFunctions=$(wallFunctions)/muSgsWallFunctions
|
||||||
$(muSgsWallFunctions)/muSgsSpalartAllmarasWallFunction/muSgsSpalartAllmarasWallFunctionFvPatchScalarField.C
|
$(muSgsWallFunctions)/muSgsWallFunction/muSgsWallFunctionFvPatchScalarField.C
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libcompressibleLESModels
|
LIB = $(FOAM_LIBBIN)/libcompressibleLESModels
|
||||||
|
|||||||
@ -24,7 +24,7 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "muSgsSpalartAllmarasWallFunctionFvPatchScalarField.H"
|
#include "muSgsWallFunctionFvPatchScalarField.H"
|
||||||
#include "LESModel.H"
|
#include "LESModel.H"
|
||||||
#include "fvPatchFieldMapper.H"
|
#include "fvPatchFieldMapper.H"
|
||||||
#include "volFields.H"
|
#include "volFields.H"
|
||||||
@ -41,8 +41,8 @@ namespace LESModels
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
@ -52,10 +52,10 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField& ptf,
|
const muSgsWallFunctionFvPatchScalarField& ptf,
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
const fvPatchFieldMapper& mapper
|
const fvPatchFieldMapper& mapper
|
||||||
@ -65,8 +65,8 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
@ -77,8 +77,8 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
@ -89,20 +89,20 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField& tppsf
|
const muSgsWallFunctionFvPatchScalarField& tppsf
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(tppsf)
|
fixedValueFvPatchScalarField(tppsf)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
muSgsWallFunctionFvPatchScalarField::
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField& tppsf,
|
const muSgsWallFunctionFvPatchScalarField& tppsf,
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
@ -112,7 +112,7 @@ muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
void muSgsSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
|
void muSgsWallFunctionFvPatchScalarField::evaluate
|
||||||
(
|
(
|
||||||
const Pstream::commsTypes
|
const Pstream::commsTypes
|
||||||
)
|
)
|
||||||
@ -193,7 +193,7 @@ void muSgsSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
|
|||||||
makePatchTypeField
|
makePatchTypeField
|
||||||
(
|
(
|
||||||
fvPatchScalarField,
|
fvPatchScalarField,
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
);
|
);
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -24,18 +24,18 @@ License
|
|||||||
|
|
||||||
Class
|
Class
|
||||||
Foam::compressible::LESModels::
|
Foam::compressible::LESModels::
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Spalart Allmaas wall function boundary condition for compressible flows
|
Spalart Allmaas wall function boundary condition for compressible flows
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField.C
|
muSgsWallFunctionFvPatchScalarField.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef muSgsSpalartAllmarasWallFunctionFvPatchScalarField_H
|
#ifndef muSgsWallFunctionFvPatchScalarField_H
|
||||||
#define muSgsSpalartAllmarasWallFunctionFvPatchScalarField_H
|
#define muSgsWallFunctionFvPatchScalarField_H
|
||||||
|
|
||||||
#include "fixedValueFvPatchFields.H"
|
#include "fixedValueFvPatchFields.H"
|
||||||
|
|
||||||
@ -49,10 +49,10 @@ namespace LESModels
|
|||||||
{
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Class muSgsSpalartAllmarasWallFunctionFvPatchScalarField Declaration
|
Class muSgsWallFunctionFvPatchScalarField Declaration
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
class muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
class muSgsWallFunctionFvPatchScalarField
|
||||||
:
|
:
|
||||||
public fixedValueFvPatchScalarField
|
public fixedValueFvPatchScalarField
|
||||||
{
|
{
|
||||||
@ -62,20 +62,20 @@ class muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
//- Runtime type information
|
//- Runtime type information
|
||||||
TypeName("muSgsSpalartAllmarasWallFunction");
|
TypeName("muSgsWallFunction");
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from patch and internal field
|
//- Construct from patch and internal field
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch&,
|
const fvPatch&,
|
||||||
const DimensionedField<scalar, volMesh>&
|
const DimensionedField<scalar, volMesh>&
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct from patch, internal field and Istream
|
//- Construct from patch, internal field and Istream
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch&,
|
const fvPatch&,
|
||||||
const DimensionedField<scalar, volMesh>&,
|
const DimensionedField<scalar, volMesh>&,
|
||||||
@ -83,7 +83,7 @@ public:
|
|||||||
);
|
);
|
||||||
|
|
||||||
//- Construct from patch, internal field and dictionary
|
//- Construct from patch, internal field and dictionary
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch&,
|
const fvPatch&,
|
||||||
const DimensionedField<scalar, volMesh>&,
|
const DimensionedField<scalar, volMesh>&,
|
||||||
@ -91,20 +91,20 @@ public:
|
|||||||
);
|
);
|
||||||
|
|
||||||
//- Construct by mapping given
|
//- Construct by mapping given
|
||||||
// muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
// muSgsWallFunctionFvPatchScalarField
|
||||||
// onto a new patch
|
// onto a new patch
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField&,
|
const muSgsWallFunctionFvPatchScalarField&,
|
||||||
const fvPatch&,
|
const fvPatch&,
|
||||||
const DimensionedField<scalar, volMesh>&,
|
const DimensionedField<scalar, volMesh>&,
|
||||||
const fvPatchFieldMapper&
|
const fvPatchFieldMapper&
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct as copy
|
//- Construct as copy
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField&
|
const muSgsWallFunctionFvPatchScalarField&
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct and return a clone
|
//- Construct and return a clone
|
||||||
@ -112,14 +112,14 @@ public:
|
|||||||
{
|
{
|
||||||
return tmp<fvPatchScalarField>
|
return tmp<fvPatchScalarField>
|
||||||
(
|
(
|
||||||
new muSgsSpalartAllmarasWallFunctionFvPatchScalarField(*this)
|
new muSgsWallFunctionFvPatchScalarField(*this)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//- Construct as copy setting internal field reference
|
//- Construct as copy setting internal field reference
|
||||||
muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const muSgsSpalartAllmarasWallFunctionFvPatchScalarField&,
|
const muSgsWallFunctionFvPatchScalarField&,
|
||||||
const DimensionedField<scalar, volMesh>&
|
const DimensionedField<scalar, volMesh>&
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -131,7 +131,7 @@ public:
|
|||||||
{
|
{
|
||||||
return tmp<fvPatchScalarField>
|
return tmp<fvPatchScalarField>
|
||||||
(
|
(
|
||||||
new muSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
new muSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
*this,
|
*this,
|
||||||
iF
|
iF
|
||||||
@ -32,7 +32,7 @@ kOmegaSSTSAS/kOmegaSSTSAS.C
|
|||||||
wallFunctions=derivedFvPatchFields/wallFunctions
|
wallFunctions=derivedFvPatchFields/wallFunctions
|
||||||
|
|
||||||
nuSgsWallFunctions=$(wallFunctions)/nuSgsWallFunctions
|
nuSgsWallFunctions=$(wallFunctions)/nuSgsWallFunctions
|
||||||
$(nuSgsWallFunctions)/nuSgsSpalartAllmarasWallFunction/nuSgsSpalartAllmarasWallFunctionFvPatchScalarField.C
|
$(nuSgsWallFunctions)/nuSgsWallFunction/nuSgsWallFunctionFvPatchScalarField.C
|
||||||
|
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libincompressibleLESModels
|
LIB = $(FOAM_LIBBIN)/libincompressibleLESModels
|
||||||
|
|||||||
@ -24,7 +24,7 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "nuSgsSpalartAllmarasWallFunctionFvPatchScalarField.H"
|
#include "nuSgsWallFunctionFvPatchScalarField.H"
|
||||||
#include "LESModel.H"
|
#include "LESModel.H"
|
||||||
#include "fvPatchFieldMapper.H"
|
#include "fvPatchFieldMapper.H"
|
||||||
#include "volFields.H"
|
#include "volFields.H"
|
||||||
@ -41,8 +41,8 @@ namespace LESModels
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
nuSgsWallFunctionFvPatchScalarField::
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
@ -52,10 +52,10 @@ nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
nuSgsWallFunctionFvPatchScalarField::
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField& ptf,
|
const nuSgsWallFunctionFvPatchScalarField& ptf,
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
const fvPatchFieldMapper& mapper
|
const fvPatchFieldMapper& mapper
|
||||||
@ -65,8 +65,8 @@ nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
nuSgsWallFunctionFvPatchScalarField::
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch& p,
|
const fvPatch& p,
|
||||||
const DimensionedField<scalar, volMesh>& iF,
|
const DimensionedField<scalar, volMesh>& iF,
|
||||||
@ -77,20 +77,20 @@ nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
nuSgsWallFunctionFvPatchScalarField::
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField& tppsf
|
const nuSgsWallFunctionFvPatchScalarField& tppsf
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
fixedValueFvPatchScalarField(tppsf)
|
fixedValueFvPatchScalarField(tppsf)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::
|
nuSgsWallFunctionFvPatchScalarField::
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField& tppsf,
|
const nuSgsWallFunctionFvPatchScalarField& tppsf,
|
||||||
const DimensionedField<scalar, volMesh>& iF
|
const DimensionedField<scalar, volMesh>& iF
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
@ -100,7 +100,7 @@ nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
void nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
|
void nuSgsWallFunctionFvPatchScalarField::evaluate
|
||||||
(
|
(
|
||||||
const Pstream::commsTypes
|
const Pstream::commsTypes
|
||||||
)
|
)
|
||||||
@ -174,7 +174,7 @@ void nuSgsSpalartAllmarasWallFunctionFvPatchScalarField::evaluate
|
|||||||
makePatchTypeField
|
makePatchTypeField
|
||||||
(
|
(
|
||||||
fvPatchScalarField,
|
fvPatchScalarField,
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
);
|
);
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -24,18 +24,18 @@ License
|
|||||||
|
|
||||||
Class
|
Class
|
||||||
Foam::incompressible::LESModels::
|
Foam::incompressible::LESModels::
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Spalart Allmaras wall function boundary condition for incompressible flows
|
Spalart Allmaras wall function boundary condition for incompressible flows
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField.C
|
nuSgsWallFunctionFvPatchScalarField.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef nuSgsSpalartAllmarasWallFunctionFvPatchScalarField_H
|
#ifndef nuSgsWallFunctionFvPatchScalarField_H
|
||||||
#define nuSgsSpalartAllmarasWallFunctionFvPatchScalarField_H
|
#define nuSgsWallFunctionFvPatchScalarField_H
|
||||||
|
|
||||||
#include "fixedValueFvPatchFields.H"
|
#include "fixedValueFvPatchFields.H"
|
||||||
|
|
||||||
@ -49,10 +49,10 @@ namespace LESModels
|
|||||||
{
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Class nuSgsSpalartAllmarasWallFunctionFvPatchScalarField Declaration
|
Class nuSgsWallFunctionFvPatchScalarField Declaration
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
class nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
class nuSgsWallFunctionFvPatchScalarField
|
||||||
:
|
:
|
||||||
public fixedValueFvPatchScalarField
|
public fixedValueFvPatchScalarField
|
||||||
{
|
{
|
||||||
@ -62,20 +62,20 @@ class nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
//- Runtime type information
|
//- Runtime type information
|
||||||
TypeName("nuSgsSpalartAllmarasWallFunction");
|
TypeName("nuSgsWallFunction");
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from patch and internal field
|
//- Construct from patch and internal field
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch&,
|
const fvPatch&,
|
||||||
const DimensionedField<scalar, volMesh>&
|
const DimensionedField<scalar, volMesh>&
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct from patch, internal field and dictionary
|
//- Construct from patch, internal field and dictionary
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const fvPatch&,
|
const fvPatch&,
|
||||||
const DimensionedField<scalar, volMesh>&,
|
const DimensionedField<scalar, volMesh>&,
|
||||||
@ -83,20 +83,20 @@ public:
|
|||||||
);
|
);
|
||||||
|
|
||||||
//- Construct by mapping given
|
//- Construct by mapping given
|
||||||
// nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
// nuSgsWallFunctionFvPatchScalarField
|
||||||
// onto a new patch
|
// onto a new patch
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField&,
|
const nuSgsWallFunctionFvPatchScalarField&,
|
||||||
const fvPatch&,
|
const fvPatch&,
|
||||||
const DimensionedField<scalar, volMesh>&,
|
const DimensionedField<scalar, volMesh>&,
|
||||||
const fvPatchFieldMapper&
|
const fvPatchFieldMapper&
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct as copy
|
//- Construct as copy
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField&
|
const nuSgsWallFunctionFvPatchScalarField&
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct and return a clone
|
//- Construct and return a clone
|
||||||
@ -104,14 +104,14 @@ public:
|
|||||||
{
|
{
|
||||||
return tmp<fvPatchScalarField>
|
return tmp<fvPatchScalarField>
|
||||||
(
|
(
|
||||||
new nuSgsSpalartAllmarasWallFunctionFvPatchScalarField(*this)
|
new nuSgsWallFunctionFvPatchScalarField(*this)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//- Construct as copy setting internal field reference
|
//- Construct as copy setting internal field reference
|
||||||
nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
const nuSgsSpalartAllmarasWallFunctionFvPatchScalarField&,
|
const nuSgsWallFunctionFvPatchScalarField&,
|
||||||
const DimensionedField<scalar, volMesh>&
|
const DimensionedField<scalar, volMesh>&
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ public:
|
|||||||
{
|
{
|
||||||
return tmp<fvPatchScalarField>
|
return tmp<fvPatchScalarField>
|
||||||
(
|
(
|
||||||
new nuSgsSpalartAllmarasWallFunctionFvPatchScalarField
|
new nuSgsWallFunctionFvPatchScalarField
|
||||||
(
|
(
|
||||||
*this,
|
*this,
|
||||||
iF
|
iF
|
||||||
@ -23,25 +23,25 @@ boundaryField
|
|||||||
{
|
{
|
||||||
floor
|
floor
|
||||||
{
|
{
|
||||||
type epsilonWallFunction;
|
type compressible::epsilonWallFunction;
|
||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ceiling
|
ceiling
|
||||||
{
|
{
|
||||||
type epsilonWallFunction;
|
type compressible::epsilonWallFunction;
|
||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
fixedWalls
|
fixedWalls
|
||||||
{
|
{
|
||||||
type epsilonWallFunction;
|
type compressible::epsilonWallFunction;
|
||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
box
|
box
|
||||||
{
|
{
|
||||||
type epsilonWallFunction;
|
type compressible::epsilonWallFunction;
|
||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,25 +23,25 @@ boundaryField
|
|||||||
{
|
{
|
||||||
floor
|
floor
|
||||||
{
|
{
|
||||||
type kQRWallFunction;
|
type compressible::kQRWallFunction;
|
||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ceiling
|
ceiling
|
||||||
{
|
{
|
||||||
type kQRWallFunction;
|
type compressible::kQRWallFunction;
|
||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
fixedWalls
|
fixedWalls
|
||||||
{
|
{
|
||||||
type kQRWallFunction;
|
type compressible::kQRWallFunction;
|
||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
box
|
box
|
||||||
{
|
{
|
||||||
type kQRWallFunction;
|
type compressible::kQRWallFunction;
|
||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
cDBUG =
|
cDBUG =
|
||||||
cOPT = -O3 -fno-gcse
|
cOPT = -O3
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
cDBUG =
|
cDBUG =
|
||||||
cOPT = -O3 -fno-gcse
|
cOPT = -O3
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
c++DBUG =
|
c++DBUG =
|
||||||
c++OPT = -march=opteron -O3
|
c++OPT = -O3
|
||||||
#c++OPT = -march=nocona -O3
|
#c++OPT = -march=nocona -O3
|
||||||
# -ftree-vectorize -ftree-vectorizer-verbose=3
|
# -ftree-vectorize -ftree-vectorizer-verbose=3
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
cDBUG =
|
cDBUG =
|
||||||
cOPT = -march=opteron -O3 -fno-gcse
|
cOPT = -O3
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
CPP = /lib/cpp $(GFLAGS)
|
CPP = /lib/cpp $(GFLAGS)
|
||||||
LD = ld -A64
|
LD = ld
|
||||||
|
|
||||||
PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl
|
PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
c++DBUG =
|
c++DBUG =
|
||||||
c++OPT = -march=opteron -O3
|
c++OPT = -O3
|
||||||
#c++OPT = -march=nocona -O3
|
#c++OPT = -march=nocona -O3
|
||||||
# -ftree-vectorize -ftree-vectorizer-verbose=3
|
# -ftree-vectorize -ftree-vectorizer-verbose=3
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
cDBUG =
|
cDBUG =
|
||||||
cOPT = -march=opteron -O3 -fno-gcse
|
cOPT = -O3
|
||||||
|
|||||||
@ -8,7 +8,7 @@ include $(RULES)/c++$(WM_COMPILE_OPTION)
|
|||||||
|
|
||||||
ptFLAGS = -DNoRepository -ftemplate-depth-40
|
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 $@
|
Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@
|
||||||
cxxtoo = $(Ctoo)
|
cxxtoo = $(Ctoo)
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
cDBUG = -ggdb -DFULLDEBUG
|
cDBUG = -ggdb -DFULLDEBUG
|
||||||
cOPT = -O1 -finline-functions
|
cOPT = -O1 -fdefault-inline -finline-functions
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
CPP = /lib/cpp $(GFLAGS)
|
CPP = /lib/cpp $(GFLAGS)
|
||||||
LD = ld -melf_i386
|
LD = ld -melf_i386
|
||||||
|
|
||||||
PROJECT_LIBS = -l$(WM_PROJECT) -ldl
|
PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl
|
||||||
|
|
||||||
include $(GENERAL_RULES)/standard
|
include $(GENERAL_RULES)/standard
|
||||||
|
|
||||||
include $(RULES)/X
|
include $(RULES)/X
|
||||||
include $(RULES)/c
|
include $(RULES)/c
|
||||||
include $(RULES)/c++
|
include $(RULES)/c++
|
||||||
|
include $(GENERAL_RULES)/cint
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
cDBUG =
|
cDBUG =
|
||||||
cOPT = -O3 -fno-gcse
|
cOPT = -O3
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
cDBUG =
|
cDBUG =
|
||||||
cOPT = -O3 -fno-gcse
|
cOPT = -O3
|
||||||
|
|||||||
Reference in New Issue
Block a user