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>>
96 typedef typename GeoMesh::Mesh
Mesh;
105 typedef typename GeoMesh::template PatchField<Type>
Patch;
111 typedef typename GeoMesh::template FieldSource<Type>
Source;
117 typedef typename PrimitiveField<Type>::cmptType
cmptType;
150 template<
class Type2,
class GeoMesh2,
template<
class>
class PrimitiveField2>
226 const PrimitiveField<Type>&,
241 template<
template<
class>
class PrimitiveField2>
257 template<
template<
class>
class PrimitiveField2>
272 template<
template<
class>
class PrimitiveField2>
287 template<
template<
class>
class PrimitiveField2>
305 template<
template<
class>
class PrimitiveField2>
322 template<
template<
class>
class PrimitiveField2>
346 template<
template<
class>
class PrimitiveField2>
426 template<
template<
class>
class PrimitiveField2>
444 template<
template<
class>
class PrimitiveField2>
462 template<
template<
class>
class PrimitiveField2>
486 template<
template<
class>
class PrimitiveField2>
574 template<
template<
class>
class PrimitiveField2>
583 template<
template<
class>
class PrimitiveField2>
616 template<
template<
class>
class PrimitiveField2>
626 template<
template<
class>
class PrimitiveField2>
643 template<
template<
class>
class PrimitiveField2>
651 template<
template<
class>
class PrimitiveField2>
686 template<
template<
class>
class PrimitiveField2>
695 template<
template<
class>
class PrimitiveField2>
703 template<
template<
class>
class PrimitiveField2>
712 template<
template<
class>
class PrimitiveField2>
720 template<
template<
class>
class PrimitiveField2>
725 template<
template<
class>
class PrimitiveField2>
732 template<
template<
class>
class PrimitiveField2>
737 template<
template<
class>
class PrimitiveField2>
744 template<
template<
class>
class PrimitiveField2>
749 template<
template<
class>
class PrimitiveField2>
756 template<
template<
class>
class PrimitiveField2>
761 template<
template<
class>
class PrimitiveField2>
771 friend Ostream& operator<< <Type, GeoMesh, PrimitiveField>
777 friend Ostream& operator<< <Type, GeoMesh, PrimitiveField>
785 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
793 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
800 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))
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