35 #ifndef dimensionedType_H
36 #define dimensionedType_H
50 template<
class Type>
class dimensioned;
178 const Type&
value()
const;
224 friend Istream&
operator>> <Type>
227 friend Ostream& operator<< <Type>
238 template<
class Type, direction r>
307 #define PRODUCT_OPERATOR(product, op, opFunc) \
309 template<class Type1, class Type2> \
310 dimensioned<typename product<Type1, Type2>::type> \
311 operator op(const dimensioned<Type1>&, const dimensioned<Type2>&); \
313 template<class Type, class Form, class Cmpt, direction nCmpt> \
314 dimensioned<typename product<Type, Form>::type> \
317 const dimensioned<Type>&, \
318 const VectorSpace<Form,Cmpt,nCmpt>& \
321 template<class Type, class Form, class Cmpt, direction nCmpt> \
322 dimensioned<typename product<Form, Type>::type> \
325 const VectorSpace<Form,Cmpt,nCmpt>&, \
326 const dimensioned<Type>& \
334 #undef PRODUCT_OPERATOR
An STL-conforming hash table.
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 keyword definitions, which are a keyword followed by any number of values (e....
Dimension set for the base types.
Generic dimensioned Type class.
void operator+=(const dimensioned< Type > &)
static dimensioned< Type > lookupOrAddToDict(const word &, dictionary &, const dimensionSet &dims=dimless, const Type &defaultValue=pTraits< Type >::zero)
Construct from dictionary, with default value.
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 > &)
void read(const dictionary &)
Update the value of dimensioned<Type>
dimensioned< cmptType > operator[](const direction) const
Return a component as a dimensioned<cmptType>
static dimensioned< Type > lookupOrDefault(const word &, const dictionary &, const dimensionSet &dims=dimless, const Type &defaultValue=pTraits< Type >::zero)
Construct from dictionary, with default dimensions and value.
const word & name() const
Return const reference to name.
bool readIfPresent(const dictionary &)
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
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.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
bool operator<(const instant &, const instant &)
const dimensionSet dimless
void dot(FieldField< Field1, typename innerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
Istream & operator>>(Istream &, directionInfo &)
dimensioned< scalar > mag(const dimensioned< Type > &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
bool operator>(const instant &, const instant &)
void dotdot(FieldField< Field1, typename scalarProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
tmp< fvMatrix< Type > > operator+(const fvMatrix< Type > &, const fvMatrix< Type > &)
Ostream & operator<<(Ostream &, const ensightPart &)
void cross(FieldField< Field1, typename crossProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
tmp< fvMatrix< Type > > operator-(const fvMatrix< Type > &)
dimensioned< scalar > magSqr(const dimensioned< Type > &)
void outer(FieldField< Field1, typename outerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)