30 template<
class Stencil>
39 calcLeastSquaresVectors();
45 template<
class Stencil>
52 template<
class Stencil>
60 const fvMesh& mesh = this->mesh_;
78 lsvi[j] = lsvi[j] - lsvi[0];
79 scalar magSqrLsvi =
magSqr(lsvi[j]);
80 dd +=
sqr(lsvi[j])/magSqrLsvi;
81 lsvi[j] /= magSqrLsvi;
94 lsvi[j] = dd & lsvi[j];
102 <<
"Finished calculating least square gradient vectors" <<
endl;
107 template<
class Stencil>
110 calcLeastSquaresVectors();
#define forAll(list, i)
Loop across all elements in list.
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 bool movePoints()
Update the least square vectors when the mesh moves.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
virtual ~LeastSquaresVectors()
Destructor.
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Vector< label > & geometricD() const
Return the vector of geometric directions in mesh.
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
void collectData(const GeometricField< Type, fvPatchField, volMesh > &fld, List< List< Type >> &stencilFld) const
Use map to get the data into stencil order.
LeastSquaresVectors(const fvMesh &)
Construct given an fvMesh and the minimum determinant criterion.
Templated 3D Vector derived from VectorSpace adding construction from 3 components, element access using x(), y() and z() member functions and the inner-product (dot-product) and cross product operators.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
Mesh data needed to do the Finite Volume discretisation.
const volVectorField & C() const
Return cell centres as volVectorField.
Least-squares gradient scheme vectors.
#define InfoInFunction
Report an information message using Foam::Info.