50 scalar
b = 0.5854101966249685;
51 scalar c = 0.1381966011250105;
81 mesh.points()[triIs[0]] -
mesh.C()[celli],
82 mesh.points()[triIs[1]] -
mesh.C()[celli],
83 mesh.points()[triIs[2]] -
mesh.C()[celli]
94 transform_[celli] =
inv(
A);
102 const Moment<Type>& am
110 transform_(am.transform_)
138 const label celli = tetIs.
cell();
147 const Type v = value/this->mesh_.V()[celli];
148 const TypeGrad dv = transform_[celli] & (v*
delta/scale_[celli]);
151 dataX_[celli] += v + dv.x();
152 dataY_[celli] += v + dv.y();
153 dataZ_[celli] += v + dv.z();
164 const label celli = tetIs.
cell();
178 dataX_[celli] - data_[celli],
179 dataY_[celli] - data_[celli],
180 dataZ_[celli] - data_[celli]
195 const label celli(tetIs.
cell());
200 dataX_[celli] - data_[celli],
201 dataY_[celli] - data_[celli],
202 dataZ_[celli] - data_[celli]
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
Base class for lagrangian averaging methods.
const fvMesh & mesh_
The mesh on which the averaging is to be done.
AveragingMethod(const IOobject &io, const dictionary &dict, const fvMesh &mesh, const labelList &size)
Constructors.
virtual void updateGrad()
Protected member functions.
AveragingMethod< Type >::TypeGrad TypeGrad
Public typedefs.
tmp< Field< Type > > primitiveField() const
Return an internal field of the average.
virtual ~Moment()
Destructor.
Type interpolate(const barycentric &coordinates, const tetIndices &tetIs) const
Interpolate.
TypeGrad interpolateGrad(const barycentric &coordinates, const tetIndices &tetIs) const
Interpolate gradient.
void add(const barycentric &coordinates, const tetIndices &tetIs, const Type &value)
Member Functions.
Moment(const IOobject &io, const dictionary &dict, const fvMesh &mesh)
Constructors.
A field of fields is a PtrList of fields with reference counting.
tmp< FieldField< Field, Type > > T() const
Return the field transpose (only defined for second rank tensors).
constexpr FieldField() noexcept
Construct null.
friend Ostream & operator(Ostream &, const FieldField< Field, Type > &)
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
static List< tetIndices > cellTetIndices(const polyMesh &mesh, label cI)
Return the tet decomposition of the given cell, see.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
triFace faceTriIs(const polyMesh &mesh, const bool warn=true) const
The indices corresponding to the tri on the face for this tet. The normal of the tri points out of th...
tetPointRef tet(const polyMesh &mesh) const
The tet geometry for this tet, where point0 is the cell centre.
label cell() const noexcept
Return the cell index.
scalar mag() const
Return volume.
A class for managing temporary objects.
A triangular face using a FixedList of labels corresponding to mesh vertices.
PtrList< coordinateSystem > coordinates(solidRegions.size())
List< label > labelList
A List of labels.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
vector point
Point is a vector.
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &f1, const label comm)
static constexpr const zero Zero
Global zero (0).
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
dimensionedScalar cbrt(const dimensionedScalar &ds)
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
#define forAll(list, i)
Loop across all elements in list.