57 template<
class FitDataType,
class ExtendedStencil,
class Polynomial>
60 public MeshObject<fvMesh, MoveableMeshObject, FitDataType>
75 const ExtendedStencil& stencil_;
78 const bool linearCorrection_;
84 const scalar linearLimitFactor_;
87 const scalar centralWeight_;
115 const ExtendedStencil&
stencil,
129 const ExtendedStencil&
stencil()
const 137 return linearLimitFactor_;
143 return centralWeight_;
160 return linearCorrection_;
label dim() const
Dimensionality of the geometry.
virtual void calcFit()=0
Calculate the fit for all the faces.
MoveableMeshObject(const word &objName, const objectRegistry &obr)
Construct from name and instance on registry.
const ExtendedStencil & stencil() const
Return reference to the stencil.
bool linearCorrection() const
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
label minSize() const
Minimum stencil size.
const fvMesh & mesh() const noexcept
Reference to the mesh.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
scalar centralWeight() const
Return weight for central stencil.
scalar linearLimitFactor() const
Factor the fit is allowed to deviate from the base scheme.
virtual ~FitData()=default
Destructor.
void findFaceDirs(vector &idir, vector &jdir, vector &kdir, const label faci)
Find the normal direction (i) and j and k directions for face faci.
Mesh data needed to do the Finite Volume discretisation.
FitData(const fvMesh &mesh, const ExtendedStencil &stencil, const bool linearCorrection, const scalar linearLimitFactor, const scalar centralWeight)
Construct from components.
Data for the upwinded and centred polynomial fit interpolation schemes. The linearCorrection_ determi...
bool movePoints()
Recalculate weights (but not stencil) when the mesh moves.