51Foam::patchDistMethods::meshWave::meshWave
64Foam::patchDistMethods::meshWave::meshWave
68 const bool correctWalls
87 y.transfer(wave.distance());
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];
155 vectorField& wavePatchData = wave.patchData()[patchi];
157 nbf[patchi].
transfer(wavePatchData);
162 y.correctBoundaryConditions();
163 n.correctBoundaryConditions();
166 nUnset_ = wave.nUnset();
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
GeometricBoundaryField< scalar, fvPatchField, volMesh > Boundary
void transfer(PtrList< T > &list)
Transfer into this list and annul the argument list.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
const T * set(const label i) const
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie,...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
Takes a set of patches to start MeshWave from.
const FieldField< Field, scalar > & patchDistance() const
const Field< Type > & cellData() const
const FieldField< Field, Type > & patchData() const
const scalarField & distance() const
Specialisation of patchDist for wall distance calculation.
const fvMesh & mesh_
Reference to the mesh.
patchDistMethod(const patchDistMethod &)=delete
No copy construct.
const labelHashSet patchIDs_
Set of patch IDs.
const labelHashSet & patchIDs() const
Return the patchIDs.
Fast topological mesh-wave method for calculating the distance to nearest patch for all cells and bou...
label nUnset_
Number of unset cells and faces.
const bool correctWalls_
Do accurate distance calculation for near-wall cells.
virtual bool correct(volScalarField &y)
Correct the given distance-to-patch field.
Takes a set of patches to start MeshWave from. After construction holds distance at cells and distanc...
const FieldField< Field, scalar > & patchDistance() const
const scalarField & distance() const
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
GeometricField< vector, fvPatchField, volMesh > volVectorField
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const Type * isA(const U &obj)
Attempt dynamic_cast to Type.
Field< vector > vectorField
Specialisation of Field<T> for vector.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
#define forAll(list, i)
Loop across all elements in list.