29 template<class Type, template<class> class PatchField, class GeoMesh> 39 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
44 typename GeometricField<Type, PatchField, GeoMesh>::cmptType,
48 const GeometricField<Type, PatchField, GeoMesh>& gf,
52 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
55 GeometricField<Type, PatchField, GeoMesh>& gf,
56 const GeometricField<Type, PatchField, GeoMesh>& gf1
62 template<
class>
class PatchField,
68 GeometricField<
typename powProduct<Type, r>::type, PatchField, GeoMesh>& gf,
69 const GeometricField<Type, PatchField, GeoMesh>& gf1
75 template<
class>
class PatchField,
82 <
typename powProduct<Type, r>::type, PatchField, GeoMesh>
86 const GeometricField<Type, PatchField, GeoMesh>& gf,
87 typename powProduct<Type, r>::type
93 template<
class>
class PatchField,
100 <
typename powProduct<Type, r>::type, PatchField, GeoMesh>
104 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf,
105 typename powProduct<Type, r>::type
108 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
112 <
typename outerProduct<Type, Type>::type, PatchField, GeoMesh>& gf,
113 const GeometricField<Type, PatchField, GeoMesh>& gf1
116 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
121 typename outerProduct<Type, Type>::type,
126 sqr(
const GeometricField<Type, PatchField, GeoMesh>& gf);
128 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
133 typename outerProduct<Type, Type>::type,
138 sqr(
const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf);
140 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
143 GeometricField<scalar, PatchField, GeoMesh>& gsf,
144 const GeometricField<Type, PatchField, GeoMesh>& gf
147 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
148 tmp<GeometricField<scalar, PatchField, GeoMesh>>
magSqr 150 const GeometricField<Type, PatchField, GeoMesh>& gf
153 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
154 tmp<GeometricField<scalar, PatchField, GeoMesh>>
magSqr 156 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf
159 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
162 GeometricField<scalar, PatchField, GeoMesh>& gsf,
163 const GeometricField<Type, PatchField, GeoMesh>& gf
166 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
167 tmp<GeometricField<scalar, PatchField, GeoMesh>>
mag 169 const GeometricField<Type, PatchField, GeoMesh>& gf
172 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
173 tmp<GeometricField<scalar, PatchField, GeoMesh>>
mag 175 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf
178 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
183 typename GeometricField<Type, PatchField, GeoMesh>::cmptType,
187 const GeometricField<Type, PatchField, GeoMesh>& gf
190 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
195 typename GeometricField<Type, PatchField, GeoMesh>::cmptType,
200 cmptAv(
const GeometricField<Type, PatchField, GeoMesh>& gf);
202 template<
class Type,
template<
class>
class PatchField,
class GeoMesh>
207 typename GeometricField<Type, PatchField, GeoMesh>::cmptType,
212 cmptAv(
const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf);
215 #define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, gFunc) \ 217 template<class Type, template<class> class PatchField, class GeoMesh> \ 218 dimensioned<returnType> func \ 220 const GeometricField<Type, PatchField, GeoMesh>& gf \ 223 template<class Type, template<class> class PatchField, class GeoMesh> \ 224 dimensioned<returnType> func \ 226 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ 232 #undef UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY 235 #define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc) \ 237 template<class Type, template<class> class PatchField, class GeoMesh> \ 238 dimensioned<returnType> func \ 240 const GeometricField<Type, PatchField, GeoMesh>& gf \ 243 template<class Type, template<class> class PatchField, class GeoMesh> \ 244 dimensioned<returnType> func \ 246 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ 253 #undef UNARY_REDUCTION_FUNCTION 283 #define PRODUCT_OPERATOR(product, op, opFunc) \ 286 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ 290 <typename product<Type1, Type2>::type, PatchField, GeoMesh>& gf, \ 291 const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ 292 const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ 296 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ 300 <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ 304 const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ 305 const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ 309 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ 313 <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ 317 const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ 318 const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ 322 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ 326 <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ 330 const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ 331 const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ 335 <class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ 339 <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ 343 const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ 344 const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ 348 <class Form, class Type, template<class> class PatchField, class GeoMesh> \ 352 <typename product<Type, Form>::type, PatchField, GeoMesh>& gf, \ 353 const GeometricField<Type, PatchField, GeoMesh>& gf1, \ 354 const dimensioned<Form>& dvs \ 358 <class Form, class Type, template<class> class PatchField, class GeoMesh> \ 362 <typename product<Type, Form>::type, PatchField, GeoMesh> \ 366 const GeometricField<Type, PatchField, GeoMesh>& gf1, \ 367 const dimensioned<Form>& dvs \ 375 class Type, template<class> class PatchField, \ 381 <typename product<Form, Type>::type, PatchField, GeoMesh> \ 385 const GeometricField<Type, PatchField, GeoMesh>& gf1, \ 386 const VectorSpace<Form,Cmpt,nCmpt>& vs \ 390 <class Form, class Type, template<class> class PatchField, class GeoMesh> \ 394 <typename product<Type, Form>::type, PatchField, GeoMesh> \ 398 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ 399 const dimensioned<Form>& dvs \ 407 class Type, template<class> class PatchField, \ 413 <typename product<Form, Type>::type, PatchField, GeoMesh> \ 417 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ 418 const VectorSpace<Form,Cmpt,nCmpt>& vs \ 422 <class Form, class Type, template<class> class PatchField, class GeoMesh> \ 426 <typename product<Form, Type>::type, PatchField, GeoMesh>& gf, \ 427 const dimensioned<Form>& dvs, \ 428 const GeometricField<Type, PatchField, GeoMesh>& gf1 \ 432 <class Form, class Type, template<class> class PatchField, class GeoMesh> \ 436 <typename product<Form, Type>::type, PatchField, GeoMesh> \ 440 const dimensioned<Form>& dvs, \ 441 const GeometricField<Type, PatchField, GeoMesh>& gf1 \ 449 class Type, template<class> class PatchField, \ 455 <typename product<Form, Type>::type, PatchField, GeoMesh> \ 459 const VectorSpace<Form,Cmpt,nCmpt>& vs, \ 460 const GeometricField<Type, PatchField, GeoMesh>& gf1 \ 464 <class Form, class Type, template<class> class PatchField, class GeoMesh> \ 468 <typename product<Form, Type>::type, PatchField, GeoMesh> \ 472 const dimensioned<Form>& dvs, \ 473 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ 481 class Type, template<class> class PatchField, \ 487 <typename product<Form, Type>::type, PatchField, GeoMesh> \ 491 const VectorSpace<Form,Cmpt,nCmpt>& vs, \ 492 const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ 503 #undef PRODUCT_OPERATOR void divide(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
scalar gSumMag(const FieldField< Field, Type > &f)
#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
void multiply(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
Type gMin(const FieldField< Field, Type > &f)
tmp< DimensionedField< typename DimensionedField< Type, GeoMesh >::cmptType, GeoMesh >> cmptAv(const DimensionedField< Type, GeoMesh > &df)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc)
void cross(FieldField< Field1, typename crossProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func)
void dotdot(FieldField< Field1, typename scalarProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
void subtract(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
void outer(FieldField< Field1, typename outerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
void dot(FieldField< Field1, typename innerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
#define PRODUCT_OPERATOR(product, op, opFunc)
#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func)
Scalar specific part of the implementation of GeometricField.
#define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, gFunc)
Type gSum(const FieldField< Field, Type > &f)
dimensioned< Type > average(const DimensionedField< Type, GeoMesh > &df)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
dimensioned< scalar > magSqr(const dimensioned< Type > &)
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
Type gMax(const FieldField< Field, Type > &f)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
void negate(FieldField< Field, Type > &res, const FieldField< Field, Type > &f)
Type gAverage(const FieldField< Field, Type > &f)
dimensioned< scalar > mag(const dimensioned< Type > &)
#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc)
#define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc)
void component(FieldField< Field, typename FieldField< Field, Type >::cmptType > &sf, const FieldField< Field, Type > &f, const direction d)
dimensionSet transform(const dimensionSet &)
dimensioned< scalar > sumMag(const DimensionedField< Type, GeoMesh > &df)