parallelFvGeometryScheme Class Reference

Geometry calculation scheme with explicit sync of face-geometry across processor patches. More...

Inheritance diagram for parallelFvGeometryScheme:
Collaboration diagram for parallelFvGeometryScheme:

Classes

class  transformOriented
 Transformation for oriented fields. More...
 

Public Member Functions

 TypeName ("parallel")
 Runtime type information. More...
 
 parallelFvGeometryScheme (const fvMesh &mesh, const dictionary &dict)
 Construct from mesh. More...
 
virtual ~parallelFvGeometryScheme ()=default
 Destructor. More...
 
const fvGeometrySchemegeometry () const
 Construct underlying fvGeometryScheme. More...
 
virtual void movePoints ()
 Do what is necessary if the mesh has moved. More...
 
virtual void updateMesh (const mapPolyMesh &mpm)
 Update mesh for topology changes. 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...
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int use_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 Attributes

dictionary dict_
 Dictionary for underlying scheme. More...
 
tmp< fvGeometrySchemegeometryPtr_
 Demand-driven construction of underlying scheme. More...
 
- 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...
 
- Protected Member Functions inherited from fvGeometryScheme
bool setMeshPhi () const
 Set the mesh motion flux. More...
 

Detailed Description

Geometry calculation scheme with explicit sync of face-geometry across processor patches.

  • applies face centre and normal (negated) to the neighbour side of a processor boundary.
  • recalculates the resulting cell volumes.
  • mainly interesting in single-precision in that it removes the different truncation error from circulating in different order. This can cause problems when calculating global transformations.
  • it does change the face normal/centre so might affect the cell-closedness of the attached cells.
Usage
In system/fvSchemes add a geometry scheme:
geometry
{
    type            parallel;

    // Optional underlying geometry scheme. (default is basic)
    geometry
    {
        type        solidBody;
    }
}

The default behaviour will print the total number of adjusted face and cell properties:

    parallelFvGeometryScheme::movePoints() :
        adjusted geometry of faces:113 of cells:54

In addition a warning will be printed if an internal face gives a different result.

Source files

Definition at line 81 of file parallelFvGeometryScheme.H.

Constructor & Destructor Documentation

◆ parallelFvGeometryScheme()

parallelFvGeometryScheme ( const fvMesh mesh,
const dictionary dict 
)

Construct from mesh.

Definition at line 217 of file parallelFvGeometryScheme.C.

◆ ~parallelFvGeometryScheme()

virtual ~parallelFvGeometryScheme ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "parallel"  )

Runtime type information.

◆ geometry()

const Foam::fvGeometryScheme & geometry ( ) const

Construct underlying fvGeometryScheme.

Definition at line 229 of file parallelFvGeometryScheme.C.

References Foam::ensightOutput::debug, Foam::endl(), fvGeometryScheme::New(), and Foam::Pout.

Here is the call graph for this function:

◆ movePoints()

void movePoints ( )
virtual

Do what is necessary if the mesh has moved.

Reimplemented from fvGeometryScheme.

Definition at line 250 of file parallelFvGeometryScheme.C.

References Foam::ensightOutput::debug, Foam::endl(), and Foam::Pout.

Here is the call graph for this function:

◆ updateMesh()

void updateMesh ( const mapPolyMesh mpm)
virtual

Update mesh for topology changes.

Reimplemented from fvGeometryScheme.

Definition at line 266 of file parallelFvGeometryScheme.C.

◆ weights()

Foam::tmp< Foam::surfaceScalarField > weights ( ) const
virtual

Return linear difference weighting factors.

Implements fvGeometryScheme.

Definition at line 273 of file parallelFvGeometryScheme.C.

◆ deltaCoeffs()

Foam::tmp< Foam::surfaceScalarField > deltaCoeffs ( ) const
virtual

Return cell-centre difference coefficients.

Implements fvGeometryScheme.

Definition at line 280 of file parallelFvGeometryScheme.C.

◆ nonOrthDeltaCoeffs()

Foam::tmp< Foam::surfaceScalarField > nonOrthDeltaCoeffs ( ) const
virtual

Return non-orthogonal cell-centre difference coefficients.

Implements fvGeometryScheme.

Definition at line 287 of file parallelFvGeometryScheme.C.

◆ nonOrthCorrectionVectors()

Foam::tmp< Foam::surfaceVectorField > nonOrthCorrectionVectors ( ) const
virtual

Return non-orthogonality correction vectors.

Implements fvGeometryScheme.

Definition at line 294 of file parallelFvGeometryScheme.C.

Member Data Documentation

◆ dict_

dictionary dict_
protected

Dictionary for underlying scheme.

Definition at line 92 of file parallelFvGeometryScheme.H.

◆ geometryPtr_

tmp<fvGeometryScheme> geometryPtr_
mutableprotected

Demand-driven construction of underlying scheme.

Definition at line 97 of file parallelFvGeometryScheme.H.


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