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_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_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.
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)
void component(GeometricField< typename GeometricField< Type, GeoMesh, PrimitiveField1 >::cmptType, GeoMesh, PrimitiveField1 > &gcf, const GeometricField< Type, GeoMesh, PrimitiveField2 > &gf, const direction d)
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)
void T(GeometricField< Type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type, GeoMesh, PrimitiveField2 > &gf1)
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)