35 #ifndef LagrangianPatchField_H
36 #define LagrangianPatchField_H
51 class LagrangianSubMesh;
54 class LagrangianPatchField;
57 class calculatedLagrangianPatchField;
208 const word& actualPatchType,
233 template<
class Type2>
301 #define MEMBER_OPERATOR(MemberOp, OtherType) \
302 virtual void operator MemberOp \
304 const LagrangianPatchField<OtherType>& \
306 virtual void operator MemberOp \
308 const LagrangianSubField<OtherType>& \
310 virtual void operator MemberOp \
312 const LagrangianSubSubField<OtherType>& \
314 virtual void operator MemberOp(const UList<OtherType>&); \
315 virtual void operator MemberOp(const OtherType&)
322 #undef MEMBER_OPERATOR
325 friend Ostream& operator<< <Type>
358 #define addToLagrangianPatchFieldRunTimeSelection( \
359 PatchTypeField, typePatchTypeField) \
360 addToRunTimeSelectionTable \
363 typePatchTypeField, \
368 #define addNullConstructableToLagrangianPatchFieldRunTimeSelection( \
369 PatchTypeField, typePatchTypeField) \
370 addToRunTimeSelectionTable \
373 typePatchTypeField, \
376 addToLagrangianPatchFieldRunTimeSelection \
383 #define makeLagrangianPatchTypeField( \
384 PatchTypeField, typePatchTypeField) \
385 defineTypeNameAndDebug(typePatchTypeField, 0); \
386 addToLagrangianPatchFieldRunTimeSelection \
393 #define makeNullConstructableLagrangianPatchTypeField( \
394 PatchTypeField, typePatchTypeField) \
395 defineTypeNameAndDebug(typePatchTypeField, 0); \
396 addNullConstructableToLagrangianPatchFieldRunTimeSelection \
403 #define makeTemplateLagrangianPatchTypeField(fieldType, type) \
404 defineNamedTemplateTypeNameAndDebug \
406 CAT4(type, LagrangianPatch, CAPITALIZE(fieldType), Field), \
409 addToLagrangianPatchFieldRunTimeSelection \
411 CAT3(LagrangianPatch, CAPITALIZE(fieldType), Field), \
412 CAT4(type, LagrangianPatch, CAPITALIZE(fieldType), Field) \
416 #define makeNullConstructableTemplateLagrangianPatchTypeField(fieldType, type) \
417 defineNamedTemplateTypeNameAndDebug \
419 CAT4(type, LagrangianPatch, CAPITALIZE(fieldType), Field), \
422 addNullConstructableToLagrangianPatchFieldRunTimeSelection \
424 CAT3(LagrangianPatch, CAPITALIZE(fieldType), Field), \
425 CAT4(type, LagrangianPatch, CAPITALIZE(fieldType), Field) \
429 #define makeLagrangianPatchFields(type) \
430 FOR_ALL_FIELD_TYPES \
432 makeTemplateLagrangianPatchTypeField, \
437 #define makeNullConstructableLagrangianPatchFields(type) \
438 FOR_ALL_FIELD_TYPES \
440 makeNullConstructableTemplateLagrangianPatchTypeField, \
#define MEMBER_OPERATOR(MemberOp, OtherType)
Define assignment and compound assignment operations.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Base class for Lagrangian boundary conditions.
virtual ~LagrangianPatchField()
Destructor.
static autoPtr< LagrangianPatchField< Type > > New(const word &patchFieldType, const word &actualPatchType, const LagrangianPatch &p, const regIOobject &)
Return a pointer to a new LagrangianPatchField with a given type.
const dimensionSet & internalDimensions() const
Return internal dimensions reference.
tmp< LagrangianSubSubField< Type > > operator()() const
Generate a sub-sub field corresponding to this patch.
virtual void write(Ostream &) const
Write.
LagrangianPatch Patch
The patch type.
calculatedLagrangianPatchField< Type > Calculated
The calculated patch field type.
const LagrangianInternalDynamicField< Type > & internalField_
Reference to the internal field.
virtual void reset(const LagrangianPatchField< Type > &)
Reset to the given LagrangianPatchField.
const LagrangianPatch & patch() const
Return patch.
const LagrangianInternalField< Type > & internalNonDynamicField_
Reference to the non-dynamic internal field.
static autoPtr< LagrangianPatchField< Type > > NewCalculatedType(const LagrangianPatchField< Type2 > &)
Return a pointer to a new calculatedPointPatchField.
const regIOobject & internalIo_
Reference to the internal IO object.
const objectRegistry & db() const
Return local objectRegistry.
TypeName("LagrangianPatchField")
Runtime type information.
virtual void initEvaluate(PstreamBuffers &, const LagrangianScalarInternalDynamicField &fraction)
Initialise evaluation of the patch field.
friend class LagrangianPatchField
Declare friendship with patch fields of different types.
static int disallowGenericLagrangianPatchField
Debug switch to disallow the use of genericLagrangianPatchField.
virtual autoPtr< LagrangianPatchField< Type > > clone() const =0
Construct and return a clone.
tmp< LagrangianSubSubField< Type > > internalSubField() const
Generate an internal sub field corresponding to this patch.
SubField< Type > primitiveSubField() const
Generate a primitive sub field corresponding to this patch.
const LagrangianInternalDynamicField< Type > & internalField() const
Return internal field reference.
static const word & calculatedType()
Return the type of the calculated form of LagrangianPatchField.
virtual void evaluate(PstreamBuffers &, const LagrangianScalarInternalDynamicField &fraction)
Evaluate the patch field.
declareRunTimeSelectionTable(autoPtr, LagrangianPatchField, LagrangianPatch,(const LagrangianPatch &p, const regIOobject &iIo),(p, iIo))
Select given patch and internal field.
Base class for Lagrangian patches.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Buffers for inter-processor communications streams (UOPstream, UIPstream).
Pre-declare related SubField type.
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 Lagrangian. This condition does not provide any evaluation functi...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Dimension set for the base types.
Registry of regIOobjects.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
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.
word patchFieldType(const PatchField &pf)
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)