42 #ifndef pointPatchField_H
43 #define pointPatchField_H
66 class pointPatchField;
69 class calculatedPointPatchField;
134 (
dynamic_cast<const pointPatchFieldType&
>(ptf),
p, iF, m)
231 const word& actualPatchType,
257 template<
class Type2>
298 if (
type() == patch_.type())
303 typename pointPatchConstructorTable::iterator patchTypeCstrIter
304 = pointPatchConstructorTablePtr_->find(patch_.type());
308 != pointPatchConstructorTablePtr_->end();
329 return internalField_;
335 return internalField_;
349 template<
class Type1>
357 template<
class Type1>
366 template<
class Type1>
375 template<
class Type1>
385 template<
class Type1>
395 template<
class Type1>
480 friend Ostream& operator<< <Type>
515 #define makePointPatchField(pointPatchTypeField) \
516 defineNamedTemplateTypeNameAndDebug(pointPatchTypeField, 0); \
518 int pointPatchTypeField::disallowGenericPointPatchField \
520 debug::debugSwitch("disallowGenericPointPatchField", 0) \
522 defineTemplateRunTimeSelectionTable(pointPatchTypeField, pointPatch); \
523 defineTemplateRunTimeSelectionTable(pointPatchTypeField, patchMapper); \
524 defineTemplateRunTimeSelectionTable(pointPatchTypeField, dictionary);
527 #define addToPointPatchFieldRunTimeSelection(PatchTypeField,typePatchTypeField)\
528 addToRunTimeSelectionTable \
531 typePatchTypeField, \
534 addToRunTimeSelectionTable \
537 typePatchTypeField, \
542 #define addToNullConstructablePointPatchFieldRunTimeSelection( \
543 PatchTypeField, typePatchTypeField) \
545 addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \
547 addToRunTimeSelectionTable \
550 typePatchTypeField, \
556 #define makePointPatchTypeField(PatchTypeField, typePatchTypeField) \
557 defineTypeNameAndDebug(typePatchTypeField, 0); \
558 addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField)
562 #define makeNullConstructablePointPatchTypeField( \
563 PatchTypeField, typePatchTypeField) \
565 defineTypeNameAndDebug(typePatchTypeField, 0); \
566 addToNullConstructablePointPatchFieldRunTimeSelection \
574 #define makeTemplatePointPatchTypeField(fieldType, type) \
575 defineNamedTemplateTypeNameAndDebug \
577 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field), \
580 addToPointPatchFieldRunTimeSelection \
582 CAT3(pointPatch, CAPITALIZE(fieldType), Field), \
583 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field) \
588 #define makeNullConstructableTemplatePointPatchTypeField(fieldType, type) \
589 defineNamedTemplateTypeNameAndDebug \
591 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field), \
594 addToNullConstructablePointPatchFieldRunTimeSelection \
596 CAT3(pointPatch, CAPITALIZE(fieldType), Field), \
597 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field) \
601 #define makePointPatchFields(type) \
602 FOR_ALL_FIELD_TYPES(makeTemplatePointPatchTypeField, type)
605 #define makeNullConstructablePointPatchFields(type) \
606 FOR_ALL_FIELD_TYPES(makeNullConstructableTemplatePointPatchTypeField, type)
609 #define makePointPatchFieldTypeName(fieldType, type) \
610 defineNamedTemplateTypeNameAndDebug \
612 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field), \
617 #define makePointPatchFieldTypeNames(type) \
618 FOR_ALL_FIELD_TYPES(makePointPatchFieldTypeName, type)
621 #define makePointPatchFieldTypedef(fieldType, type) \
622 typedef type##PointPatchField<fieldType> \
623 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field);
626 #define makePointPatchFieldTypedefs(type) \
627 FOR_ALL_FIELD_TYPES(makePointPatchFieldTypedef, 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,...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
commsTypes
Types of communications.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A calculated boundary condition for pointField.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Abstract base class for field mapping.
Registry of regIOobjects.
Abstract base class for point-mesh patch fields.
virtual void initEvaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Initialise evaluation of the patch field (do nothing)
virtual bool fixesValue() const
Return true if this patch field fixes a value.
TypeName("pointPatchField")
Runtime type information.
virtual void operator==(const pointPatchField< Type > &)
static int disallowGenericPointPatchField
Debug switch to disallow the use of genericPointPatchField.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patch field.
const Time & time() const
Return time.
virtual ~pointPatchField()
Destructor.
virtual void write(Ostream &) const
Write.
static autoPtr< pointPatchField< Type > > NewCalculatedType(const pointPatchField< Type2 > &)
Return a pointer to a new calculatedPointPatchField created on.
virtual void operator==(const Type &)
virtual bool coupled() const
Return true if this patch field is coupled.
tmp< Field< Type > > patchInternalField() const
Return field created from appropriate internal field values.
virtual void operator/=(const pointPatchField< scalar > &)
const DimensionedField< Type, pointMesh > & internalField() const
Return dimensioned internal field reference.
calculatedPointPatchField< Type > Calculated
const Field< Type > & primitiveField() const
Return internal field reference.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void operator+=(const pointPatchField< Type > &)
autoPtr< pointPatchField< Type > > clone() const
Disallow clone without setting internal field reference.
const objectRegistry & db() const
Return local objectRegistry.
static autoPtr< pointPatchField< Type > > New(const word &, const pointPatch &, const DimensionedField< Type, pointMesh > &)
Return a pointer to a new patchField created on freestore given.
void addToInternalField(Field< Type1 > &iF, const Field< Type1 > &pF) const
Given the internal field and a patch field,.
virtual void operator-=(const pointPatchField< Type > &)
virtual void operator=(const UList< Type > &)
virtual void operator==(const Field< Type > &)
virtual void reset(const pointPatchField< Type > &)
Reset the pointPatchField to the given pointPatchField.
virtual void operator*=(const pointPatchField< scalar > &)
const pointPatch & patch() const
Return patch.
label size() const
Return size.
void setInternalField(Field< Type1 > &iF, const Field< Type1 > &pF, const labelList &meshPoints) const
Given the internal field and a patch field,.
virtual void map(const pointPatchField< Type > &, const fieldMapper &)
Map the given pointPatchField onto this pointPatchField.
bool overridesConstraint() const
Return true if this overrides the underlying constraint type.
declareRunTimeSelectionTable(autoPtr, pointPatchField, pointPatch,(const pointPatch &p, const DimensionedField< Type, pointMesh > &iF),(p, iF))
bool updated() const
Return true if the boundary condition has already been updated.
virtual void operator=(pointPatchField< Type > &&)
static const word & calculatedType()
Return the type of the calculated form of pointPatchField.
pointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
Basic pointPatch represents a set of points from the mesh.
virtual label size() const =0
Return size.
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.
Include the header files for all the primitive types that Fields are instantiated for.
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 & 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.