38 #ifndef GeometricField_H
39 #define GeometricField_H
55 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
58 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
65 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
77 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
81 public OldTimeField<GeometricField<Type, PatchField, GeoMesh>>
103 typedef PatchField<Type>
Patch;
109 typedef typename GeoMesh::template FieldSource<Type>
Source;
206 const PtrList<PatchField<Type>>&,
217 const PtrList<PatchField<Type>>&,
313 const PtrList<PatchField<Type>>&,
546 friend Ostream& operator<< <Type, PatchField, GeoMesh>
552 friend Ostream& operator<< <Type, PatchField, GeoMesh>
560 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.
Part of a geometric field used for setting the values associated with optional sources.
Generic GeometricField class.
void max(const dimensioned< Type > &)
Internal & internalFieldRef()
Return a reference to the dimensioned internal field.
Internal::FieldType & primitiveFieldRef()
Return a reference to the primitive field.
DimensionedField< Type, GeoMesh > Internal
Type of the internal field from which this GeometricField is derived.
const Sources & sources() const
Return const-reference to the sources.
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.
TypeName("GeometricField")
Runtime type information.
void operator/=(const GeometricField< scalar, PatchField, GeoMesh > &)
void maxMin(const dimensioned< Type > &minDt, const dimensioned< Type > &maxDt)
const Internal::FieldType & primitiveField() const
Return a const-reference to the primitive 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.
GeoMesh::template FieldSource< Type > Source
Type of the field source of which the Sources is composed.
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
Component type of the elements of the field.
GeometricFieldSources< Type, GeoMesh > Sources
Type of the field sources.
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.
void clearPrevIter()
Delete the previous iteration field.
void storePrevIter() const
Store the field as the previous iteration value.
word select(bool final) const
Select the final iteration parameters if `final' is true.
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.
USING_OLD_TIME_FIELD(GeometricField)
Use old-time methods from the base class.
void operator=(const GeometricField< Type, PatchField, GeoMesh > &)
tmp< GeometricField< Type, PatchField, GeoMesh > > clone() const
Clone.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
DimensionedField< Type, GeoMesh > Base
Type of the field from which this GeometricField is derived.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
A HashTable specialisation for hashing pointers.
An STL-conforming hash table.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const word & name() const
Return name.
Class to add into field types to provide old-time storage and retrieval.
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.
word patchFieldType(const PatchField &pf)