Go to the documentation of this file.
42 #ifndef pointPatchField_H
43 #define pointPatchField_H
58 class pointPatchFieldMapper;
64 class pointPatchField;
70 const pointPatchField<Type>&
136 (
dynamic_cast<const pointPatchFieldType&
>(ptf),
p, iF, m)
218 const word& actualPatchType,
245 template<
class Type2>
325 template<
class Type1>
333 template<
class Type1>
342 template<
class Type1>
351 template<
class Type1>
361 template<
class Type1>
371 template<
class Type1>
435 virtual void operator=
441 virtual void operator+=
447 virtual void operator-=
453 virtual void operator*=
459 virtual void operator/=
483 virtual void operator==
495 friend Ostream& operator<< <Type>
498 const pointPatchField<Type>&
530 #define addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \
531 addToRunTimeSelectionTable \
534 typePatchTypeField, \
537 addToRunTimeSelectionTable \
540 typePatchTypeField, \
543 addToRunTimeSelectionTable \
546 typePatchTypeField, \
552 #define makePointPatchTypeField(PatchTypeField,typePatchTypeField) \
553 defineTypeNameAndDebug(typePatchTypeField, 0); \
554 addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField)
558 #define makeTemplatePointPatchTypeField(PatchTypeField, typePatchTypeField) \
559 defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \
560 addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField)
563 #define makePointPatchFields(type) \
564 makeTemplatePointPatchTypeField \
566 pointPatchScalarField, \
567 type##PointPatchScalarField \
569 makeTemplatePointPatchTypeField \
571 pointPatchVectorField, \
572 type##PointPatchVectorField \
574 makeTemplatePointPatchTypeField \
576 pointPatchSphericalTensorField, \
577 type##PointPatchSphericalTensorField \
579 makeTemplatePointPatchTypeField \
581 pointPatchSymmTensorField, \
582 type##PointPatchSymmTensorField \
584 makeTemplatePointPatchTypeField \
586 pointPatchTensorField, \
587 type##PointPatchTensorField \
591 #define makePointPatchFieldsTypeName(type) \
592 defineNamedTemplateTypeNameAndDebug(type##PointPatchScalarField, 0); \
593 defineNamedTemplateTypeNameAndDebug(type##PointPatchVectorField, 0); \
594 defineNamedTemplateTypeNameAndDebug \
596 type##PointPatchSphericalTensorField, 0 \
598 defineNamedTemplateTypeNameAndDebug(type##PointPatchSymmTensorField, 0); \
599 defineNamedTemplateTypeNameAndDebug(type##PointPatchTensorField, 0)
602 #define makePointPatchFieldTypedefs(type) \
603 typedef type##PointPatchField<scalar> type##PointPatchScalarField; \
604 typedef type##PointPatchField<vector> type##PointPatchVectorField; \
605 typedef type##PointPatchField<sphericalTensor> \
606 type##PointPatchSphericalTensorField; \
607 typedef type##PointPatchField<symmTensor> type##PointPatchSymmTensorField;\
608 typedef type##PointPatchField<tensor> type##PointPatchTensorField;
static const word & calculatedType()
Return the type of the calculated form of pointPatchField.
word & patchType()
Optional patch type.
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< scalar > &)
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::blocking)
Evaluate the patch field.
virtual void operator/=(const pointPatchField< scalar > &)
A class for handling words, derived from string.
virtual void operator-=(const Field< Type > &)
virtual void operator==(const pointPatchField< Type > &)
virtual void operator+=(const Field< Type > &)
A class for managing temporary objects.
static autoPtr< pointPatchField< Type > > New(const word &, const pointPatch &, const DimensionedField< Type, pointMesh > &)
Return a pointer to a new patchField created on freestore given.
virtual void operator/=(const Field< scalar > &)
virtual void operator=(const Type &)
pointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
tmp< Field< Type > > patchInternalField() const
Return field created from appropriate internal field values.
const pointPatch & patch_
Reference to patch.
Basic pointPatch represents a set of points from the mesh.
Abstract base class for point-mesh patch fields.
void setInInternalField(Field< Type1 > &iF, const Field< Type1 > &pF, const labelList &meshPoints) const
Given the internal field and a patch field,.
const pointPatch & patch() const
Return patch.
Foam::pointPatchFieldMapper.
Registry of regIOobjects.
virtual void operator+=(const Type &)
virtual void operator=(const pointPatchField< Type > &)
virtual void operator-=(const Type &)
virtual void rmap(const pointPatchField< Type > &, const labelList &)
Reverse map the given pointPatchField onto this pointPatchField.
virtual void operator/=(const scalar)
virtual void operator=(const Field< Type > &)
virtual const word & constraintType() const
Return the constraint type this pointPatchField implements.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual void operator-=(const pointPatchField< Type > &)
const word & patchType() const
Optional patch type.
virtual void write(Ostream &) const
Write.
word patchType_
Optional patch type, used to allow specified boundary conditions.
declareRunTimeSelectionTable(autoPtr, pointPatchField, pointPatch,(const pointPatch &p, const DimensionedField< Type, pointMesh > &iF),(p, iF))
A list of keyword definitions, which are a keyword followed by any number of values (e....
label size() const
Return size.
static int disallowGenericPointPatchField
Debug switch to disallow the use of genericPointPatchField.
const objectRegistry & db() const
Return local objectRegistry.
static autoPtr< pointPatchField< Type > > NewCalculatedType(const pointPatchField< Type2 > &)
Return a pointer to a new CalculatedpointPatchField created on.
virtual label size() const =0
Return size.
bool updated() const
Return true if the boundary condition has already been updated.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const Field< Type > & internalField() const
Return internal field reference.
virtual autoPtr< pointPatchField< Type > > clone() const =0
Construct and return a clone.
commsTypes
Types of communications.
virtual void operator*=(const pointPatchField< scalar > &)
bool updated_
Update index used so that updateCoeffs is called only once during.
virtual bool coupled() const
Return true if this patch field is coupled.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
static const word null
An empty word.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void operator*=(const scalar)
virtual bool fixesValue() const
Return true if this patch field fixes a value.
const DimensionedField< Type, pointMesh > & dimensionedInternalField() const
Return dimensioned internal field reference.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const DimensionedField< Type, pointMesh > & internalField_
Reference to internal field.
virtual void operator==(const Field< Type > &)
virtual void initEvaluate(const Pstream::commsTypes commsType=Pstream::blocking)
Initialise evaluation of the patch field (do nothing)
virtual void operator==(const Type &)
TypeName("pointPatchField")
Runtime type information.
virtual void autoMap(const pointPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...