44 transform_(mesh.nCells(),
Zero),
45 scale_(0.5*
pow(mesh.V(), 1.0/3.0))
48 scalar
b = 0.5854101966249685;
49 scalar
c = 0.1381966011250105;
66 polyMeshTetDecomposition::cellTetIndices(mesh, celli);
79 mesh.points()[triIs[0]] - mesh.C()[celli],
80 mesh.points()[triIs[1]] - mesh.C()[celli],
81 mesh.points()[triIs[2]] - mesh.C()[celli]
87 const scalar v(6.0*tetIs.
tet(mesh).
mag()/mesh.V()[celli]);
92 transform_[celli] =
inv(A);
108 transform_(am.transform_)
140 (coordinates[0] - 1)*this->mesh_.C()[celli]
141 + coordinates[1]*this->mesh_.points()[triIs[0]]
142 + coordinates[2]*this->mesh_.points()[triIs[1]]
143 + coordinates[3]*this->mesh_.points()[triIs[2]];
145 const Type v = value/this->mesh_.V()[celli];
146 const TypeGrad dv = transform_[celli] & (v*delta/scale_[celli]);
149 dataX_[celli] += v + dv.x();
150 dataY_[celli] += v + dv.y();
151 dataZ_[celli] += v + dv.z();
166 (coordinates[0] - 1)*this->mesh_.C()[celli]
167 + coordinates[1]*this->mesh_.points()[triIs[0]]
168 + coordinates[2]*this->mesh_.points()[triIs[1]]
169 + coordinates[3]*this->mesh_.points()[triIs[2]];
176 dataX_[celli] - data_[celli],
177 dataY_[celli] - data_[celli],
178 dataZ_[celli] - data_[celli]
180 & delta/scale_[celli]
198 dataX_[celli] - data_[celli],
199 dataY_[celli] - data_[celli],
200 dataZ_[celli] - data_[celli]
#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.
A list of keyword definitions, which are a keyword followed by any number of values (e...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
AveragingMethod< Type >::TypeGrad TypeGrad
Gradient type.
void add(const barycentric &coordinates, const tetIndices &tetIs, const Type &value)
Member Functions.
Type interpolate(const barycentric &coordinates, const tetIndices &tetIs) const
Interpolate.
outerProduct< vector, Type >::type TypeGrad
Protected typedefs.
Vector< scalar > vector
A scalar version of the templated Vector.
triFace faceTriIs(const polyMesh &mesh) const
Return the indices corresponding to the tri on the face for.
const dimensionedScalar & c
Speed of light in a vacuum.
tetPointRef tet(const polyMesh &mesh) const
Return the geometry corresponding to this tet.
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
Moment lagrangian averaging procedure.
const dimensionedScalar & b
Wien displacement law constant: default SI units: [m K].
TypeGrad interpolateGrad(const barycentric &coordinates, const tetIndices &tetIs) const
Interpolate gradient.
A triangular face using a FixedList of labels corresponding to mesh vertices.
label cell() const
Return the cell.
scalar mag() const
Return volume.
Base class for lagrangian averaging methods.
List< label > labelList
A List of labels.
Storage and named access for the indices of a tet which is part of the decomposition of a cell...
tmp< Field< Type > > primitiveField() const
Return an internal field of the average.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Mesh data needed to do the Finite Volume discretisation.
Moment(const IOobject &io, const dictionary &dict, const fvMesh &mesh)
Constructors.
virtual ~Moment()
Destructor.
A class for managing temporary objects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...