33 template<class> class PrimitiveField \
40 template<class> class PrimitiveField1, \
41 template<class> class PrimitiveField2 \
56 template<
class>
class PrimitiveField,
59 tmp<DimensionedField<typename powProduct<Type, r>::type, GeoMesh, Field>>
62 const DimensionedField<Type, GeoMesh, PrimitiveField>& df,
70 template<
class>
class PrimitiveField,
73 tmp<DimensionedField<typename powProduct<Type, r>::type, GeoMesh, Field>>
76 const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf,
80 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
90 sqr(
const DimensionedField<Type, GeoMesh, PrimitiveField>& df);
92 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
102 sqr(
const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf);
104 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
105 tmp<DimensionedField<scalar, GeoMesh, Field>>
magSqr
107 const DimensionedField<Type, GeoMesh, PrimitiveField>& df
110 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
111 tmp<DimensionedField<scalar, GeoMesh, Field>>
magSqr
113 const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf
116 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
117 tmp<DimensionedField<scalar, GeoMesh, Field>>
mag
119 const DimensionedField<Type, GeoMesh, PrimitiveField>& df
122 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
123 tmp<DimensionedField<scalar, GeoMesh, Field>>
mag
125 const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf
128 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
138 cmptAv(
const DimensionedField<Type, GeoMesh, PrimitiveField>& df);
140 template<
class Type,
class GeoMesh,
template<
class>
class PrimitiveField>
150 cmptAv(
const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf);
155 #define UNARY_REDUCTION_FUNCTION(returnType, func, dfunc) \
157 template<class Type, class GeoMesh, template<class> class PrimitiveField> \
158 dimensioned<returnType> func \
160 const DimensionedField<Type, GeoMesh, PrimitiveField>& df \
162 template<class Type, class GeoMesh, template<class> class PrimitiveField> \
163 dimensioned<returnType> func \
165 const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf1 \
174 #undef UNARY_REDUCTION_FUNCTION
204 #define PRODUCT_OPERATOR(product, op, opFunc) \
211 template<class> class PrimitiveField1, \
212 template<class> class PrimitiveField2 \
218 typename product<Type1, Type2>::type, \
225 const DimensionedField<Type1, GeoMesh, PrimitiveField1>& df1, \
226 const DimensionedField<Type2, GeoMesh, PrimitiveField2>& df2 \
234 template<class> class PrimitiveField1, \
235 template<class> class PrimitiveField2 \
241 typename product<Type1, Type2>::type, \
248 const DimensionedField<Type1, GeoMesh, PrimitiveField1>& df1, \
249 const tmp<DimensionedField<Type2, GeoMesh, PrimitiveField2>>& tdf2 \
257 template<class> class PrimitiveField1, \
258 template<class> class PrimitiveField2 \
264 typename product<Type1, Type2>::type, \
271 const tmp<DimensionedField<Type1, GeoMesh, PrimitiveField1>>& tdf1, \
272 const DimensionedField<Type2, GeoMesh, PrimitiveField2>& df2 \
280 template<class> class PrimitiveField1, \
281 template<class> class PrimitiveField2 \
287 typename product<Type1, Type2>::type, \
294 const tmp<DimensionedField<Type1, GeoMesh, PrimitiveField1>>& tdf1, \
295 const tmp<DimensionedField<Type2, GeoMesh, PrimitiveField2>>& tdf2 \
303 template<class> class PrimitiveField \
305 tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh, Field>> \
308 const DimensionedField<Type, GeoMesh, PrimitiveField>& df1, \
309 const dimensioned<Form>& dvs \
319 template<class> class PrimitiveField \
321 tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh, Field>> \
324 const DimensionedField<Type, GeoMesh, PrimitiveField>& df1, \
325 const VectorSpace<Form,Cmpt,nCmpt>& vs \
333 template<class> class PrimitiveField \
335 tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh, Field>> \
338 const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf1, \
339 const dimensioned<Form>& dvs \
349 template<class> class PrimitiveField \
351 tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh, Field>> \
354 const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf1, \
355 const VectorSpace<Form,Cmpt,nCmpt>& vs \
363 template<class> class PrimitiveField \
365 tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh, Field>> \
368 const dimensioned<Form>& dvs, \
369 const DimensionedField<Type, GeoMesh, PrimitiveField>& df1 \
379 template<class> class PrimitiveField \
381 tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh, Field>> \
384 const VectorSpace<Form,Cmpt,nCmpt>& vs, \
385 const DimensionedField<Type, GeoMesh, PrimitiveField>& df1 \
393 template<class> class PrimitiveField \
395 tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh, Field>> \
398 const dimensioned<Form>& dvs, \
399 const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf1 \
409 template<class> class PrimitiveField \
411 tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh, Field>> \
414 const VectorSpace<Form,Cmpt,nCmpt>& vs, \
415 const tmp<DimensionedField<Type, GeoMesh, PrimitiveField>>& tdf1 \
426 #undef PRODUCT_OPERATOR
#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func)
#define UNARY_REDUCTION_FUNCTION(returnType, func, dfunc)
#define PRODUCT_OPERATOR(product, op, opFunc)
Scalar specific part of the implementation of DimensionedField.
#define BINARY_TYPE_OPERATOR_FS(TYPE, op, opFunc)
#define BINARY_FUNCTION(func)
#define BINARY_OPERATOR(Template, Type, Type1, Type2, op, opFunc)
#define UNARY_OPERATOR(op, opFunc)
#define UNARY_FUNCTION(Template, Type, Type1, func)
#define BINARY_TYPE_OPERATOR_SF(TYPE, op, opFunc)
PrimitiveField< Type >::cmptType cmptType
Component type of the elements of the field.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
symmTypeOfRank< typename pTraits< arg1 >::cmptType, arg2 *direction(pTraits< arg1 >::rank) >::type type
void subtract(LagrangianPatchField< typename typeOfSum< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
void dot(LagrangianPatchField< typename innerProduct< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
void negate(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1)
void cmptMultiply(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1, const LagrangianPatchField< Type > &f2)
Type gSum(const FieldField< Field, Type > &f)
void outer(LagrangianPatchField< typename outerProduct< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
void divide(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1, const LagrangianPatchField< scalar > &f2)
void dotdot(LagrangianPatchField< typename scalarProduct< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
scalar gSumMag(const FieldField< Field, Type > &f)
void cmptDivide(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1, const LagrangianPatchField< Type > &f2)
dimensioned< Type > average(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< scalar > sumMag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
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 pow(LagrangianPatchField< typename powProduct< Type, r >::type > &f, const LagrangianPatchField< Type > &f1)
void multiply(LagrangianPatchField< Type > &f, const LagrangianPatchField< scalar > &f1, const LagrangianPatchField< Type > &f2)
dimensionSet transform(const dimensionSet &)
void cmptAv(LagrangianPatchField< typename LagrangianPatchField< Type >::cmptType > &f, const LagrangianPatchField< Type > &f1)
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
void sqr(LagrangianPatchField< typename outerProduct< Type, Type >::type > &f, const LagrangianPatchField< Type > &f1)
Type gAverage(const FieldField< Field, Type > &f)
void magSqr(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
Type gMin(const FieldField< Field, Type > &f)
void add(LagrangianPatchField< typename typeOfSum< Type1, Type2 >::type > &f, const LagrangianPatchField< Type1 > &f1, const LagrangianPatchField< Type2 > &f2)
Type gMax(const FieldField< Field, Type > &f)
void cmptMag(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1)