Fast topological mesh-wave method for calculating the distance to nearest patch for all cells and boundary. More...
Public Member Functions | |
TypeName ("meshWave") | |
meshWave (const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs) | |
meshWave (const fvMesh &mesh, const labelHashSet &patchIDs, const bool correctWalls=true) | |
virtual bool | correct (volScalarField &y) |
virtual bool | correct (volScalarField &y, volVectorField &n) |
![]() | |
TypeName ("patchDistMethod") | |
declareRunTimeSelectionTable (autoPtr, patchDistMethod, dictionary,(const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs),(dict, mesh, patchIDs)) | |
patchDistMethod (const fvMesh &mesh, const labelHashSet &patchIDs) | |
virtual | ~patchDistMethod () |
const labelHashSet & | patchIDs () const |
virtual bool | movePoints () |
virtual void | updateMesh (const mapPolyMesh &) |
template<class Type > | |
Foam::wordList | patchTypes (const fvMesh &mesh, const labelHashSet &patchIDs) |
Protected Attributes | |
const bool | correctWalls_ |
label | nUnset_ |
![]() | |
const fvMesh & | mesh_ |
const labelHashSet | patchIDs_ |
Additional Inherited Members | |
![]() | |
static autoPtr< patchDistMethod > | New (const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs, const word &defaultPatchDistMethod=word::null) |
template<class Type > | |
static wordList | patchTypes (const fvMesh &mesh, const labelHashSet &patchIDs) |
![]() | |
patchDistMethod (const patchDistMethod &)=delete | |
void | operator= (const patchDistMethod &)=delete |
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 72 of file meshWavePatchDistMethod.H.
meshWave | ( | const dictionary & | dict, |
const fvMesh & | mesh, | ||
const labelHashSet & | patchIDs | ||
) |
Definition at line 45 of file meshWavePatchDistMethod.C.
meshWave | ( | const fvMesh & | mesh, |
const labelHashSet & | patchIDs, | ||
const bool | correctWalls = true |
||
) |
Definition at line 58 of file meshWavePatchDistMethod.C.
TypeName | ( | "meshWave" | ) |
|
virtual |
Implements patchDistMethod.
Reimplemented in directionalMeshWave.
Definition at line 72 of file meshWavePatchDistMethod.C.
References meshWave::correctWalls_, Foam::dimLength, patchWave::distance(), forAll, patchDistMethod::mesh_, patchWave::nUnset(), meshWave::nUnset_, patchWave::patchDistance(), patchDistMethod::patchIDs_, and y.
|
virtual |
Implements patchDistMethod.
Reimplemented in directionalMeshWave.
Definition at line 103 of file meshWavePatchDistMethod.C.
References patchDataWave< TransferType, TrackingData >::cellData(), Foam::dimLength, patchDataWave< TransferType, TrackingData >::distance(), forAll, n, patchDataWave< TransferType, TrackingData >::nUnset(), patchDataWave< TransferType, TrackingData >::patchData(), patchDataWave< TransferType, TrackingData >::patchDistance(), UPtrList::set(), and y.
|
protected |
Definition at line 81 of file meshWavePatchDistMethod.H.
Referenced by meshWave::correct().
|
mutableprotected |
Definition at line 84 of file meshWavePatchDistMethod.H.
Referenced by meshWave::correct().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.