37#ifndef fvGeometryScheme_H
38#define fvGeometryScheme_H
64 fvGeometryScheme(
const fvGeometryScheme&) =
delete;
67 void operator=(
const fvGeometryScheme&) =
delete;
121 const word& defaultScheme
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
TypeName("fvGeometryScheme")
Runtime type information.
const fvMesh & mesh_
Hold reference to mesh.
virtual tmp< surfaceScalarField > weights() const =0
Return linear difference weighting factors.
virtual tmp< surfaceScalarField > nonOrthDeltaCoeffs() const =0
Return non-orthogonal cell-centre difference coefficients.
virtual tmp< surfaceScalarField > deltaCoeffs() const =0
Return cell-centre difference coefficients.
bool setMeshPhi() const
Set the mesh motion flux.
virtual void movePoints()
Update basic geometric properties from provided points.
virtual tmp< surfaceVectorField > nonOrthCorrectionVectors() const =0
Return non-orthogonality correction vectors.
virtual void updateMesh(const mapPolyMesh &mpm)
Update mesh for topology changes.
virtual ~fvGeometryScheme()=default
Destructor.
const fvMesh & mesh() const
Return mesh reference.
static tmp< fvGeometryScheme > New(const fvMesh &mesh, const dictionary &dict, const word &defaultScheme)
Return new tmp interpolation scheme.
declareRunTimeSelectionTable(tmp, fvGeometryScheme, dict,(const fvMesh &mesh, const dictionary &dict),(mesh, dict))
virtual bool updateGeom(const pointField &points, const refPtr< pointField > &oldPoints, pointField &faceCentres, vectorField &faceAreas, pointField &cellCentres, scalarField &cellVolumes) const =0
Calculate geometry quantities using mesh topology and provided points. If oldPoints provided only doe...
fvGeometryScheme(const fvMesh &mesh, const dictionary &dict)
Construct from mesh.
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
constexpr refCount() noexcept
Default construct, initializing count to 0.
A class for managing references or pointers (no reference counting).
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
vectorField pointField
pointField is a vectorField.
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.