Fast topological mesh-wave method for calculating the distance to nearest patch for all cells and boundary. More...
Public Member Functions | |
TypeName ("meshWave") | |
Runtime type information. More... | |
meshWave (const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs) | |
Construct from coefficients dictionary, mesh. More... | |
meshWave (const fvMesh &mesh, const labelHashSet &patchIDs, const bool correctWalls=true) | |
Construct from mesh, fixed-value patch set and flag specifying. More... | |
meshWave (const meshWave &)=delete | |
Disallow default bitwise copy construction. More... | |
label | nUnset () const |
virtual bool | correct (volScalarField &y) |
Correct the given distance-to-patch field. More... | |
virtual bool | correct (volScalarField &y, volVectorField &n) |
Correct the given distance-to-patch and normal-to-patch fields. More... | |
void | operator= (const meshWave &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from patchDistMethod | |
TypeName ("patchDistMethod") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, patchDistMethod, dictionary,(const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs),(dict, mesh, patchIDs)) | |
patchDistMethod (const fvMesh &mesh, const labelHashSet &patchIDs) | |
Construct from mesh and patch ID set. More... | |
patchDistMethod (const patchDistMethod &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~patchDistMethod () |
Destructor. More... | |
const labelHashSet & | patchIDs () const |
Return the patchIDs. More... | |
virtual bool | movePoints () |
Update cached geometry when the mesh moves. More... | |
virtual void | updateMesh (const mapPolyMesh &) |
Update cached topology and geometry when the mesh changes. More... | |
void | operator= (const patchDistMethod &)=delete |
Disallow default bitwise assignment. More... | |
template<class Type > | |
Foam::wordList | patchTypes (const fvMesh &mesh, const labelHashSet &patchIDs) |
Additional Inherited Members | |
Static Public Member Functions inherited from patchDistMethod | |
static autoPtr< patchDistMethod > | New (const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs) |
template<class Type > | |
static wordList | patchTypes (const fvMesh &mesh, const labelHashSet &patchIDs) |
Return the patch types for y and n. More... | |
Protected Attributes inherited from patchDistMethod | |
const fvMesh & | mesh_ |
Reference to the mesh. More... | |
const labelHashSet | patchIDs_ |
Set of patch IDs. More... | |
Fast topological mesh-wave method for calculating the distance to nearest patch for all cells and boundary.
For regular/un-distorted meshes this method is accurate but for skewed, non-orthogonal meshes it is approximate with the error increasing with the degree of mesh distortion. The distance from the near-wall cells to the boundary may optionally be corrected for mesh distortion by setting correctWalls = true.
Example of the wallDist specification in fvSchemes:
wallDist { method meshWave; // Optional entry enabling the calculation // of the normal-to-wall field nRequired false; }
Definition at line 73 of file meshWavePatchDistMethod.H.
meshWave | ( | const dictionary & | dict, |
const fvMesh & | mesh, | ||
const labelHashSet & | patchIDs | ||
) |
Construct from coefficients dictionary, mesh.
and fixed-value patch set
Definition at line 49 of file meshWavePatchDistMethod.C.
meshWave | ( | const fvMesh & | mesh, |
const labelHashSet & | patchIDs, | ||
const bool | correctWalls = true |
||
) |
Construct from mesh, fixed-value patch set and flag specifying.
whether or not to correct wall. Calculate for all cells. correctWalls : correct wall (face&point) cells for correct distance, searching neighbours.
Definition at line 62 of file meshWavePatchDistMethod.C.
TypeName | ( | "meshWave" | ) |
Runtime type information.
|
inline |
Definition at line 120 of file meshWavePatchDistMethod.H.
References meshWave::correct(), n, meshWave::operator=(), and y.
|
virtual |
Correct the given distance-to-patch field.
Implements patchDistMethod.
Definition at line 76 of file meshWavePatchDistMethod.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), Foam::dimLength, patchWave::distance(), forAll, patchWave::nUnset(), patchWave::patchDistance(), patchi, and List< T >::transfer().
Referenced by meshWave::nUnset().
|
virtual |
Correct the given distance-to-patch and normal-to-patch fields.
Implements patchDistMethod.
Definition at line 107 of file meshWavePatchDistMethod.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), patchDataWave< TransferType >::cellData(), GeometricField< Type, PatchField, GeoMesh >::correctBoundaryConditions(), Foam::dimLength, patchDataWave< TransferType >::distance(), forAll, patchDataWave< TransferType >::nUnset(), patchDataWave< TransferType >::patchData(), patchDataWave< TransferType >::patchDistance(), patchi, UPtrList< T >::transfer(), and List< T >::transfer().
|
delete |
Disallow default bitwise assignment.
Referenced by meshWave::nUnset().