41#ifndef Foam_GeometricField_H
42#define Foam_GeometricField_H
55template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
58template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
65template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
77template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
99 typedef PatchField<Type>
Patch;
111 mutable label timeIndex_;
126 bool readIfPresent();
129 bool readOldTimeIfPresent();
160 const word& patchFieldType = PatchField<Type>::calculatedType()
183 const word& patchFieldType = PatchField<Type>::calculatedType()
203 const PtrList<PatchField<Type>>& ptfl
211 const PtrList<PatchField<Type>>& ptfl
219 const PtrList<PatchField<Type>>& ptfl
226 const PtrList<PatchField<Type>>& ptfl
233 const PtrList<PatchField<Type>>& ptfl
243 const word& patchFieldType = PatchField<Type>::calculatedType()
253 const word& patchFieldType = PatchField<Type>::calculatedType()
263 const PtrList<PatchField<Type>>& ptfl
273 const PtrList<PatchField<Type>>& ptfl
283 const PtrList<PatchField<Type>>& ptfl
291 const bool readOldTime =
true
347 const word& patchFieldType
357 const word& patchFieldType
392 const word& patchFieldType = PatchField<Type>::calculatedType()
405 const word& patchFieldType = PatchField<Type>::calculatedType()
418 const word& patchFieldType = PatchField<Type>::calculatedType()
430 const word& patchFieldType = PatchField<Type>::calculatedType()
497 const bool updateAccessTime =
true
676template<class Type, template<class> class PatchField, class
GeoMesh>
691#include "GeometricFieldI.H"
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const Mesh & mesh() const
Return mesh.
Generic templated field type.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
MESH::BoundaryMesh BoundaryMesh
Generic GeometricBoundaryField class.
Generic GeometricField class.
void storeOldTime() const
Store the old-time field.
friend Ostream & operator(Ostream &, const GeometricField< Type, PatchField, GeoMesh > &)
DimensionedField< Type, GeoMesh > Internal
The internal field type 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 maxMin(const dimensioned< Type > &minVal, const dimensioned< Type > &maxVal)
Deprecated(2019-01) identical to clip()
void relax()
Relax field (for steady-state solution).
const GeometricField< Type, PatchField, GeoMesh > & oldTime() const
Return old time field.
TypeName("GeometricField")
Runtime type information.
label timeIndex() const
Return the time index of the field.
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
The mesh type for the GeometricField.
void replace(const direction d, const GeometricField< cmptType, PatchField, GeoMesh > &gcf)
Replace specified field component with content from another field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Mesh &mesh, const dimensionSet &ds, const word &patchFieldType=PatchField< Type >::calculatedType())
Return tmp field from name, mesh, dimensions and patch type.
void max(const dimensioned< Type > &dt)
Use the maximum of the field and specified value.
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
GeometricBoundaryField< Type, PatchField, GeoMesh > Boundary
Type of boundary fields.
GeoMesh::BoundaryMesh BoundaryMesh
The boundary mesh type for the boundary fields.
void clip(const dimensioned< MinMax< Type > > &range)
Clip the field to be bounded within the specified range.
const Internal & v() const
PatchField< Type > Patch
The patch field type for the GeometricBoundaryField.
Field< Type >::cmptType cmptType
The field component type.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
const GeometricField< Type, PatchField, GeoMesh > & prevIter() const
Return previous iteration field.
bool needReference() const
Does the field need a reference level for solution.
virtual ~GeometricField()
Destructor.
void negate()
Negate the field inplace. See notes in Field.
void storePrevIter() const
Store the field as the previous iteration value.
void min(const dimensioned< Type > &dt)
Use the minimum of the field and specified 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.
static const GeometricField< Type, PatchField, GeoMesh > & null()
Return a null geometric field.
void correctBoundaryConditions()
Correct boundary field.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
void normalise()
Normalise the field inplace. See notes in Field.
tmp< GeometricField< Type, PatchField, GeoMesh > > clone() const
Clone.
tmp< GeometricField< cmptType, PatchField, GeoMesh > > component(const direction) const
Return a component of the field.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & name() const noexcept
Return the object name.
A min/max value pair with additional methods. In addition to conveniently storing values,...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Generic dimensioned Type class.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
List< word > wordList
A List of words.
#define FOAM_DEPRECATED_FOR(since, replacement)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
conserve primitiveFieldRef()+