Go to the documentation of this file.
44 MeshObject<fvMesh,
Foam::MoveableMeshObject, leastSquaresVectors>(
mesh),
50 mesh_.pointsInstance(),
64 mesh_.pointsInstance(),
74 calcLeastSquaresVectors();
86 void Foam::leastSquaresVectors::calcLeastSquaresVectors()
90 const fvMesh&
mesh = mesh_;
94 const labelUList& neighbour = mesh_.neighbour();
103 const label own = owner[facei];
104 const label nei = neighbour[facei];
112 surfaceVectorField::Boundary& blsP =
113 pVectors_.boundaryField();
119 const fvPatch&
p = patchLsP.patch();
120 const labelUList& faceCells =
p.patch().faceCells();
127 dd[faceCells[patchFacei]] += pdSqr[patchFacei];
139 const label own = owner[facei];
140 const label nei = neighbour[facei];
144 pVectors_[facei] = (invDd[own] & d);
145 nVectors_[facei] = -(invDd[nei] & d);
152 const fvPatch&
p = patchLsP.patch();
160 patchLsP[patchFacei] =
161 (invDd[faceCells[patchFacei]] & pd[patchFacei]);
166 <<
"Finished calculating least square gradient vectors" <<
endl;
172 calcLeastSquaresVectors();
virtual ~leastSquaresVectors()
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
static constexpr const zero Zero
Ostream & endl(Ostream &os)
virtual bool movePoints()
Field< symmTensor > symmTensorField
Specialisation of Field<T> for symmTensor.
Field< vector > vectorField
Specialisation of Field<T> for vector.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
fvsPatchField< vector > fvsPatchVectorField
leastSquaresVectors(const fvMesh &)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
const volVectorField & C() const
Vector< scalar > vector
A scalar version of the templated Vector.
GeometricField< vector, fvPatchField, volMesh > volVectorField
dimensionedSymmTensor sqr(const dimensionedVector &dv)
UList< label > labelUList
A UList of labels.
defineTypeNameAndDebug(combustionModel, 0)
const dimensionSet dimless