38 #ifndef Foam_GeometricBoundaryField_H 39 #define Foam_GeometricBoundaryField_H 56 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
75 typedef PatchField<Type>
Patch;
91 template<
class CheckPatchField>
92 bool checkConsistency(
const scalar tol,
const bool exitIfBad)
const;
138 const PtrList<PatchField<Type>>& ptfl
155 const word& patchFieldName
191 template<
class UnaryPredicate>
194 const UnaryPredicate& pred,
207 template<
class CoupledPatchType>
271 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
const labelList patchIDs(pbm.indices(polyPatchNames, true))
PatchField< Type > Patch
The patch field type for the boundary fields.
static int localConsistency
Enable local consistency.
GeometricBoundaryField(const BoundaryMesh &bmesh)
Construct from a BoundaryMesh, setting patches later.
tmp< GeometricBoundaryField > boundaryInternalField() const
Return boundary field of values neighbouring the boundary.
commsTypes
Communications types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
void evaluate(const UPstream::commsTypes commsType=UPstream::defaultCommsType)
Evaluate boundary conditions for each patch field. Uses specified or default comms.
MESH::BoundaryMesh BoundaryMesh
lduInterfaceFieldPtrsList scalarInterfaces() const
Return a list of pointers for each patch field with only those pointing to interfaces being set...
wordList types() const
Return a list of the patch types.
GeometricBoundaryField< Type, PatchField, GeoMesh > Boundary
This boundary field type.
static scalar tolerance
User-defined tolerance (for consistency checks)
void evaluateCoupled(const UPstream::commsTypes commsType=UPstream::defaultCommsType)
Evaluate boundary conditions on coupled patches of given type. Uses specified or default comms...
void evaluateLocal(const UPstream::commsTypes commsType=UPstream::defaultCommsType)
Evaluate boundary conditions after change in local values. Uses specified or default comms...
A field of fields is a PtrList of fields with reference counting.
bool operator!=(const GeometricBoundaryField &)=delete
const word calculatedType
A calculated patch field type.
GeoMesh::BoundaryMesh BoundaryMesh
The boundary mesh type for the boundary fields.
A class for handling words, derived from Foam::string.
void operator==(const GeometricBoundaryField &bf)
Forced assignment from GeometricBoundaryField.
void evaluate_if(const UnaryPredicate &pred, const UPstream::commsTypes commsType=UPstream::defaultCommsType)
Evaluate boundary conditions for patch fields matching the given predicate. Uses specified or default...
void evaluateSelected(const labelUList &patchIDs)
Evaluate boundary conditions for selected patches. Uses non-blocking comms.
void operator=(const GeometricBoundaryField &bf)
Copy assignment from GeometricBoundaryField.
void readField(const Internal &iField, const dictionary &dict)
Read the boundary field.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
bool check() const
Helper: check if field has been evaluated. See instantiations.
void updateCoeffs()
Update the boundary condition coefficients.
DimensionedField< Type, GeoMesh > Internal
The internal field type associated with the boundary fields.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
OBJstream os(runTime.globalPath()/outputName)
Generic GeometricBoundaryField class.
List< word > wordList
List of word.
static commsTypes defaultCommsType
Default commsType.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
void writeEntry(const word &keyword, Ostream &os) const
Write boundary field as dictionary entry.
static int debug
Enable debug.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
LduInterfaceFieldPtrsList< Type > interfaces() const
Return a list of pointers for each patch field with only those pointing to interfaces being set...
void writeEntries(Ostream &os) const
Write dictionary entries of the individual boundary fields.
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
A class for managing temporary objects.
List of coupled interface fields to be used in coupling.