92 dict.template getOrDefault<word>(typeName,
"basic")
95 auto* ctorPtr = dictionaryConstructorTable(modelType);
104 *dictionaryConstructorTablePtr_
129 *
this /=
max(weight, SMALL);
153 this->
name() +
":cellValue",
164 this->
name() +
":cellGrad",
175 this->
name() +
":pointValue",
186 this->
name() +
":pointGrad",
214 const scalar v = tetIs.
tet(mesh_).
mag();
216 cellValue[celli] += v*
interpolate(tetCrds[0], tetIs);
217 cellGrad[celli] += v*interpolateGrad(tetCrds[0], tetIs);
221 const label pointi = triIs[vertexI];
223 pointVolume[pointi] += v;
224 pointValue[pointi] += v*
interpolate(tetCrds[vertexI], tetIs);
225 pointGrad[pointi] += v*interpolateGrad(tetCrds[vertexI], tetIs);
232 cellGrad.primitiveFieldRef() /= mesh_.V();
233 pointValue.primitiveFieldRef() /= pointVolume;
234 pointGrad.primitiveFieldRef() /= pointVolume;
237 if (!cellValue.
write(valid))
return false;
238 if (!cellGrad.write(valid))
return false;
239 if (!pointValue.write(valid))
return false;
240 if (!pointGrad.write(valid))
return false;
Base class for lagrangian averaging methods.
virtual void updateGrad()
Protected member functions.
virtual void average()
Calculate the average.
A field of fields is a PtrList of fields with reference counting.
Generic templated field type.
A 1D vector of objects of type <T> with a fixed length <N>.
Generic GeometricField class.
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
Return a reference to the internal field.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
bool good() const noexcept
True if next operation might succeed.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
label size() const noexcept
The number of elements in the list.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Generic dimensioned Type class.
virtual bool write()
Write the output fields.
Mesh data needed to do the Finite Volume discretisation.
Mesh representing a set of points created from polyMesh.
static List< tetIndices > cellTetIndices(const polyMesh &mesh, label cI)
Return the tet decomposition of the given cell, see.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
virtual bool write(const bool valid=true) const
Write using setting from DB.
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
Return the indices corresponding to the tri on the face for.
tetPointRef tet(const polyMesh &mesh) const
Return the geometry corresponding to this tet.
scalar mag() const
Return volume.
A triangular face using a FixedList of labels corresponding to mesh vertices.
bool append() const noexcept
True if output format uses an append mode.
A class for handling words, derived from Foam::string.
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
OBJstream os(runTime.globalPath()/outputName)
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
const dimensionSet dimless
Dimensionless.
errorManip< error > abort(error &err)
static constexpr const zero Zero
Global zero (0)
bool interpolate(const vector &p1, const vector &p2, const vector &o, vector &n, scalar l)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
Macros to ease declaration of run-time selection tables.
#define forAll(list, i)
Loop across all elements in list.