highAspectRatioFvGeometryScheme Class Reference

Geometry calculation scheme with automatic stabilisation for high-aspect ratio cells. More...

Inheritance diagram for highAspectRatioFvGeometryScheme:
[legend]
Collaboration diagram for highAspectRatioFvGeometryScheme:
[legend]

Public Member Functions

 TypeName ("highAspectRatio")
 Runtime type information. More...
 
 highAspectRatioFvGeometryScheme (const fvMesh &mesh, const dictionary &dict)
 Construct from mesh. More...
 
virtual ~highAspectRatioFvGeometryScheme ()=default
 Destructor. More...
 
virtual void movePoints ()
 Do what is necessary if the mesh has moved. More...
 
- Public Member Functions inherited from basicFvGeometryScheme
 TypeName ("basic")
 Runtime type information. More...
 
 basicFvGeometryScheme (const fvMesh &mesh, const dictionary &dict)
 Construct from mesh. More...
 
virtual ~basicFvGeometryScheme ()=default
 Destructor. More...
 
virtual void movePoints ()
 Do what is necessary if the mesh has moved. More...
 
virtual tmp< surfaceScalarFieldweights () const
 Return linear difference weighting factors. More...
 
virtual tmp< surfaceScalarFielddeltaCoeffs () const
 Return cell-centre difference coefficients. More...
 
virtual tmp< surfaceScalarFieldnonOrthDeltaCoeffs () const
 Return non-orthogonal cell-centre difference coefficients. More...
 
virtual tmp< surfaceVectorFieldnonOrthCorrectionVectors () const
 Return non-orthogonality correction vectors. More...
 
- Public Member Functions inherited from fvGeometryScheme
 TypeName ("fvGeometryScheme")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (tmp, fvGeometryScheme, dict,(const fvMesh &mesh, const dictionary &dict),(mesh, dict))
 
 fvGeometryScheme (const fvMesh &mesh, const dictionary &dict)
 Construct from mesh. More...
 
virtual ~fvGeometryScheme ()=default
 Destructor. More...
 
const fvMeshmesh () const
 Return mesh reference. More...
 
virtual void movePoints ()
 Update basic geometric properties from provided points. More...
 
virtual void updateMesh (const mapPolyMesh &mpm)
 Update mesh for topology changes. More...
 
virtual tmp< surfaceScalarFieldweights () const =0
 Return linear difference weighting factors. More...
 
virtual tmp< surfaceScalarFielddeltaCoeffs () const =0
 Return cell-centre difference coefficients. More...
 
virtual tmp< surfaceScalarFieldnonOrthDeltaCoeffs () const =0
 Return non-orthogonal cell-centre difference coefficients. More...
 
virtual tmp< surfaceVectorFieldnonOrthCorrectionVectors () const =0
 Return non-orthogonality correction vectors. More...
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int count () const noexcept
 Return the current reference count. More...
 
bool unique () const noexcept
 Return true if the reference count is zero. More...
 
void operator++ () noexcept
 Increment the reference count. More...
 
void operator++ (int) noexcept
 Increment the reference count. More...
 
void operator-- () noexcept
 Decrement the reference count. More...
 
void operator-- (int) noexcept
 Decrement the reference count. More...
 

Protected Member Functions

void calcAspectRatioWeights (scalarField &cellWeight, scalarField &faceWeight) const
 Calculate cell and face weight. Is 0 for cell < minAspect, 1 for. More...
 
- Protected Member Functions inherited from fvGeometryScheme
bool setMeshPhi () const
 Set the mesh motion flux. More...
 

Static Protected Member Functions

static void makeAverageCentres (const polyMesh &mesh, const pointField &points, const pointField &faceAreas, const scalarField &magFaceAreas, pointField &faceCentres, pointField &cellCentres)
 Helper : calculate (weighted) average face and cell centres. More...
 

Protected Attributes

const scalar minAspect_
 
const scalar maxAspect_
 
- Protected Attributes inherited from fvGeometryScheme
const fvMeshmesh_
 Hold reference to mesh. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from fvGeometryScheme
static tmp< fvGeometrySchemeNew (const fvMesh &mesh, const dictionary &dict, const word &defaultScheme)
 Return new tmp interpolation scheme. More...
 

Detailed Description

Geometry calculation scheme with automatic stabilisation for high-aspect ratio cells.

Source files

Definition at line 54 of file highAspectRatioFvGeometryScheme.H.

Constructor & Destructor Documentation

◆ highAspectRatioFvGeometryScheme()

highAspectRatioFvGeometryScheme ( const fvMesh mesh,
const dictionary dict 
)

Construct from mesh.

Definition at line 356 of file highAspectRatioFvGeometryScheme.C.

References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, highAspectRatioFvGeometryScheme::maxAspect_, highAspectRatioFvGeometryScheme::minAspect_, and highAspectRatioFvGeometryScheme::movePoints().

Here is the call graph for this function:

◆ ~highAspectRatioFvGeometryScheme()

virtual ~highAspectRatioFvGeometryScheme ( )
virtualdefault

Destructor.

Member Function Documentation

◆ calcAspectRatioWeights()

void calcAspectRatioWeights ( scalarField cellWeight,
scalarField faceWeight 
) const
protected

Calculate cell and face weight. Is 0 for cell < minAspect, 1 for.

cell > maxAspect

Definition at line 162 of file highAspectRatioFvGeometryScheme.C.

References delta, polyMesh::faceNeighbour(), polyMesh::faceOwner(), Foam::max(), highAspectRatioFvGeometryScheme::maxAspect_, fvGeometryScheme::mesh_, Foam::min(), highAspectRatioFvGeometryScheme::minAspect_, primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), List< T >::setSize(), and syncTools::swapBoundaryCellList().

Here is the call graph for this function:

◆ makeAverageCentres()

void makeAverageCentres ( const polyMesh mesh,
const pointField points,
const pointField faceAreas,
const scalarField magFaceAreas,
pointField faceCentres,
pointField cellCentres 
)
staticprotected

Helper : calculate (weighted) average face and cell centres.

Definition at line 234 of file highAspectRatioFvGeometryScheme.C.

References polyMesh::boundaryMesh(), Foam::endl(), f(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), forAll, Foam::mag(), mesh, primitiveMesh::nCells(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), nPoints, p, Foam::Pout, List< T >::setSize(), UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "highAspectRatio"  )

Runtime type information.

◆ movePoints()

void movePoints ( )
virtual

Do what is necessary if the mesh has moved.

Reimplemented from basicFvGeometryScheme.

Reimplemented in averageNeighbourFvGeometryScheme.

Definition at line 388 of file highAspectRatioFvGeometryScheme.C.

References Foam::endl(), Foam::gAverage(), Foam::gMax(), Foam::gMin(), Foam::mag(), fvGeometryScheme::movePoints(), Foam::Pout, primitiveMesh::resetGeometry(), and primitiveMesh::updateGeom().

Referenced by highAspectRatioFvGeometryScheme::highAspectRatioFvGeometryScheme(), and averageNeighbourFvGeometryScheme::movePoints().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ minAspect_

◆ maxAspect_


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