54 template<
class FitDataType,
class ExtendedStencil,
class Polynomial>
57 public MeshObject<fvMesh, MoveableMeshObject, FitDataType>
62 const ExtendedStencil& stencil_;
65 const bool linearCorrection_;
71 const scalar linearLimitFactor_;
74 const scalar centralWeight_;
102 const ExtendedStencil&
stencil,
117 const ExtendedStencil&
stencil()
const 125 return linearLimitFactor_;
131 return centralWeight_;
148 return linearCorrection_;
label dim() const
Dimensionality of the geometry.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual void calcFit()=0
Calculate the fit for all the faces.
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.
virtual ~FitData()
Destructor.
scalar centralWeight() const
Return weight for central stencil.
scalar linearLimitFactor() const
Factor the fit is allowed to deviate from the base scheme.
void findFaceDirs(vector &idir, vector &jdir, vector &kdir, const label faci)
Find the normal direction (i) and j and k directions for face faci.
const fvMesh & mesh() const
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.