Loading...
Searching...
No Matches
exact Class Reference

Calculation of exact distance to nearest patch for all cells and boundary by constructing a search tree for all patch faces. More...

#include <exactPatchDistMethod.H>

Inheritance diagram for exact:
Collaboration diagram for exact:

Public Member Functions

 TypeName ("exactDistance")
 Runtime type information.
 exact (const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs)
 Construct from coefficients dictionary, mesh.
 exact (const fvMesh &mesh, const labelHashSet &patchIDs)
 Construct from mesh and fixed-value patch set.
virtual bool movePoints ()
 Update cached geometry when the mesh moves.
virtual void updateMesh (const mapPolyMesh &)
 Update cached topology and geometry when the mesh changes.
virtual bool correct (volScalarField &y)
 Correct the given distance-to-patch field.
virtual bool correct (volScalarField &y, volVectorField &n)
 Correct the given distance-to-patch and normal-to-patch fields.
Public Member Functions inherited from patchDistMethod
 TypeName ("patchDistMethod")
 Runtime type information.
 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.
virtual ~patchDistMethod ()
 Destructor.
const labelHashSetpatchIDs () const
 Return the patchIDs.
template<class Type>
Foam::wordList patchTypes (const fvMesh &mesh, const labelHashSet &patchIDs)

Additional Inherited Members

Static Public Member Functions inherited from patchDistMethod
static autoPtr< patchDistMethodNew (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)
 Return the patch types for y and n.
Protected Member Functions inherited from patchDistMethod
 patchDistMethod (const patchDistMethod &)=delete
 No copy construct.
void operator= (const patchDistMethod &)=delete
 No copy assignment.
Protected Attributes inherited from patchDistMethod
const fvMeshmesh_
 Reference to the mesh.
const labelHashSet patchIDs_
 Set of patch IDs.

Detailed Description

Calculation of exact distance to nearest patch for all cells and boundary by constructing a search tree for all patch faces.

Usage

\begin{verbatim} wallDist { method exactDistance;

Optional entries (currently for distributedTriSurfaceMesh) exactDistanceCoeffs { Optional decomposition method. If not supplied will use the system/decomposeParDict. method hierarchical; numberOfSubdomains 8; n (2 2 2);

(not)add fill-in triangles decomposeUsingBbs false; } } \end{verbatim}

See also
Foam::patchDistMethod::meshWave Foam::wallDist Foam::distributedTriSurfaceMesh
Source files

Definition at line 79 of file exactPatchDistMethod.H.

Constructor & Destructor Documentation

◆ exact() [1/2]

exact ( const dictionary & dict,
const fvMesh & mesh,
const labelHashSet & patchIDs )

Construct from coefficients dictionary, mesh.

and fixed-value patch set

Definition at line 118 of file exactPatchDistMethod.C.

References dict, Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, mesh, patchDistMethod::patchDistMethod(), and patchDistMethod::patchIDs().

Here is the call graph for this function:

◆ exact() [2/2]

exact ( const fvMesh & mesh,
const labelHashSet & patchIDs )

Construct from mesh and fixed-value patch set.

Definition at line 130 of file exactPatchDistMethod.C.

References mesh, patchDistMethod::patchDistMethod(), and patchDistMethod::patchIDs().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "exactDistance" )

Runtime type information.

References dict, mesh, and patchDistMethod::patchIDs().

Here is the call graph for this function:

◆ movePoints()

virtual bool movePoints ( )
inlinevirtual

Update cached geometry when the mesh moves.

Reimplemented from patchDistMethod.

Definition at line 148 of file exactPatchDistMethod.H.

◆ updateMesh()

virtual void updateMesh ( const mapPolyMesh & )
inlinevirtual

Update cached topology and geometry when the mesh changes.

Reimplemented from patchDistMethod.

Definition at line 158 of file exactPatchDistMethod.H.

◆ correct() [1/2]

bool correct ( volScalarField & y)
virtual

Correct the given distance-to-patch field.

Implements patchDistMethod.

Definition at line 142 of file exactPatchDistMethod.C.

References correct(), GeometricField< vector, fvPatchField, volMesh >::null(), and y.

Here is the call graph for this function:

◆ correct() [2/2]

bool correct ( volScalarField & y,
volVectorField & n )
virtual

Correct the given distance-to-patch and normal-to-patch fields.

Implements patchDistMethod.

Definition at line 148 of file exactPatchDistMethod.C.

References Foam::endl(), distributedTriSurfaceMesh::findNearest(), forAll, distributedTriSurfaceMesh::getNormal(), Foam::Info, patchDistMethod::mesh_, n, OFstream::name(), Foam::notNull(), Foam::sqr(), Foam::type(), OBJstream::writeLine(), and y.

Here is the call graph for this function:

The documentation for this class was generated from the following files: