31 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
50 label nUnset = this->size();
56 if (iter().isDict() && !iter().keyword().isPattern())
58 label patchi = bmesh_.findPatchID(iter().keyword());
101 const labelList patchIDs = bmesh_.findIndices
111 if (!this->
set(patchi))
135 if (bmesh_[
patchi].
type() == emptyPolyPatch::typeName)
142 emptyPolyPatch::typeName,
161 dict.
subDict(bmesh_[patchi].name())
174 if (bmesh_[
patchi].
type() == cyclicPolyPatch::typeName)
179 ) <<
"Cannot find patchField entry for cyclic " 187 ) <<
"Cannot find patchField entry for " 197 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
209 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
215 const word& patchFieldType
242 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
262 patchFieldTypes.
size() != this->size()
263 || (constraintTypes.
size() && (constraintTypes.
size() != this->size()))
267 <<
"Incorrect number of patch type specifications given" <<
nl 268 <<
" Number of patches in mesh = " << bmesh.size()
269 <<
" number of patch type specifications = " 270 << patchFieldTypes.
size()
274 if (constraintTypes.
size())
284 constraintTypes[patchi],
310 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
316 const PtrList<PatchField<Type>>& ptfl
334 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
358 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
370 readField(field, dict);
376 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
392 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
432 bmesh_.mesh().globalData().patchSchedule();
434 forAll(patchSchedule, patchEvali)
436 if (patchSchedule[patchEvali].init)
438 this->
operator[](patchSchedule[patchEvali].patch)
443 this->
operator[](patchSchedule[patchEvali].patch)
451 <<
"Unsupported communications type " 458 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
476 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
482 BoundaryInternalField(*
this);
486 BoundaryInternalField[
patchi] ==
490 return BoundaryInternalField;
494 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
520 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
529 if (isA<lduInterfaceField>(this->
operator[](
patchi)))
534 &refCast<const lduInterfaceField>
546 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
565 "GeometricField<Type, PatchField, GeoMesh>::Boundary::" 566 "writeEntry(const word& keyword, Ostream& os) const" 573 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
585 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
597 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
608 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
619 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
634 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
648 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
664 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
672 os << static_cast<const FieldField<PatchField, Type>&>(bf);
bool isA(const Type &t)
Check if a dynamic_cast to typeid is possible.
const_reverse_iterator rbegin() const
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
#define forAll(list, i)
Loop across all elements in list.
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.
Ostream & indent(Ostream &os)
Indent stream.
const keyType & keyword() const
Return keyword.
GeoMesh::BoundaryMesh BoundaryMesh
Type of boundary mesh on which this.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
void writeEntry(const word &keyword, Ostream &os) const
Write boundary field as dictionary entry.
To & refCast(From &r)
Reference type cast template function.
void size(const label)
Override size to be inconsistent with allocated storage.
const T & operator[](const label) const
Return element const reference.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void evaluate()
Evaluate boundary conditions.
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
virtual const dictionary & dict() const =0
Return dictionary if this entry is a dictionary.
static label nRequests()
Get number of outstanding requests.
Generic GeometricField class.
LduInterfaceFieldPtrsList< Type > interfaces() const
Return a list of pointers for each patch field with only those.
wordList types() const
Return a list of the patch field types.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
void readField(const Internal &field, const dictionary &dict)
Read the boundary field.
void operator=(const FieldField< Field, Type > &)
void updateCoeffs()
Update the boundary condition coefficients.
points setSize(newPointi)
autoPtr< BasicCompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleMomentumTransportModel::transportModel &transport)
A class for handling words, derived from string.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
errorManip< error > abort(error &err)
A wordRe is a word, but can also have a regular expression for matching words.
virtual bool isDict() const
Return true if this entry is a dictionary.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const const_reverse_iterator & rend() const
bool set(const label) const
Is element set.
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
static const NamedEnum< commsTypes, 3 > commsTypeNames
static void waitRequests(const label start=0)
Wait until all requests (from start onwards) have finished.
word name(const complex &)
Return a string representation of a complex.
An STL-conforming const_reverse_iterator.
label size() const
Return the number of elements in the UPtrList.
static commsTypes defaultCommsType
Default commsType.
static bool & parRun()
Is this a parallel run?
tmp< GeometricField< Type, PatchField, GeoMesh > > clone() const
Clone.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
lduInterfaceFieldPtrsList scalarInterfaces() const
Return a list of pointers for each patch field with only those.
friend Ostream & operator(Ostream &, const FieldField< PatchField, Type > &)
Generic mesh wrapper used by volMesh, surfaceMesh, pointMesh etc.
Ostream & incrIndent(Ostream &os)
Increment the indent level.
Boundary boundaryInternalField() const
Return BoundaryField of the cell values neighbouring.
const dimensionedScalar e
Elementary charge.
A keyword and a list of tokens is an 'entry'.
bool isPattern() const
Should be treated as a match rather than a literal string.
#define InfoInFunction
Report an information message using Foam::Info.