39 #ifndef GeometricField_H 40 #define GeometricField_H 58 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
61 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
65 const GeometricField<Type, PatchField, GeoMesh>&
68 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
72 const tmp<GeometricField<Type, PatchField, GeoMesh>>&
80 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
83 public DimensionedField<Type, GeoMesh>
91 bool readOldTimeIfPresent();
110 typedef PatchField<Type>
Patch;
120 const BoundaryMesh& bmesh_;
159 const PtrList<PatchField<Type>>&
203 const Internal&
field,
265 mutable label timeIndex_;
312 const word& patchFieldType=PatchField<Type>::calculatedType()
333 const word& patchFieldType=PatchField<Type>::calculatedType()
351 const PtrList<PatchField<Type>>&
361 const PtrList<PatchField<Type>>&
430 const word& patchFieldType
461 const word& patchFieldType=PatchField<Type>::calculatedType()
471 const word& patchFieldType=PatchField<Type>::calculatedType()
519 inline const Internal&
v()
const;
689 friend Ostream& operator<< <Type, PatchField, GeoMesh>
695 friend Ostream& operator<< <Type, PatchField, GeoMesh>
703 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
void operator=(const Boundary &)
Assignment operator.
const GeometricField< Type, PatchField, GeoMesh > & oldTime() const
Return old time field.
Boundary(const BoundaryMesh &)
Construct from a BoundaryMesh.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
GeoMesh::BoundaryMesh BoundaryMesh
Type of boundary mesh on which this.
A list of keyword definitions, which are a keyword followed by any number of values (e...
void writeEntry(const word &keyword, Ostream &os) const
Write boundary field as dictionary entry.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
bool writeData(Ostream &) const
WriteData member function required by regIOobject.
MESH::BoundaryMesh BoundaryMesh
pTraits< Type >::cmptType cmptType
Component type.
void evaluate()
Evaluate boundary conditions.
GeoMesh::Mesh Mesh
Type of mesh on which this GeometricField is instantiated.
TypeName("GeometricField")
Runtime type information.
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
Generic GeometricField class.
Generic dimensioned Type class.
LduInterfaceFieldPtrsList< Type > interfaces() const
Return a list of pointers for each patch field with only those.
label nOldTimes() const
Return the number of old time fields stored.
void operator==(const Boundary &)
Forced assignment to.
void maxMin(const dimensioned< Type > &minDt, const dimensioned< Type > &maxDt)
DimensionedField< Type, GeoMesh > Internal
Type of the internal field from which this GeometricField is derived.
word select(bool final) const
Select the final iteration parameters if `final' is true.
wordList types() const
Return a list of the patch types.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Mesh &, const dimensionSet &, const word &patchFieldType=PatchField< Type >::calculatedType())
Return a temporary field constructed from name, mesh, dimensionSet.
void readField(const Internal &field, const dictionary &dict)
Read the boundary field.
void updateCoeffs()
Update the boundary condition coefficients.
bool needReference() const
Does the field need a reference level for solution.
Dimension set for the base types.
const Internal & v() const
Return a const-reference to the dimensioned internal field.
void negate()
Negate this field.
void storeOldTimes() const
Store the old-time fields.
Pre-declare SubField and related Field type.
A class for handling words, derived from string.
void storeOldTime() const
Store the old-time field.
void writeMinMax(Ostream &os) const
Helper function to write the min and max to an Ostream.
void operator*=(const FieldField< PatchField, scalar > &)
void min(const dimensioned< Type > &)
GeometricField(const IOobject &, const Mesh &, const dimensionSet &, const word &patchFieldType=PatchField< Type >::calculatedType())
Constructor given IOobject, mesh, dimensions and patch type.
void operator+=(const FieldField< PatchField, Type > &)
Internal::FieldType & primitiveFieldRef()
Return a reference to the internal field.
const GeometricField< Type, PatchField, GeoMesh > & prevIter() const
Return previous iteration field.
void operator/=(const FieldField< PatchField, scalar > &)
const Field< Type > & field() const
tmp< FieldField< PatchField, cmptType > > component(const direction) const
Return a component field of the field.
virtual ~GeometricField()
Destructor.
void replace(const direction, const FieldField< PatchField, cmptType > &)
Replace a component field of the field.
label timeIndex() const
Return the time index of the field.
Internal & ref()
Return a reference to the dimensioned internal field.
static const GeometricField< Type, PatchField, GeoMesh > & null()
Return a null geometric field.
List< word > wordList
A List of words.
pTraits< Type >::cmptType cmptType
Component type.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
PatchField< Type > Patch
Type of the patch field of which the.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
void max(const dimensioned< Type > &)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
void correctBoundaryConditions()
Correct boundary field.
lduInterfaceFieldPtrsList scalarInterfaces() const
Return a list of pointers for each patch field with only those.
A class representing the concept of 0 used to avoid unnecessary manipulations for objects that are kn...
tmp< FieldField< PatchField, Type > > T() const
Return the field transpose (only defined for second rank tensors)
void storePrevIter() const
Store the field as the previous iteration value.
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
void operator-=(const FieldField< PatchField, Type > &)
A class for managing temporary objects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const T * operator()(const label) const
Return element const pointer.
void scale(const GeometricField< Type, PatchField, GeoMesh > &, const GeometricField< Type, PatchField, GeoMesh > &)
Boundary boundaryInternalField() const
Return BoundaryField of the cell values neighbouring.
List of coupled interface fields to be used in coupling.
void relax()
Relax field (for steady-state solution).
tmp< FieldField< PatchField, Type > > clone() const
Clone.