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();
326 return internalField_;
332 return internalField_;
346 template<
class Type1>
354 template<
class Type1>
363 template<
class Type1>
372 template<
class Type1>
382 template<
class Type1>
392 template<
class Type1>
477 friend Ostream& operator<< <Type>
512 #define makePointPatchField(pointPatchTypeField) \
513 defineNamedTemplateTypeNameAndDebug(pointPatchTypeField, 0); \
515 int pointPatchTypeField::disallowGenericPointPatchField \
517 debug::debugSwitch("disallowGenericPointPatchField", 0) \
519 defineTemplateRunTimeSelectionTable(pointPatchTypeField, pointPatch); \
520 defineTemplateRunTimeSelectionTable(pointPatchTypeField, patchMapper); \
521 defineTemplateRunTimeSelectionTable(pointPatchTypeField, dictionary);
524 #define addToPointPatchFieldRunTimeSelection(PatchTypeField,typePatchTypeField)\
525 addToRunTimeSelectionTable \
528 typePatchTypeField, \
531 addToRunTimeSelectionTable \
534 typePatchTypeField, \
539 #define addToNullConstructablePointPatchFieldRunTimeSelection( \
540 PatchTypeField, typePatchTypeField) \
542 addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \
544 addToRunTimeSelectionTable \
547 typePatchTypeField, \
553 #define makePointPatchTypeField(PatchTypeField, typePatchTypeField) \
554 defineTypeNameAndDebug(typePatchTypeField, 0); \
555 addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField)
559 #define makeNullConstructablePointPatchTypeField( \
560 PatchTypeField, typePatchTypeField) \
562 defineTypeNameAndDebug(typePatchTypeField, 0); \
563 addToNullConstructablePointPatchFieldRunTimeSelection \
571 #define makeTemplatePointPatchTypeField(fieldType, type) \
572 defineNamedTemplateTypeNameAndDebug \
574 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field), \
577 addToPointPatchFieldRunTimeSelection \
579 CAT3(pointPatch, CAPITALIZE(fieldType), Field), \
580 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field) \
585 #define makeNullConstructableTemplatePointPatchTypeField(fieldType, type) \
586 defineNamedTemplateTypeNameAndDebug \
588 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field), \
591 addToNullConstructablePointPatchFieldRunTimeSelection \
593 CAT3(pointPatch, CAPITALIZE(fieldType), Field), \
594 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field) \
598 #define makePointPatchFields(type) \
599 FOR_ALL_FIELD_TYPES(makeTemplatePointPatchTypeField, type)
602 #define makeNullConstructablePointPatchFields(type) \
603 FOR_ALL_FIELD_TYPES(makeNullConstructableTemplatePointPatchTypeField, type)
606 #define makePointPatchFieldTypeName(fieldType, type) \
607 defineNamedTemplateTypeNameAndDebug \
609 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field), \
614 #define makePointPatchFieldTypeNames(type) \
615 FOR_ALL_FIELD_TYPES(makePointPatchFieldTypeName, type)
618 #define makePointPatchFieldTypedef(fieldType, type) \
619 typedef type##PointPatchField<fieldType> \
620 CAT4(type, PointPatch, CAPITALIZE(fieldType), Field);
623 #define makePointPatchFieldTypedefs(type) \
624 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,...
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 keyword definitions, which are a keyword followed by any number of values (e....
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.
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 void operator=(const pointPatchField< 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 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.