33 template<class> class PrimitiveField \
40 template<class> class PrimitiveField1, \
41 template<class> class PrimitiveField2 \
48 template<class> class PrimitiveField1, \
49 template<class> class PrimitiveField2, \
50 template<class> class PrimitiveField3 \
70 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf,
77 GeometricField<Type, GeoMesh, PrimitiveField1>& gf,
78 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf1
85 template<
class>
class PrimitiveField1,
86 template<
class>
class PrimitiveField2,
97 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf1
104 template<
class>
class PrimitiveField,
107 tmp<GeometricField<typename powProduct<Type, r>::type, GeoMesh, Field>>
110 const GeometricField<Type, GeoMesh, PrimitiveField>& gf,
118 template<
class>
class PrimitiveField,
121 tmp<GeometricField<typename powProduct<Type, r>::type, GeoMesh, Field>>
124 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf,
137 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf1
141 tmp<GeometricField<typename outerProduct<Type, Type>::type, GeoMesh, Field>>
142 sqr(
const GeometricField<Type, GeoMesh, PrimitiveField>& gf);
145 tmp<GeometricField<typename outerProduct<Type, Type>::type, GeoMesh, Field>>
146 sqr(
const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf);
151 GeometricField<scalar, GeoMesh, PrimitiveField1>& gsf,
152 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf
156 tmp<GeometricField<scalar, GeoMesh, Field>>
magSqr
158 const GeometricField<Type, GeoMesh, PrimitiveField>& gf
162 tmp<GeometricField<scalar, GeoMesh, Field>>
magSqr
164 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf
170 GeometricField<scalar, GeoMesh, PrimitiveField1>& gsf,
171 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf
175 tmp<GeometricField<scalar, GeoMesh, Field>>
mag
177 const GeometricField<Type, GeoMesh, PrimitiveField>& gf
181 tmp<GeometricField<scalar, GeoMesh, Field>>
mag
183 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf
195 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf
208 cmptAv(
const GeometricField<Type, GeoMesh, PrimitiveField>& gf);
220 cmptAv(
const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf);
225 #define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, gFunc) \
228 dimensioned<returnType> func \
230 const GeometricField<Type, GeoMesh, PrimitiveField>& gf \
234 dimensioned<returnType> func \
236 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf1 \
242 #undef UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY
245 #define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc) \
248 dimensioned<returnType> func \
250 const GeometricField<Type, GeoMesh, PrimitiveField>& gf \
254 dimensioned<returnType> func \
256 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf1 \
263 #undef UNARY_REDUCTION_FUNCTION
293 #define PRODUCT_OPERATOR(product, op, opFunc) \
300 template<class> class PrimitiveField1, \
301 template<class> class PrimitiveField2, \
302 template<class> class PrimitiveField3 \
308 typename product<Type1, Type2>::type, \
312 const GeometricField<Type1, GeoMesh, PrimitiveField2>& gf1, \
313 const GeometricField<Type2, GeoMesh, PrimitiveField3>& gf2 \
321 template<class> class PrimitiveField1, \
322 template<class> class PrimitiveField2 \
324 tmp<GeometricField<typename product<Type1, Type2>::type, GeoMesh, Field>> \
327 const GeometricField<Type1, GeoMesh, PrimitiveField1>& gf1, \
328 const GeometricField<Type2, GeoMesh, PrimitiveField2>& gf2 \
336 template<class> class PrimitiveField1, \
337 template<class> class PrimitiveField2 \
339 tmp<GeometricField<typename product<Type1, Type2>::type, GeoMesh, Field>> \
342 const GeometricField<Type1, GeoMesh, PrimitiveField1>& gf1, \
343 const tmp<GeometricField<Type2, GeoMesh, PrimitiveField2>>& tgf2 \
351 template<class> class PrimitiveField1, \
352 template<class> class PrimitiveField2 \
354 tmp<GeometricField<typename product<Type1, Type2>::type, GeoMesh, Field>> \
357 const tmp<GeometricField<Type1, GeoMesh, PrimitiveField1>>& tgf1, \
358 const GeometricField<Type2, GeoMesh, PrimitiveField2>& gf2 \
366 template<class> class PrimitiveField1, \
367 template<class> class PrimitiveField2 \
369 tmp<GeometricField<typename product<Type1, Type2>::type, GeoMesh, Field>> \
372 const tmp<GeometricField<Type1, GeoMesh, PrimitiveField1>>& tgf1, \
373 const tmp<GeometricField<Type2, GeoMesh, PrimitiveField2>>& tgf2 \
381 template<class> class PrimitiveField1, \
382 template<class> class PrimitiveField2 \
388 typename product<Type, Form>::type, \
392 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf1, \
393 const dimensioned<Form>& dvs \
401 template<class> class PrimitiveField \
403 tmp<GeometricField<typename product<Form, Type>::type, GeoMesh, Field>> \
406 const GeometricField<Type, GeoMesh, PrimitiveField>& gf1, \
407 const dimensioned<Form>& dvs \
417 template<class> class PrimitiveField \
419 tmp<GeometricField<typename product<Form, Type>::type, GeoMesh, Field>> \
422 const GeometricField<Type, GeoMesh, PrimitiveField>& gf1, \
423 const VectorSpace<Form, Cmpt, nCmpt>& vs \
431 template<class> class PrimitiveField \
433 tmp<GeometricField<typename product<Type, Form>::type, GeoMesh, Field>> \
436 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf1, \
437 const dimensioned<Form>& dvs \
447 template<class> class PrimitiveField \
449 tmp<GeometricField<typename product<Form, Type>::type, GeoMesh, Field>> \
452 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf1, \
453 const VectorSpace<Form, Cmpt, nCmpt>& vs \
461 template<class> class PrimitiveField1, \
462 template<class> class PrimitiveField2 \
468 typename product<Form, Type>::type, \
472 const dimensioned<Form>& dvs, \
473 const GeometricField<Type, GeoMesh, PrimitiveField2>& gf1 \
481 template<class> class PrimitiveField \
483 tmp<GeometricField<typename product<Form, Type>::type, GeoMesh, Field>> \
486 const dimensioned<Form>& dvs, \
487 const GeometricField<Type, GeoMesh, PrimitiveField>& gf1 \
497 template<class> class PrimitiveField \
499 tmp<GeometricField<typename product<Form, Type>::type, GeoMesh, Field>> \
502 const VectorSpace<Form, Cmpt, nCmpt>& vs, \
503 const GeometricField<Type, GeoMesh, PrimitiveField>& gf1 \
511 template<class> class PrimitiveField \
513 tmp<GeometricField<typename product<Form, Type>::type, GeoMesh, Field>> \
516 const dimensioned<Form>& dvs, \
517 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf1 \
527 template<class> class PrimitiveField \
529 tmp<GeometricField<typename product<Form, Type>::type, GeoMesh, Field>> \
532 const VectorSpace<Form, Cmpt, nCmpt>& vs, \
533 const tmp<GeometricField<Type, GeoMesh, PrimitiveField>>& tgf1 \
544 #undef PRODUCT_OPERATOR
#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func)
#define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, gFunc)
#define PRODUCT_OPERATOR(product, op, opFunc)
#define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc)
Scalar specific part of the implementation of GeometricField.
#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)
Field< 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)
void T(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1)
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 component(LagrangianPatchField< typename LagrangianPatchField< Type >::cmptType > &sf, const LagrangianPatchField< Type > &f, const direction d)
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)