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>
304 #define MEMBER_OPERATOR(MemberOp, OtherType) \
305 virtual void operator MemberOp \
307 const LagrangianPatchField<OtherType>& \
309 virtual void operator MemberOp \
311 const LagrangianSubField<OtherType>& \
313 virtual void operator MemberOp \
315 const LagrangianSubSubField<OtherType>& \
317 virtual void operator MemberOp(const UList<OtherType>&); \
318 virtual void operator MemberOp(const OtherType&)
325 #undef MEMBER_OPERATOR
328 friend Ostream& operator<< <Type>
361 #define addToLagrangianPatchFieldRunTimeSelection( \
362 PatchTypeField, typePatchTypeField) \
363 addToRunTimeSelectionTable \
366 typePatchTypeField, \
371 #define addNullConstructableToLagrangianPatchFieldRunTimeSelection( \
372 PatchTypeField, typePatchTypeField) \
373 addToRunTimeSelectionTable \
376 typePatchTypeField, \
379 addToLagrangianPatchFieldRunTimeSelection \
386 #define makeLagrangianPatchTypeField( \
387 PatchTypeField, typePatchTypeField) \
388 defineTypeNameAndDebug(typePatchTypeField, 0); \
389 addToLagrangianPatchFieldRunTimeSelection \
396 #define makeNullConstructableLagrangianPatchTypeField( \
397 PatchTypeField, typePatchTypeField) \
398 defineTypeNameAndDebug(typePatchTypeField, 0); \
399 addNullConstructableToLagrangianPatchFieldRunTimeSelection \
406 #define makeTemplateLagrangianPatchTypeField(fieldType, type) \
407 defineNamedTemplateTypeNameAndDebug \
409 CAT4(type, LagrangianPatch, CAPITALIZE(fieldType), Field), \
412 addToLagrangianPatchFieldRunTimeSelection \
414 CAT3(LagrangianPatch, CAPITALIZE(fieldType), Field), \
415 CAT4(type, LagrangianPatch, CAPITALIZE(fieldType), Field) \
419 #define makeNullConstructableTemplateLagrangianPatchTypeField(fieldType, type) \
420 defineNamedTemplateTypeNameAndDebug \
422 CAT4(type, LagrangianPatch, CAPITALIZE(fieldType), Field), \
425 addNullConstructableToLagrangianPatchFieldRunTimeSelection \
427 CAT3(LagrangianPatch, CAPITALIZE(fieldType), Field), \
428 CAT4(type, LagrangianPatch, CAPITALIZE(fieldType), Field) \
432 #define makeLagrangianPatchFields(type) \
433 FOR_ALL_FIELD_TYPES \
435 makeTemplateLagrangianPatchTypeField, \
440 #define makeNullConstructableLagrangianPatchFields(type) \
441 FOR_ALL_FIELD_TYPES \
443 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.
const Time & time() const
Return time.
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 LagrangianInternalScalarDynamicField &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.
virtual void evaluate(PstreamBuffers &, const LagrangianInternalScalarDynamicField &fraction)
Evaluate the patch field.
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.
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.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
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)