44 #ifndef fvsPatchField_H
45 #define fvsPatchField_H
70 class calculatedFvsPatchField;
73 class slicedFvsPatchField;
157 (
dynamic_cast<const fvsPatchFieldType&
>(ptf),
p, iF, m)
184 const bool valueRequired=
true
194 const bool mappingRequired=
true
267 const word& actualPatchType,
300 template<
class Type2>
336 if (
type() == patch_.type())
341 typename patchConstructorTable::iterator patchTypeCstrIter
342 = patchConstructorTablePtr_->find(patch_.type());
346 != patchConstructorTablePtr_->end();
365 return internalField_;
371 return internalField_;
464 #define makeFvsPatchField(fvsPatchTypeField) \
465 defineNamedTemplateTypeNameAndDebug(fvsPatchTypeField, 0); \
467 int fvsPatchTypeField::disallowGenericFvsPatchField \
469 debug::debugSwitch("disallowGenericFvsPatchField", 0) \
471 defineTemplateRunTimeSelectionTable(fvsPatchTypeField, patch); \
472 defineTemplateRunTimeSelectionTable(fvsPatchTypeField, patchMapper); \
473 defineTemplateRunTimeSelectionTable(fvsPatchTypeField, dictionary);
476 #define addToFvsPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \
477 addToRunTimeSelectionTable \
480 typePatchTypeField, \
483 addToRunTimeSelectionTable \
486 typePatchTypeField, \
489 addToRunTimeSelectionTable \
492 typePatchTypeField, \
498 #define makeFvsPatchTypeField(PatchTypeField, typePatchTypeField) \
499 defineTypeNameAndDebug(typePatchTypeField, 0); \
500 addToFvsPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField)
504 #define makeTemplateFvsPatchTypeField(fieldType, type) \
505 defineNamedTemplateTypeNameAndDebug \
507 CAT4(type, FvsPatch, CAPITALIZE(fieldType), Field), \
510 addToFvsPatchFieldRunTimeSelection \
512 CAT3(fvsPatch, CAPITALIZE(fieldType), Field), \
513 CAT4(type, FvsPatch, CAPITALIZE(fieldType), Field) \
517 #define makeFvsPatchFields(type) \
518 FOR_ALL_FIELD_TYPES(makeTemplateFvsPatchTypeField, type)
521 #define makeFvsPatchFieldTypeName(fieldType, type) \
522 defineNamedTemplateTypeNameAndDebug \
524 CAT4(type, FvsPatch, CAPITALIZE(fieldType), Field), \
529 #define makeFvsPatchFieldTypeNames(type) \
530 FOR_ALL_FIELD_TYPES(makeFvsPatchFieldTypeName, type)
533 #define makeFvsPatchTypeFieldTypedef(fieldType, type) \
534 typedef type##FvsPatchField<fieldType> \
535 CAT4(type, FvsPatch, CAPITALIZE(fieldType), Field);
538 #define makeFvsPatchTypeFieldTypedefs(type) \
539 FOR_ALL_FIELD_TYPES(makeFvsPatchTypeFieldTypedef, type)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Pre-declare SubField and related Field type.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
commsTypes
Types of communications.
Foam::calculatedFvsPatchField.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Abstract base class for field mapping.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
virtual bool fixesValue() const
Return true if this patch field fixes a value.
virtual void write(Ostream &) const
Write.
virtual bool coupled() const
Return true if this patch field is coupled.
fvPatch Patch
The patch type.
virtual void reset(const fvsPatchField< Type > &)
Reset the fvsPatchField to the given fvsPatchField.
virtual void operator==(const fvsPatchField< Type > &)
fvsPatchField(const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Construct from patch and internal field.
const Field< Type > & primitiveField() const
Return internal field reference.
declareRunTimeSelectionTable(tmp, fvsPatchField, patch,(const fvPatch &p, const DimensionedField< Type, surfaceMesh > &iF),(p, iF))
const objectRegistry & db() const
Return local objectRegistry.
static tmp< fvsPatchField< Type > > NewCalculatedType(const fvPatch &)
Return a pointer to a new calculatedFvsPatchField created on.
virtual void operator=(const UList< Type > &)
TypeName("fvsPatchField")
Runtime type information.
virtual void map(const fvsPatchField< Type > &, const fieldMapper &)
Map the given fvsPatchField onto this fvsPatchField.
const DimensionedField< Type, surfaceMesh > & internalField() const
Return dimensioned internal field reference.
slicedFvsPatchField< Type > Sliced
The sliced patch field type.
virtual void operator-=(const fvsPatchField< Type > &)
tmp< fvsPatchField< Type > > clone() const
Disallow clone without setting internal field reference.
virtual void operator/=(const fvsPatchField< scalar > &)
bool overridesConstraint() const
Return true if this overrides the underlying constraint type.
virtual tmp< Field< Type > > patchNeighbourField(const Pstream::commsTypes commsType) const
Return patchField on the opposite patch of a coupled patch.
virtual void operator+=(const fvsPatchField< Type > &)
virtual ~fvsPatchField()
Destructor.
calculatedFvsPatchField< Type > Calculated
The calculated patch field type.
void check(const fvsPatchField< Type > &) const
Check fvsPatchField<Type> against given fvsPatchField<Type>
const fvPatch & patch() const
Return patch.
virtual void initPatchNeighbourField(const Pstream::commsTypes commsType) const
Initialise return of the patchField on the opposite patch of a.
static tmp< fvsPatchField< Type > > New(const word &, const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Return a pointer to a new patchField created on freestore given.
static int disallowGenericFvsPatchField
Debug switch to disallow the use of genericFvsPatchField.
virtual void operator*=(const fvsPatchField< scalar > &)
static const word & calculatedType()
Return the type of the calculated for of fvsPatchField.
Registry of regIOobjects.
Specialisation of fvsPatchField which creates the underlying fvsPatchField as a slice of the given co...
A class for managing temporary objects.
A class for handling words, derived from string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.