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_;
353 const PtrList<PatchField<Type>>&
363 const PtrList<PatchField<Type>>&
462 const PtrList<PatchField<Type>>&
538 inline const Internal&
v()
const;
685 friend Ostream& operator<< <Type, PatchField, GeoMesh>
691 friend Ostream& operator<< <Type, PatchField, GeoMesh>
699 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.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &)
Return a temporary field constructed from name,.
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 field types.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
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 field 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.
word patchFieldType(const PatchField &pf)
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const T * operator()(const label) const
Return element const pointer.
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.