38 #ifndef GeometricField_H
39 #define GeometricField_H
54 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
61 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
73 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
77 public OldTimeField<GeometricField<Type, GeoMesh, PrimitiveField>>
91 typedef typename GeoMesh::Mesh
Mesh;
100 typedef typename GeoMesh::template PatchField<Type>
Patch;
106 typedef typename GeoMesh::template FieldSource<Type>
Source;
112 typedef typename PrimitiveField<Type>::cmptType
cmptType;
138 bool readIfPresent();
161 template<
class Type2,
class GeoMesh2,
template<
class>
class PrimitiveField2>
222 const PrimitiveField<Type>&,
248 template<
template<
class>
class PrimitiveField2>
264 template<
template<
class>
class PrimitiveField2>
279 template<
template<
class>
class PrimitiveField2>
294 template<
template<
class>
class PrimitiveField2>
312 template<
template<
class>
class PrimitiveField2>
329 template<
template<
class>
class PrimitiveField2>
353 template<
template<
class>
class PrimitiveField2>
433 template<
template<
class>
class PrimitiveField2>
451 template<
template<
class>
class PrimitiveField2>
469 template<
template<
class>
class PrimitiveField2>
493 template<
template<
class>
class PrimitiveField2>
581 template<
template<
class>
class PrimitiveField2>
590 template<
template<
class>
class PrimitiveField2>
623 template<
template<
class>
class PrimitiveField2>
633 template<
template<
class>
class PrimitiveField2>
650 template<
template<
class>
class PrimitiveField2>
658 template<
template<
class>
class PrimitiveField2>
693 template<
template<
class>
class PrimitiveField2>
702 template<
template<
class>
class PrimitiveField2>
710 template<
template<
class>
class PrimitiveField2>
719 template<
template<
class>
class PrimitiveField2>
727 template<
template<
class>
class PrimitiveField2>
732 template<
template<
class>
class PrimitiveField2>
739 template<
template<
class>
class PrimitiveField2>
744 template<
template<
class>
class PrimitiveField2>
751 template<
template<
class>
class PrimitiveField2>
756 template<
template<
class>
class PrimitiveField2>
763 template<
template<
class>
class PrimitiveField2>
768 template<
template<
class>
class PrimitiveField2>
778 friend Ostream& operator<< <Type, GeoMesh, PrimitiveField>
784 friend Ostream& operator<< <Type, GeoMesh, PrimitiveField>
792 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
800 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
807 typedef typename FieldType::Patch::Calculated
Calculated;
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
PrimitiveField< Type > FieldType
Type of the field from which this DimensionedField is derived.
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 > &)
tmp< GeometricField< Type, GeoMesh, Field > > T() const
Return transpose (only if it is a tensor field)
Sources & sourcesRef()
Return a reference to the sources.
PrimitiveField< Type >::cmptType cmptType
Component type of the elements of the field.
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.
GeometricFieldSources< Type, GeoMesh, PrimitiveField > Sources
Type of the field sources.
TypeName("GeometricField")
Runtime type information.
void maxMin(const dimensioned< Type > &minDt, const dimensioned< Type > &maxDt)
GeoMesh::Mesh Mesh
Base mesh type from which GeoMesh is constructed.
const GeometricField< Type, GeoMesh, Field > & prevIter() const
Return previous iteration field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Internal::FieldType & primitiveFieldRef()
Return a reference to the primitive field.
Boundary & boundaryFieldRefNoStoreOldTimes()
Return a reference to the boundary field without storing old times.
tmp< GeometricField< cmptType, GeoMesh, Field > > component(const direction) const
Return a component of the field.
const Sources & sources() const
Return const-reference to the sources.
void operator=(const GeometricField< Type, GeoMesh, PrimitiveField > &)
DimensionedField< Type, GeoMesh, PrimitiveField > Base
Type of the field from which this GeometricField is derived.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
void operator+=(const GeometricField< Type, GeoMesh, PrimitiveField2 > &)
GeoMesh GeoMesh_
Geometric mesh type.
void operator==(const GeometricField< Type, GeoMesh, PrimitiveField2 > &)
DimensionedField< Type, GeoMesh, PrimitiveField > Internal
Type of the internal field from which this GeometricField is derived.
void min(const dimensioned< Type > &)
const Internal & operator()() const
Return a const-reference to the dimensioned internal field.
GeoMesh::template FieldSource< Type > Source
Type of the field source of which the Sources is composed.
friend class GeometricField
Declare friendship with other geometric fields.
Internal & internalFieldRef()
Return a reference to the dimensioned internal field.
void replace(const direction, const GeometricField< cmptType, GeoMesh, PrimitiveField2 > &)
Replace a component field of the field.
tmp< GeometricField< Type, GeoMesh, PrimitiveField > > clone() const
Clone.
bool needReference() const
Does the field need a reference level for solution.
GeometricBoundaryField< Type, GeoMesh, PrimitiveField > Boundary
Type of the boundary field.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
virtual ~GeometricField()
Destructor.
const Internal::FieldType & primitiveField() const
Return a const-reference to the primitive field.
void reset(const GeometricField< Type, GeoMesh, PrimitiveField2 > &)
Reset the field contents to the given field.
scalar relaxationFactor() const
Return the field relaxation factor read from fvSolution.
const Internal & v() const
Return a const-reference to the dimensioned internal field.
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 operator-=(const GeometricField< Type, GeoMesh, PrimitiveField2 > &)
void correctBoundaryConditions()
Correct boundary field.
void operator/=(const GeometricField< scalar, GeoMesh, PrimitiveField2 > &)
USING_OLD_TIME_FIELD(GeometricField)
Use old-time methods from the base class.
GeoMesh::template PatchField< Type > Patch
Type of the patch field of which the Boundary is composed.
void operator*=(const GeometricField< scalar, GeoMesh, PrimitiveField2 > &)
static tmp< GeometricField< Type, GeoMesh, PrimitiveField > > New(const word &name, const Internal &, const PtrList< Patch > &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
tmp< GeometricField< Type, GeoMesh, PrimitiveField > > cloneUnSliced() const
Clone un-sliced.
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 keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
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))
const dimensionSet invalid
List< word > wordList
A List of words.
String typeName(const std::type_info &info)
Return the un-mangled name given the standard type info.
word patchFieldType(const PatchField &pf)
FieldType::Patch::Calculated Calculated
tmp< Field0Type > operator()(const IOobject &io, const FieldType &field)
OldTimeField0Type< FieldType >::type Field0Type