41#ifndef AveragingMethod_H
42#define AveragingMethod_H
170 virtual bool write(
const bool writeOnProc =
true)
const;
AveragingMethod(const AveragingMethod< Type > &am)
Construct a copy.
virtual bool writeData(Ostream &) const
Dummy write.
virtual autoPtr< AveragingMethod< Type > > clone() const =0
Construct and return a clone.
void operator=(const Type &x)
Assign to value.
virtual TypeGrad interpolateGrad(const barycentric &coordinates, const tetIndices &tetIs) const =0
Interpolate gradient.
void operator=(const AveragingMethod< Type > &x)
Assign to another average.
AveragingMethod(const IOobject &io, const dictionary &dict, const fvMesh &mesh, const labelList &size)
Constructors.
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.
void operator=(tmp< FieldField< Field, Type > > x)
Assign to tmp.
virtual bool write(const bool writeOnProc=true) const
Write using setting from DB.
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.
virtual void average(const AveragingMethod< scalar > &weight)
constexpr FieldField() noexcept
Construct null.
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
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.
typeOfRank< typenamepTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank)>::type type
regIOobject(const IOobject &io, const bool isTimeObject=false)
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIO...
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.
PtrList< coordinateSystem > coordinates(solidRegions.size())
List< label > labelList
A List of labels.
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
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.