30 template<
class Stencil>
42 vectors_(mesh.nCells())
44 calcLeastSquaresVectors();
50 template<
class Stencil>
57 template<
class Stencil>
65 const fvMesh& mesh = this->mesh();
83 lsvi[j] = lsvi[j] - lsvi[0];
84 scalar magSqrLsvi =
magSqr(lsvi[j]);
85 dd +=
sqr(lsvi[j])/magSqrLsvi;
86 lsvi[j] /= magSqrLsvi;
99 lsvi[j] = dd & lsvi[j];
107 <<
"Finished calculating least square gradient vectors" <<
endl;
112 template<
class Stencil>
115 calcLeastSquaresVectors();
#define forAll(list, i)
Loop across all elements in list.
Templated abstract base-class for demand-driven mesh objects used to automate their allocation to the...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void size(const label)
Override size to be inconsistent with allocated storage.
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
void collectData(const VolField< Type > &fld, List< List< Type >> &stencilFld) const
Use map to get the data into stencil order.
Mesh data needed to do the Finite Volume discretisation.
const volVectorField & C() const
Return cell centres.
Least-squares gradient scheme vectors.
virtual bool movePoints()
Update the least square vectors when the mesh moves.
LeastSquaresVectors(const fvMesh &)
Construct given an fvMesh and the minimum determinant criterion.
virtual ~LeastSquaresVectors()
Destructor.
const Vector< label > & geometricD() const
Return the vector of geometric directions in mesh.
#define InfoInFunction
Report an information message using Foam::Info.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
dimensioned< scalar > magSqr(const dimensioned< Type > &)