44 #ifndef fvsPatchField_H 45 #define fvsPatchField_H 59 class fvPatchFieldMapper;
72 Ostream& operator<<(Ostream&, const fvsPatchField<Type>&);
131 (dynamic_cast<const fvsPatchFieldType&>(ptf), p, iF, m)
252 const word& actualPatchType,
285 template<
class Type2>
321 if (
type() == patch_.type())
326 typename patchConstructorTable::iterator patchTypeCstrIter
327 = patchConstructorTablePtr_->find(patch_.type());
331 != patchConstructorTablePtr_->end();
350 return internalField_;
356 return internalField_;
454 #define makeFvsPatchField(fvsPatchTypeField) \ 455 defineNamedTemplateTypeNameAndDebug(fvsPatchTypeField, 0); \ 457 int fvsPatchTypeField::disallowGenericFvsPatchField \ 459 debug::debugSwitch("disallowGenericFvsPatchField", 0) \ 461 defineTemplateRunTimeSelectionTable(fvsPatchTypeField, patch); \ 462 defineTemplateRunTimeSelectionTable(fvsPatchTypeField, patchMapper); \ 463 defineTemplateRunTimeSelectionTable(fvsPatchTypeField, dictionary); 466 #define addToFvsPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \ 467 addToRunTimeSelectionTable \ 470 typePatchTypeField, \ 473 addToRunTimeSelectionTable \ 476 typePatchTypeField, \ 479 addToRunTimeSelectionTable \ 482 typePatchTypeField, \ 488 #define makeFvsPatchTypeField(PatchTypeField, typePatchTypeField) \ 489 defineTypeNameAndDebug(typePatchTypeField, 0); \ 490 addToFvsPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) 494 #define makeTemplateFvsPatchTypeField(fieldType, type) \ 495 defineNamedTemplateTypeNameAndDebug \ 497 CAT4(type, FvsPatch, CAPITALIZE(fieldType), Field), \ 500 addToFvsPatchFieldRunTimeSelection \ 502 CAT3(fvsPatch, CAPITALIZE(fieldType), Field), \ 503 CAT4(type, FvsPatch, CAPITALIZE(fieldType), Field) \ 507 #define makeFvsPatchFields(type) \ 508 FOR_ALL_FIELD_TYPES(makeTemplateFvsPatchTypeField, type) 511 #define makeFvsPatchFieldTypeName(fieldType, type) \ 512 defineNamedTemplateTypeNameAndDebug \ 514 CAT4(type, FvsPatch, CAPITALIZE(fieldType), Field), \ 519 #define makeFvsPatchFieldTypeNames(type) \ 520 FOR_ALL_FIELD_TYPES(makeFvsPatchFieldTypeName, type) 523 #define makeFvsPatchTypeFieldTypedef(fieldType, type) \ 524 typedef type##FvsPatchField<fieldType> \ 525 CAT4(type, FvsPatch, CAPITALIZE(fieldType), Field); 528 #define makeFvsPatchTypeFieldTypedefs(type) \ 529 FOR_ALL_FIELD_TYPES(makeFvsPatchTypeFieldTypedef, type) virtual void operator*=(const fvsPatchField< scalar > &)
virtual void reset(const fvsPatchField< Type > &)
Reset the fvsPatchField to the given fvsPatchField.
virtual bool fixesValue() const
Return true if this patch field fixes a value.
virtual void write(Ostream &) const
Write.
virtual tmp< Field< Type > > patchNeighbourField(const Pstream::commsTypes commsType) const
Return patchField on the opposite patch of a coupled patch.
TypeName("fvsPatchField")
Runtime type information.
const Field< Type > & primitiveField() const
Return internal field reference.
const objectRegistry & db() const
Return local objectRegistry.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
A list of keyword definitions, which are a keyword followed by any number of values (e...
commsTypes
Types of communications.
virtual void operator==(const fvsPatchField< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
static tmp< fvsPatchField< Type > > NewCalculatedType(const fvPatch &)
Return a pointer to a new calculatedFvsPatchField created on.
calculatedFvsPatchField< Type > Calculated
virtual void operator/=(const fvsPatchField< scalar > &)
static tmp< fvsPatchField< Type > > New(const word &, const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Return a pointer to a new patchField created on freestore given.
Pre-declare SubField and related Field type.
tmp< fvsPatchField< Type > > clone() const
Disallow clone without setting internal field reference.
virtual bool coupled() const
Return true if this patch field is coupled.
A class for handling words, derived from string.
bool overridesConstraint() const
Return true if this overrides the underlying constraint type.
void check(const fvsPatchField< Type > &) const
Check fvsPatchField<Type> against given fvsPatchField<Type>
Foam::fvPatchFieldMapper.
declareRunTimeSelectionTable(tmp, fvsPatchField, patch,(const fvPatch &p, const DimensionedField< Type, surfaceMesh > &iF),(p, iF))
fvsPatchField(const fvPatch &, const DimensionedField< Type, surfaceMesh > &)
Construct from patch and internal field.
virtual void operator-=(const fvsPatchField< Type > &)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual void rmap(const fvsPatchField< Type > &, const labelList &)
Reverse map the given fvsPatchField onto this fvsPatchField.
const fvPatch & patch() const
Return patch.
virtual void operator+=(const fvsPatchField< Type > &)
virtual void initPatchNeighbourField(const Pstream::commsTypes commsType) const
Initialise return of the patchField on the opposite patch of a.
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...
virtual void operator=(const UList< Type > &)
Foam::calculatedFvsPatchField.
const DimensionedField< Type, surfaceMesh > & internalField() const
Return dimensioned internal field reference.
A class for managing temporary objects.
Registry of regIOobjects.
static const word & calculatedType()
Return the type of the calculated for of fvsPatchField.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
static int disallowGenericFvsPatchField
Debug switch to disallow the use of genericFvsPatchField.