69 const AveragingMethod<Type>& am
73 FieldField<Field, Type>(am),
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",
207 const List<tetIndices> cellTets =
208 polyMeshTetDecomposition::cellTetIndices(mesh_, celli);
212 const tetIndices& tetIs = cellTets[tetI];
213 const triFace triIs = tetIs.faceTriIs(mesh_);
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);
231 cellValue.primitiveFieldRef() /= mesh_.V();
232 cellGrad.primitiveFieldRef() /= mesh_.V();
233 pointValue.primitiveFieldRef() /= pointVolume;
234 pointGrad.primitiveFieldRef() /= pointVolume;
237 if (!cellValue.write(writeOnProc))
return false;
238 if (!cellGrad.write(writeOnProc))
return false;
239 if (!pointValue.write(writeOnProc))
return false;
240 if (!pointGrad.write(writeOnProc))
return false;
static autoPtr< AveragingMethod< Type > > New(const IOobject &io, const dictionary &dict, const fvMesh &mesh)
Selector.
A 1D vector of objects of type <T> with a fixed length <N>.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &tvf, const edgeScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
Generic GeometricField class.
Generic dimensioned Type class.
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
const dimensionSet dimless
Dimensionless.
A field of fields is a PtrList of fields with reference counting.
Mesh representing a set of points created from polyMesh.
#define forAll(list, i)
Loop across all elements in list.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
Generic templated field type.
A class for handling words, derived from Foam::string.
errorManip< error > abort(error &err)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
virtual void updateGrad()
Protected member functions.
virtual bool writeData(Ostream &) const
Dummy write.
rAUs append(new volScalarField(IOobject::groupName("rAU", phase1.name()), 1.0/(U1Eqn.A()+byDt(max(phase1.residualAlpha() - alpha1, scalar(0)) *rho1))))
virtual void average()
Calculate the average.
Mesh data needed to do the Finite Volume discretisation.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
virtual bool write(const bool writeOnProc=true) const
Write using setting from DB.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Macros to ease declaration of run-time selection tables.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
Defines the attributes of an object for which implicit objectRegistry management is supported...
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
AveragingMethod(const IOobject &io, const dictionary &dict, const fvMesh &mesh, const labelList &size)
Constructors.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
static constexpr const zero Zero
Global zero (0)