Go to the documentation of this file.
32 template<class Type, template<class> class PatchField, class GeoMesh>
42 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
51 const GeometricField<Type, PatchField, GeoMesh>& gf,
55 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
58 GeometricField<Type, PatchField, GeoMesh>& gf,
59 const GeometricField<Type, PatchField, GeoMesh>& gf1
65 template<
class>
class PatchField,
72 const GeometricField<Type, PatchField, GeoMesh>& gf1
78 template<
class>
class PatchField,
89 const GeometricField<Type, PatchField, GeoMesh>& gf,
96 template<
class>
class PatchField,
107 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf,
111 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
116 const GeometricField<Type, PatchField, GeoMesh>& gf1
119 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
129 sqr(
const GeometricField<Type, PatchField, GeoMesh>& gf);
131 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
141 sqr(
const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf);
143 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
147 const GeometricField<Type, PatchField, GeoMesh>& gf
150 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
154 const GeometricField<Type, PatchField, GeoMesh>& gf
157 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
161 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf
164 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
168 const GeometricField<Type, PatchField, GeoMesh>& gf
171 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
175 const GeometricField<Type, PatchField, GeoMesh>& gf
178 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
182 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf
185 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
194 const GeometricField<Type, PatchField, GeoMesh>& gf
197 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
207 cmptAv(
const GeometricField<Type, PatchField, GeoMesh>& gf);
209 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
219 cmptAv(
const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf);
222 #define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, binaryOp) \
224 template<class Type, template<class> class PatchField, class GeoMesh> \
225 dimensioned<returnType> func \
227 const GeometricField<Type, PatchField, GeoMesh>& gf \
230 template<class Type, template<class> class PatchField, class GeoMesh> \
231 dimensioned<returnType> func \
233 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \
241 #undef UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY
244 #define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc) \
246 template<class Type, template<class> class PatchField, class GeoMesh> \
247 dimensioned<returnType> func \
249 const GeometricField<Type, PatchField, GeoMesh>& gf \
252 template<class Type, template<class> class PatchField, class GeoMesh> \
253 dimensioned<returnType> func \
255 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \
262 #undef UNARY_REDUCTION_FUNCTION
292 #define PRODUCT_OPERATOR(product, op, opFunc) \
295 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \
299 <typename product<Type1, Type2>::type, PatchField, GeoMesh>& gf, \
300 const GeometricField<Type1, PatchField, GeoMesh>& gf1, \
301 const GeometricField<Type2, PatchField, GeoMesh>& gf2 \
305 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \
309 <typename product<Type1, Type2>::type, PatchField, GeoMesh> \
313 const GeometricField<Type1, PatchField, GeoMesh>& gf1, \
314 const GeometricField<Type2, PatchField, GeoMesh>& gf2 \
318 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \
322 <typename product<Type1, Type2>::type, PatchField, GeoMesh> \
326 const GeometricField<Type1, PatchField, GeoMesh>& gf1, \
327 const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \
331 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \
335 <typename product<Type1, Type2>::type, PatchField, GeoMesh> \
339 const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \
340 const GeometricField<Type2, PatchField, GeoMesh>& gf2 \
344 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \
348 <typename product<Type1, Type2>::type, PatchField, GeoMesh> \
352 const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \
353 const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \
357 <class Form, class Type, template<class> class PatchField, class GeoMesh> \
361 <typename product<Type, Form>::type, PatchField, GeoMesh>& gf, \
362 const GeometricField<Type, PatchField, GeoMesh>& gf1, \
363 const dimensioned<Form>& dvs \
367 <class Form, class Type, template<class> class PatchField, class GeoMesh> \
371 <typename product<Type, Form>::type, PatchField, GeoMesh> \
375 const GeometricField<Type, PatchField, GeoMesh>& gf1, \
376 const dimensioned<Form>& dvs \
384 class Type, template<class> class PatchField, \
390 <typename product<Form, Type>::type, PatchField, GeoMesh> \
394 const GeometricField<Type, PatchField, GeoMesh>& gf1, \
395 const VectorSpace<Form,Cmpt,nCmpt>& vs \
399 <class Form, class Type, template<class> class PatchField, class GeoMesh> \
403 <typename product<Type, Form>::type, PatchField, GeoMesh> \
407 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \
408 const dimensioned<Form>& dvs \
416 class Type, template<class> class PatchField, \
422 <typename product<Form, Type>::type, PatchField, GeoMesh> \
426 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \
427 const VectorSpace<Form,Cmpt,nCmpt>& vs \
431 <class Form, class Type, template<class> class PatchField, class GeoMesh> \
435 <typename product<Form, Type>::type, PatchField, GeoMesh>& gf, \
436 const dimensioned<Form>& dvs, \
437 const GeometricField<Type, PatchField, GeoMesh>& gf1 \
441 <class Form, class Type, template<class> class PatchField, class GeoMesh> \
445 <typename product<Form, Type>::type, PatchField, GeoMesh> \
449 const dimensioned<Form>& dvs, \
450 const GeometricField<Type, PatchField, GeoMesh>& gf1 \
458 class Type, template<class> class PatchField, \
464 <typename product<Form, Type>::type, PatchField, GeoMesh> \
468 const VectorSpace<Form,Cmpt,nCmpt>& vs, \
469 const GeometricField<Type, PatchField, GeoMesh>& gf1 \
473 <class Form, class Type, template<class> class PatchField, class GeoMesh> \
477 <typename product<Form, Type>::type, PatchField, GeoMesh> \
481 const dimensioned<Form>& dvs, \
482 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \
490 class Type, template<class> class PatchField, \
496 <typename product<Form, Type>::type, PatchField, GeoMesh> \
500 const VectorSpace<Form,Cmpt,nCmpt>& vs, \
501 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \
512 #undef PRODUCT_OPERATOR
#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, binaryOp)
void subtract(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
typeOfMag< Type >::type gSumMag(const FieldField< Field, Type > &f)
void component(FieldField< Field, typename FieldField< Field, Type >::cmptType > &sf, const FieldField< Field, Type > &f, const direction d)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
Type gAverage(const FieldField< Field, Type > &f)
#define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc)
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
void dot(FieldField< Field1, typename innerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensioned< typename typeOfMag< Type >::type > sumMag(const DimensionedField< Type, GeoMesh > &df)
symmTypeOfRank< typename pTraits< arg1 >::cmptType, arg2 *direction(pTraits< arg1 >::rank) >::type type
Scalar specific part of the implementation of GeometricField.
Type gSum(const FieldField< Field, Type > &f)
#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func)
dimensionSet transform(const dimensionSet &ds)
Field< Type >::cmptType cmptType
label min(const labelHashSet &set, label minValue=labelMax)
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
void divide(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
tmp< DimensionedField< typename DimensionedField< Type, GeoMesh >::cmptType, GeoMesh >> cmptAv(const DimensionedField< Type, GeoMesh > &df)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
label max(const labelHashSet &set, label maxValue=labelMin)
MinMax< scalar > scalarMinMax
A scalar min/max range.
void negate(FieldField< Field, Type > &res, const FieldField< Field, Type > &f)
dimensioned< scalarMinMax > minMaxMag(const DimensionedField< Type, GeoMesh > &df)
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
#define PRODUCT_OPERATOR(product, op, opFunc)
#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func)
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void outer(FieldField< Field1, typename outerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
MinMax< label > minMax(const labelHashSet &set)
#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc)
void multiply(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
void cross(FieldField< Field1, typename crossProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
pTraits< typename pTraits< arg1 >::cmptType >::magType type
dimensioned< Type > average(const DimensionedField< Type, GeoMesh > &df)
void dotdot(FieldField< Field1, typename scalarProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)