41#ifndef AveragingMethod_H
42#define AveragingMethod_H
170 virtual bool write(
const bool valid =
true)
const;
Base class for lagrangian averaging methods.
const fvMesh & mesh_
The mesh on which the averaging is to be done.
virtual bool writeData(Ostream &) const
Dummy write.
virtual autoPtr< AveragingMethod< Type > > clone() const =0
Construct and return a clone.
virtual TypeGrad interpolateGrad(const barycentric &coordinates, const tetIndices &tetIs) const =0
Interpolate gradient.
void operator=(const AveragingMethod< Type > &x)
Assign to another average.
void operator*=(tmp< FieldField< Field, Type > > x)
Multiply-equal tmp.
virtual void add(const barycentric &coordinates, const tetIndices &tetIs, const Type &value)=0
Member Functions.
outerProduct< vector, Type >::type TypeGrad
Protected typedefs.
static autoPtr< AveragingMethod< Type > > New(const IOobject &io, const dictionary &dict, const fvMesh &mesh)
Selector.
virtual ~AveragingMethod()=default
Destructor.
const dictionary & dict_
Protected data.
void operator+=(tmp< FieldField< Field, Type > > x)
Add-equal tmp.
virtual void updateGrad()
Protected member functions.
void operator/=(tmp< FieldField< Field, scalar > > x)
Divide-equal tmp.
declareRunTimeSelectionTable(autoPtr, AveragingMethod, dictionary,(const IOobject &io, const dictionary &dict, const fvMesh &mesh),(io, dict, mesh))
Declare runtime constructor selection table.
virtual void average()
Calculate the average.
TypeName("averagingMethod")
Runtime type information.
virtual Type interpolate(const barycentric &coordinates, const tetIndices &tetIs) const =0
Interpolate.
virtual tmp< Field< Type > > primitiveField() const =0
Return an internal field of the average.
A field of fields is a PtrList of fields with reference counting.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
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,...
Mesh data needed to do the Finite Volume discretisation.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
A class for managing temporary objects.
type
Volume classification types.
PtrList< coordinateSystem > coordinates(solidRegions.size())
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.