54Foam::patchDistMethods::directionalMeshWave::directionalMeshWave
116 patchData.set(patchi, &nbf[patchi]);
122 patchDataWave<directionalWallPointData<vector>,
vector> wave
132 y.transfer(wave.distance());
134 n.transfer(wave.cellData());
141 scalarField& waveFld = wave.patchDistance()[patchi];
145 ybf[patchi].transfer(waveFld);
147 vectorField& wavePatchData = wave.patchData()[patchi];
149 nbf[patchi].
transfer(wavePatchData);
154 y.correctBoundaryConditions();
155 n.correctBoundaryConditions();
158 this->nUnset_ = wave.nUnset();
160 return this->nUnset_ > 0;
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
GeometricBoundaryField< vector, fvPatchField, volMesh > Boundary
@ NO_REGISTER
Do not request registration (bool: false).
@ NO_READ
Nothing to be read.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
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.
const fvBoundaryMesh & boundary() const noexcept
Return reference to boundary mesh.
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.
const labelHashSet patchIDs_
Set of patch IDs.
static wordList patchTypes(const fvMesh &mesh, const labelHashSet &patchIDs)
Return the patch types for y and n.
const labelHashSet & patchIDs() const
Return the patchIDs.
Variant of meshWave distance-to-patch method.
virtual bool correct(volScalarField &y)
Correct the given distance-to-patch field.
label nUnset_
Number of unset cells and faces.
const bool correctWalls_
Do accurate distance calculation for near-wall cells.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
const polyBoundaryMesh & patches
GeometricField< vector, fvPatchField, volMesh > volVectorField
const dimensionSet dimless
Dimensionless.
PtrList< fvPatch > fvPatchList
Store lists of fvPatch as a PtrList.
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.
static constexpr const zero Zero
Global zero (0).
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
#define forAll(list, i)
Loop across all elements in list.