42 namespace patchDistMethods
51 Foam::patchDistMethods::meshWave::meshWave
59 correctWalls_(
dict.getOrDefault(
"correctWalls", true)),
64 Foam::patchDistMethods::meshWave::meshWave
68 const bool correctWalls
72 correctWalls_(correctWalls),
87 y.transfer(wave.distance());
94 if (!isA<emptyFvPatchScalarField>(ybf[patchi]))
96 scalarField& waveFld = wave.patchDistance()[patchi];
103 y.correctBoundaryConditions();
127 patchData.set(patchi, &nbf[patchi]);
140 y.transfer(wave.distance());
142 n.transfer(wave.cellData());
149 scalarField& waveFld = wave.patchDistance()[patchi];
151 if (!isA<emptyFvPatchScalarField>(ybf[patchi]))
155 vectorField& wavePatchData = wave.patchData()[patchi];
157 nbf[patchi].
transfer(wavePatchData);
162 y.correctBoundaryConditions();
163 n.correctBoundaryConditions();
166 nUnset_ = wave.nUnset();
const labelList patchIDs(pbm.indices(polyPatchNames, true))
Fast topological mesh-wave method for calculating the distance to nearest patch for all cells and bou...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
const bool correctWalls_
Do accurate distance calculation for near-wall cells.
addToRunTimeSelectionTable(patchDistMethod, advectionDiffusion, dictionary)
label nUnset_
Number of unset cells and faces.
virtual bool correct(volScalarField &y)
Correct the given distance-to-patch field.
Macros for easy insertion into run-time selection tables.
const fvMesh & mesh_
Reference to the mesh.
Takes a set of patches to start MeshWave from.
#define forAll(list, i)
Loop across all elements in list.
Takes a set of patches to start MeshWave from. After construction holds distance at cells and distanc...
void transfer(UPtrList< T > &list)
Transfer contents into this list and annul the argument.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Mesh data needed to do the Finite Volume discretisation.
defineTypeNameAndDebug(advectionDiffusion, 0)
const labelHashSet patchIDs_
Set of patch IDs.
void transfer(PtrList< T > &list)
Transfer into this list and annul the argument list.
Specialisation of patchDist for wall distance calculation.