Go to the documentation of this file.
30 template<
class Stencil>
37 vectors_(
mesh.nCells())
39 calcLeastSquaresVectors();
45 template<
class Stencil>
52 template<
class Stencil>
57 Info<<
"LeastSquaresVectors::calcLeastSquaresVectors() :"
58 <<
"Calculating least square gradient vectors"
80 lsvi[j] = lsvi[j] - lsvi[0];
81 scalar magSqrLsvi =
magSqr(lsvi[j]);
82 dd +=
sqr(lsvi[j])/magSqrLsvi;
83 lsvi[j] /= magSqrLsvi;
93 lsvi[0] = vector::zero;
96 lsvi[j] = dd & lsvi[j];
103 Info<<
"LeastSquaresVectors::calcLeastSquaresVectors() :"
104 <<
"Finished calculating least square gradient vectors"
110 template<
class Stencil>
113 calcLeastSquaresVectors();
#define forAll(list, i)
Loop across all elements in list.
virtual bool movePoints()
Update the least square vectors when the mesh moves.
void calcLeastSquaresVectors()
Calculate Least-squares gradient vectors.
virtual ~LeastSquaresVectors()
Destructor.
Ostream & endl(Ostream &os)
Add newline and flush stream.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
Mesh data needed to do the Finite Volume discretisation.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
void size(const label)
Override size to be inconsistent with allocated storage.
void collectData(const GeometricField< Type, fvPatchField, volMesh > &fld, List< List< Type > > &stencilFld) const
Use map to get the data into stencil order.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
LeastSquaresVectors(const fvMesh &)
Construct given an fvMesh and the minimum determinant criterion.