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_FUNCTION(ReturnType, Type1, Type2, Func)
#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc)
#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc)
#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.
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
Type gMin(const UList< Type > &f, const label comm)
void subtract(GeometricField< typename typeOfSum< Type1, Type2 >::type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type1, GeoMesh, PrimitiveField2 > &gf1, const GeometricField< Type2, GeoMesh, PrimitiveField3 > &gf2)
Type gAverage(const UList< Type > &f, const label comm)
void outer(GeometricField< typename outerProduct< Type1, Type2 >::type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type1, GeoMesh, PrimitiveField2 > &gf1, const GeometricField< Type2, GeoMesh, PrimitiveField3 > &gf2)
void add(GeometricField< typename typeOfSum< Type1, Type2 >::type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type1, GeoMesh, PrimitiveField2 > &gf1, const GeometricField< Type2, GeoMesh, PrimitiveField3 > &gf2)
void transform(GeometricField< Type, GeoMesh > &rtf, const GeometricField< tensor, GeoMesh > &trf, const GeometricField< Type, GeoMesh > &tf)
tmp< DimensionedField< Type, GeoMesh, Field > > cmptMultiply(const DimensionedField< Type, GeoMesh, PrimitiveField1 > &df1, const DimensionedField< Type, GeoMesh, PrimitiveField2 > &df2)
dimensioned< Type > average(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< scalar > sumMag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
Type gSum(const UList< Type > &f, const label comm)
void divide(pointPatchField< Type > &f, const pointPatchField< Type > &f1, const pointPatchField< scalar > &f2)
tmp< DimensionedField< typename outerProduct< Type, Type >::type, GeoMesh, Field >> sqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
tmp< DimensionedField< Type, GeoMesh, Field > > cmptDivide(const DimensionedField< Type, GeoMesh, PrimitiveField1 > &df1, const DimensionedField< Type, GeoMesh, PrimitiveField2 > &df2)
void dotdot(GeometricField< typename scalarProduct< Type1, Type2 >::type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type1, GeoMesh, PrimitiveField2 > &gf1, const GeometricField< Type2, GeoMesh, PrimitiveField3 > &gf2)
scalar gSumMag(const UList< Type > &f, const label comm)
dimensioned< Type > min(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void cross(GeometricField< typename crossProduct< Type1, Type2 >::type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type1, GeoMesh, PrimitiveField2 > &gf1, const GeometricField< Type2, GeoMesh, PrimitiveField3 > &gf2)
Type gMax(const UList< Type > &f, const label comm)
tmp< DimensionedField< typename powProduct< Type, r >::type, GeoMesh, Field > > pow(const DimensionedField< Type, GeoMesh, PrimitiveField > &df, typename powProduct< Type, r >::type)
tmp< DimensionedField< typename DimensionedField< Type, GeoMesh, PrimitiveField >::cmptType, GeoMesh, Field >> cmptAv(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void multiply(pointPatchField< Type > &f, const pointPatchField< scalar > &f1, const pointPatchField< Type > &f2)
void negate(pointPatchField< Type > &f, const pointPatchField< Type > &f1)
tmp< DimensionedField< Type, GeoMesh, Field > > cmptMag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
tmp< DimensionedField< scalar, GeoMesh, Field > > magSqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void dot(GeometricField< typename innerProduct< Type1, Type2 >::type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type1, GeoMesh, PrimitiveField2 > &gf1, const GeometricField< Type2, GeoMesh, PrimitiveField3 > &gf2)