35 #ifndef dimensionedType_H
36 #define dimensionedType_H
88 void initialise(
Istream& is,
const bool haveName,
const bool haveDims);
149 const Type& defaultValue,
159 const Type& defaultValue,
170 const Type& defaultValue,
190 const Type&
value()
const;
208 const unitConversion& defaultUnits = NullObjectRef<unitConversion>()
215 const unitConversion& defaultUnits = NullObjectRef<unitConversion>()
243 template<
class Type, direction r>
312 #define PRODUCT_OPERATOR(product, op, opFunc) \
314 template<class Type1, class Type2> \
315 dimensioned<typename product<Type1, Type2>::type> \
316 operator op(const dimensioned<Type1>&, const dimensioned<Type2>&); \
318 template<class Type, class Form, class Cmpt, direction nCmpt> \
319 dimensioned<typename product<Type, Form>::type> \
322 const dimensioned<Type>&, \
323 const VectorSpace<Form,Cmpt,nCmpt>& \
326 template<class Type, class Form, class Cmpt, direction nCmpt> \
327 dimensioned<typename product<Form, Type>::type> \
330 const VectorSpace<Form,Cmpt,nCmpt>&, \
331 const dimensioned<Type>& \
339 #undef PRODUCT_OPERATOR
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
static int writeOptionalEntries
If true write optional keywords and values.
Dimension set for the base types.
Generic dimensioned Type class.
void operator+=(const dimensioned< Type > &)
void read(const dictionary &, const unitConversion &defaultUnits=NullObjectRef< unitConversion >())
Update the value of dimensioned<Type>
dimensioned()
Null constructor.
void replace(const direction, const dimensioned< cmptType > &)
Return a component with a dimensioned<cmptType>
const dimensionSet & dimensions() const
Return const reference to dimensions.
pTraits< Type >::cmptType cmptType
Component type.
const Type & value() const
Return const reference to value.
dimensioned< cmptType > component(const direction) const
Return a component as a dimensioned<cmptType>
void operator/=(const scalar)
void operator-=(const dimensioned< Type > &)
dimensioned< cmptType > operator[](const direction) const
Return a component as a dimensioned<cmptType>
const word & name() const
Return const reference to name.
bool readIfPresent(const dictionary &, const unitConversion &defaultUnits=NullObjectRef< unitConversion >())
Update the value of dimensioned<Type> if found in the dictionary.
void operator*=(const scalar)
dimensioned< Type > T() const
Return transpose.
Traits class for primitives.
symmTypeOfRank< typename pTraits< arg1 >::cmptType, arg2 *direction(pTraits< arg1 >::rank) >::type type
Unit conversion structure. Contains the associated dimensions and the multiplier with which to conver...
A class for handling words, derived from string.
A class representing the concept of 0 used to avoid unnecessary manipulations for objects that are kn...
#define PRODUCT_OPERATOR(product, op, opFunc)
Direction is an 8-bit unsigned integer type used to represent the Cartesian directions etc.
void dot(LagrangianPatchField< typename innerProduct< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
void cmptMultiply(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1, const LagrangianPatchField< Type > &f2)
void outer(LagrangianPatchField< typename outerProduct< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
void dotdot(LagrangianPatchField< typename scalarProduct< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
void cmptDivide(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1, const LagrangianPatchField< Type > &f2)
bool operator<(const instant &, const instant &)
void cross(LagrangianPatchField< typename crossProduct< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
void mag(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
void pow(LagrangianPatchField< typename powProduct< Type, r >::type > &f, const LagrangianPatchField< Type > &f1)
Istream & operator>>(Istream &, pistonPointEdgeData &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
void sqr(LagrangianPatchField< typename outerProduct< Type, Type >::type > &f, const LagrangianPatchField< Type > &f1)
bool operator>(const instant &, const instant &)
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)
tmp< fvMatrix< Type > > operator+(const fvMatrix< Type > &, const fvMatrix< Type > &)
void magSqr(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
tmp< fvMatrix< Type > > operator-(const fvMatrix< Type > &)