38#ifndef Foam_GeometricBoundaryField_H
39#define Foam_GeometricBoundaryField_H
56template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
95 template<
class CheckPatchField>
96 bool checkConsistency(
const scalar tol,
const bool exitIfBad)
const;
116 const word& patchFieldType = PatchField<Type>::calculatedType()
136 const PtrList<PatchField<Type>>& ptfl
153 const word& patchFieldName
195 template<
class UnaryPredicate>
198 const UnaryPredicate& pred,
215 template<
class CoupledPatchType>
286template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
List of coupled interface fields to be used in coupling.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
constexpr FieldField() noexcept
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
MESH::BoundaryMesh BoundaryMesh
Generic GeometricBoundaryField class.
void operator=(Foam::zero)
Assignment to zero.
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...
GeometricBoundaryField(const BoundaryMesh &bmesh, const Internal &iField, const dictionary &dict)
Construct from dictionary.
lduInterfaceFieldPtrsList scalarInterfaces() const
Return a list of pointers for each patch field with only those pointing to interfaces being set.
DimensionedField< Type, areaMesh > Internal
void operator==(const Type &val)
Forced assignment to uniform value.
GeometricBoundaryField< Type, faPatchField, areaMesh > this_type
void evaluateSelected(const labelUList &patchIDs)
Evaluate boundary conditions for selected patches. Uses non-blocking comms.
wordList types() const
Return a list of the patch types.
this_type & constCast() const noexcept
Return non-const reference to this boundary field.
void operator=(const FieldField< PatchField, Type > &bf)
Copy assignment from FieldField<PatchField, Type>.
bool operator!=(const Type &)=delete
GeometricBoundaryField(const Internal &iField, const GeometricBoundaryField< Type, PatchField, GeoMesh > &btf, const labelList &patchIDs, const word &patchFieldName)
Construct as copy, setting the reference to the internal field and resetting type of field for given ...
LduInterfaceFieldPtrsList< Type > interfaces() const
Return a list of pointers for each patch field with only those pointing to interfaces being set.
void evaluateCoupled(const UPstream::commsTypes commsType=UPstream::defaultCommsType)
Evaluate boundary conditions on coupled patches of the given type, using specified or default comms.
void writeEntries(Ostream &os) const
Write dictionary entries of the individual boundary fields.
GeometricBoundaryField(const GeometricBoundaryField &btf)
Copy construct.
bool check() const
Helper: check if field has been evaluated. See instantiations.
GeometricBoundaryField< Type, faPatchField, areaMesh > Boundary
void writeEntry(const word &keyword, Ostream &os) const
Write boundary field as dictionary entry.
void updateCoeffs()
Update the boundary condition coefficients.
areaMesh::BoundaryMesh BoundaryMesh
faPatchField< Type > Patch
bool operator!=(const FieldField< PatchField, Type > &)=delete
GeometricBoundaryField(const BoundaryMesh &bmesh)
Construct from a BoundaryMesh, setting patches later.
bool operator!=(Foam::zero)=delete
void readField(const Internal &iField, const dictionary &dict)
Read the boundary field.
void operator==(Foam::zero)
Forced assignment to zero.
void evaluateLocal(const UPstream::commsTypes commsType=UPstream::defaultCommsType)
Evaluate boundary conditions after change in local values. Uses specified or default comms.
tmp< GeometricBoundaryField > boundaryInternalField() const
Return boundary field of values neighbouring the boundary.
GeometricBoundaryField(const BoundaryMesh &bmesh, const Internal &iField, const wordList &wantedPatchTypes, const wordList &actualPatchTypes=wordList())
Construct from a BoundaryMesh, reference to the internal field and a wordList of patch types and opti...
GeometricBoundaryField(const BoundaryMesh &bmesh, const Internal &iField, const PtrList< PatchField< Type > > &ptfl)
Construct from a BoundaryMesh, reference to the internal field and a PtrList<PatchField<Type>> (to be...
void operator=(const Type &val)
Assignment to uniform value.
GeometricBoundaryField(const Internal &iField, const GeometricBoundaryField< Type, PatchField, GeoMesh > &btf)
Construct as copy, setting the reference to the internal field.
void operator==(const FieldField< PatchField, Type > &bf)
Forced assignment from FieldField<PatchField, Type>.
void operator=(const GeometricBoundaryField &bf)
Copy assignment from GeometricBoundaryField.
void evaluate(const UPstream::commsTypes commsType=UPstream::defaultCommsType)
Evaluate boundary conditions for each patch field. Uses specified or default comms.
bool operator!=(const GeometricBoundaryField &)=delete
GeometricBoundaryField(const BoundaryMesh &bmesh, const Internal &iField, const word &patchFieldType=PatchField< Type >::calculatedType())
Construct from a BoundaryMesh, reference to the internal field and a patch type.
void operator==(const GeometricBoundaryField &bf)
Forced assignment from GeometricBoundaryField.
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....
commsTypes
Communications types.
static commsTypes defaultCommsType
Default commsType.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
OBJstream os(runTime.globalPath()/outputName)
List< word > wordList
List of word.
List< label > labelList
A List of labels.
UList< label > labelUList
A UList of labels.
UPtrList< const lduInterfaceField > lduInterfaceFieldPtrsList
List of coupled interface fields to be used in coupling.
UPtrList< const LduInterfaceField< Type > > LduInterfaceFieldPtrsList
Store lists of LduInterfaceField as a UPtrList.