Go to the documentation of this file.
48 #ifndef faPatchField_H
49 #define faPatchField_H
63 class faPatchFieldMapper;
72 class calculatedFaPatchField;
75 Ostream&
operator<<(Ostream&,
const faPatchField<Type>&);
89 const faPatch& patch_;
92 const DimensionedField<Type, areaMesh>& internalField_;
142 (
dynamic_cast<const faPatchFieldType&
>(ptf),
p, iF, m)
226 const word& patchFieldType,
227 const word& actualPatchType,
237 const word& patchFieldType,
263 template<
class Type2>
290 return internalField_;
296 return internalField_;
486 #define addToFaPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \
488 addToRunTimeSelectionTable \
490 PatchTypeField, typePatchTypeField, patch \
493 addToRunTimeSelectionTable \
496 typePatchTypeField, \
500 addToRunTimeSelectionTable \
502 PatchTypeField, typePatchTypeField, dictionary \
506 #define makeFaPatchTypeFieldTypeName(typePatchTypeField) \
508 defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0);
511 #define makeFaPatchFieldsTypeName(typePatchField) \
513 makeFaPatchTypeFieldTypeName(typePatchField##FaPatchScalarField); \
514 makeFaPatchTypeFieldTypeName(typePatchField##FaPatchVectorField); \
515 makeFaPatchTypeFieldTypeName(typePatchField##FaPatchSphericalTensorField); \
516 makeFaPatchTypeFieldTypeName(typePatchField##FaPatchSymmTensorField); \
517 makeFaPatchTypeFieldTypeName(typePatchField##FaPatchTensorField);
520 #define makeFaPatchTypeField(PatchTypeField, typePatchTypeField) \
522 defineTypeNameAndDebug(typePatchTypeField, 0); \
524 addToFaPatchFieldRunTimeSelection \
526 PatchTypeField, typePatchTypeField \
529 #define makeTemplateFaPatchTypeField(PatchTypeField, typePatchTypeField) \
531 defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \
533 addToFaPatchFieldRunTimeSelection \
535 PatchTypeField, typePatchTypeField \
539 #define makeFaPatchFields(type) \
541 makeTemplateFaPatchTypeField(faPatchScalarField, type##FaPatchScalarField); \
542 makeTemplateFaPatchTypeField(faPatchVectorField, type##FaPatchVectorField); \
543 makeTemplateFaPatchTypeField \
545 faPatchSphericalTensorField, \
546 type##FaPatchSphericalTensorField \
548 makeTemplateFaPatchTypeField \
550 faPatchSymmTensorField, \
551 type##FaPatchSymmTensorField \
553 makeTemplateFaPatchTypeField \
555 faPatchTensorField, \
556 type##FaPatchTensorField \
560 #define makeFaPatchTypeFieldTypedefs(type) \
562 typedef type##FaPatchField<scalar> type##FaPatchScalarField; \
563 typedef type##FaPatchField<vector> type##FaPatchVectorField; \
564 typedef type##FaPatchField<sphericalTensor> \
565 type##FaPatchSphericalTensorField; \
566 typedef type##FaPatchField<symmTensor> type##FaPatchSymmTensorField; \
567 typedef type##FaPatchField<tensor> type##FaPatchTensorField;
virtual tmp< faPatchField< Type > > clone() const
Construct and return a clone.
faPatchField(const faPatch &, const DimensionedField< Type, areaMesh > &)
Construct from patch and internal field.
virtual void operator*=(const faPatchField< scalar > &)
const DimensionedField< Type, areaMesh > & internalField() const
Return dimensioned internal field reference.
faPatchField<Type> abstract base class. This class gives a fat-interface to all derived classes cover...
virtual void write(Ostream &) const
Write.
const Field< Type > & primitiveField() const
Return internal field reference.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
A class for handling words, derived from Foam::string.
static tmp< faPatchField< Type > > NewCalculatedType(const faPatchField< Type2 > &)
Return a pointer to a new calculatedFaPatchField created on.
A class for managing temporary objects.
void check(const faPatchField< Type > &) const
Check faPatchField<Type> against given faPatchField<Type>
calculatedFaPatchField< Type > Calculated
static tmp< faPatchField< Type > > New(const word &patchFieldType, const word &actualPatchType, const faPatch &, const DimensionedField< Type, areaMesh > &)
Return a pointer to a new patchField created on freestore given.
virtual void operator-=(const faPatchField< Type > &)
static const word & calculatedType()
Return the type of the calculated for of faPatchField.
virtual bool fixesValue() const
Return true if this patch field fixes a value.
virtual void autoMap(const faPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void operator/=(const faPatchField< scalar > &)
virtual void initEvaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Initialise the evaluation of the patch field.
bool updated() const
Return true if the boundary condition has already been updated.
Registry of regIOobjects.
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< Field< scalar >> &) const
Return the matrix diagonal coefficients corresponding to the.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
virtual bool coupled() const
Return true if this patch field is coupled.
Generic templated field type.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< Field< scalar >> &) const
Return the matrix source coefficients corresponding to the.
virtual tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the.
Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.
static int disallowGenericFaPatchField
Debug switch to disallow the use of.
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch as patch field.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patch field, sets Updated to false.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual tmp< Field< Type > > patchNeighbourField() const
Return patchField on the opposite patch of a coupled patch.
virtual tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
commsTypes
Types of communications.
const word & patchType() const
Optional patch type.
const objectRegistry & db() const
Return local objectRegistry.
virtual void rmap(const faPatchField< Type > &, const labelList &)
Reverse map the given faPatchField onto this faPatchField.
virtual void operator+=(const faPatchField< Type > &)
word & patchType()
Optional patch type.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void operator==(const faPatchField< Type > &)
Finite area patch class. Used for 2-D non-Euclidian finite area method.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void operator=(const UList< Type > &)
TypeName("faPatchField")
Runtime type information.
const faPatch & patch() const
Return patch.
declareRunTimeSelectionTable(tmp, faPatchField, patch,(const faPatch &p, const DimensionedField< Type, areaMesh > &iF),(p, iF))
Ostream & operator<<(Ostream &, const boundaryPatch &)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...