36 #ifndef DimensionedFieldFunction_H
37 #define DimensionedFieldFunction_H
51 template<
class DimensionedFieldType>
58 DimensionedFieldType&
field_;
64 TypeName(
"DimensionedFieldFunction");
76 DimensionedFieldType& field
88 DimensionedFieldType& field
95 DimensionedFieldType& field
106 clone(DimensionedFieldType& field)
const = 0;
126 DimensionedFieldType& field
168 template<
class DimensionedFieldType>
177 namespace DimensionedFieldFunctions
180 template<
class T>
void ignore(
const T&){}
190 #define defineDimensionedFieldFunction(DimensionedFieldType) \
192 typedef DimensionedFieldFunction<DimensionedFieldType> \
193 DimensionedFieldType##DimensionedFieldFunction; \
194 defineNamedTemplateTypeNameAndDebug \
196 DimensionedFieldType##DimensionedFieldFunction, \
199 defineTemplateRunTimeSelectionTable \
201 DimensionedFieldType##DimensionedFieldFunction, \
206 #define addDimensionedFieldFunction(SS, DimensionedFieldType) \
208 typedef DimensionedFieldFunction<DimensionedFieldType> \
209 DimensionedFieldType##DimensionedFieldFunction; \
210 typedef SS<DimensionedFieldType> \
211 DimensionedFieldType##SS##DimensionedFieldFunction; \
212 defineNamedTemplateTypeNameAndDebug \
214 DimensionedFieldType##SS##DimensionedFieldFunction, \
217 addToRunTimeSelectionTable \
219 DimensionedFieldType##DimensionedFieldFunction, \
220 DimensionedFieldType##SS##DimensionedFieldFunction, \
Base class for run-time selectable internal and patch field initialisation evaluation and update with...
virtual bool update()
Update the field if the function has changed and return true.
TypeName("DimensionedFieldFunction")
Runtime type information.
declareRunTimeSelectionTable(autoPtr, DimensionedFieldFunction, dictionary,(const dictionary &dict, DimensionedFieldType &field),(dict, field))
virtual ~DimensionedFieldFunction()
Destructor.
DimensionedFieldFunction(const dictionary &dict, DimensionedFieldType &field)
Construct with dictionary to initialise given field.
virtual void reset()
Reset the field size.
virtual autoPtr< DimensionedFieldFunction< DimensionedFieldType > > clone() const
Construct and return a clone for the specified field.
DimensionedFieldType & field_
Reference to the field the function applies to.
static autoPtr< DimensionedFieldFunction< DimensionedFieldType > > New(const dictionary &dict, DimensionedFieldType &field)
Select null constructed.
virtual void evaluate()=0
Evaluate the function and set the field.
virtual void write(Ostream &os) const =0
Write data to dictionary stream.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
A class for handling words, derived from string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
void ignore(const T &)
Dummy function to call on a variable to avoid "unused variable" warnings.
void T(GeometricField< Type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type, GeoMesh, PrimitiveField2 > &gf1)
void writeEntry(Ostream &os, const word &key, const DimensionedFieldFunction< DimensionedFieldType > &f)
Macros to ease declaration of run-time selection tables.