38 #ifndef GeometricField_H
39 #define GeometricField_H
54 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
57 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
64 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
76 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
87 bool readOldTimeIfPresent();
101 typedef PatchField<Type>
Patch;
113 mutable label timeIndex_;
134 void storeOldTime()
const;
137 void nullOldestTimeFound();
207 const PtrList<PatchField<Type>>&
217 const PtrList<PatchField<Type>>&
310 const PtrList<PatchField<Type>>&
574 friend Ostream& operator<< <Type, PatchField, GeoMesh>
580 friend Ostream& operator<< <Type, PatchField, GeoMesh>
588 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
List of coupled interface fields to be used in coupling.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
GeoMesh::Mesh Mesh
Type of mesh on which this DimensionedField is instantiated.
Pre-declare SubField and related Field type.
pTraits< Type >::cmptType cmptType
Component type.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Generic GeometricBoundaryField class.
Generic GeometricField class.
void max(const dimensioned< Type > &)
Internal & ref()
Return a reference to the dimensioned internal field.
Internal::FieldType & primitiveFieldRef()
Return a reference to the internal field.
DimensionedField< Type, GeoMesh > Internal
Type of the internal field from which this GeometricField is derived.
bool writeData(Ostream &) const
WriteData member function required by regIOobject.
void writeMinMax(Ostream &os) const
Helper function to write the min and max to an Ostream.
void relax()
Relax current field with respect to the cached previous iteration.
const GeometricField< Type, PatchField, GeoMesh > & oldTime() const
Return old time field.
TypeName("GeometricField")
Runtime type information.
void operator/=(const GeometricField< scalar, PatchField, GeoMesh > &)
label timeIndex() const
Return the time index of the field.
void maxMin(const dimensioned< Type > &minDt, const dimensioned< Type > &maxDt)
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
tmp< GeometricField< Type, PatchField, GeoMesh > > T() const
Return transpose (only if it is a tensor field)
GeoMesh::Mesh Mesh
Type of mesh on which this GeometricField is instantiated.
void operator==(const tmp< GeometricField< Type, PatchField, GeoMesh >> &)
void operator-=(const GeometricField< Type, PatchField, GeoMesh > &)
tmp< GeometricField< Type, PatchField, GeoMesh > > cloneUnSliced() const
Clone un-sliced.
void operator*=(const GeometricField< scalar, PatchField, GeoMesh > &)
void min(const dimensioned< Type > &)
void operator+=(const GeometricField< Type, PatchField, GeoMesh > &)
GeometricBoundaryField< Type, PatchField, GeoMesh > Boundary
Type of the boundary field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &)
Return a temporary field constructed from name,.
const Internal & v() const
Return a const-reference to the dimensioned internal field.
PatchField< Type > Patch
Type of the patch field of which the Boundary is composed.
Field< Type >::cmptType cmptType
void replace(const direction, const GeometricField< cmptType, PatchField, GeoMesh > &)
const Boundary & boundaryField() const
Return const-reference to the boundary field.
GeometricField(const IOobject &, const Mesh &, const dimensionSet &, const word &patchFieldType=PatchField< Type >::calculatedType())
Constructor given IOobject, mesh, dimensions and patch field type.
const GeometricField< Type, PatchField, GeoMesh > & prevIter() const
Return previous iteration field.
bool needReference() const
Does the field need a reference level for solution.
tmp< GeometricField< cmptType, PatchField, GeoMesh > > component(const direction) const
Return a component of the field.
virtual ~GeometricField()
Destructor.
scalar relaxationFactor() const
Return the field relaxation factor read from fvSolution.
bool isOldTime() const
Return whether or not this is an old-time field.
void storePrevIter() const
Store the field as the previous iteration value.
label nOldTimes() const
Return the number of old time fields stored.
word select(bool final) const
Select the final iteration parameters if `final' is true.
void storeOldTimes() const
Store the old-time fields.
void correctBoundaryConditions()
Correct boundary field.
void reset(const tmp< GeometricField< Type, PatchField, GeoMesh >> &)
Reset the field contents to the given field.
const Internal & operator()() const
Return a const-reference to the dimensioned internal field.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
void nullOldestTime()
Set oldest time field pointer to nullObjectPtr.
void operator=(const GeometricField< Type, PatchField, GeoMesh > &)
tmp< GeometricField< Type, PatchField, GeoMesh > > clone() const
Clone.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
void clearOldTimes()
Delete old time and previous iteration fields.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const word & name() const
Return name.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
A list of keyword definitions, which are a keyword followed by any number of values (e....
Dimension set for the base types.
Generic dimensioned Type class.
A class for managing temporary objects.
A class for handling words, derived from string.
A class representing the concept of 0 used to avoid unnecessary manipulations for objects that are kn...
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
List< word > wordList
A List of words.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
word patchFieldType(const PatchField &pf)