50 template<
class Type, direction r>
104 #define BINARY_FUNCTION(func) \ 106 template<class Type> \ 109 pointPatchField<Type>& f, \ 110 const pointPatchField<Type>& f1, \ 111 const pointPatchField<Type>& f2 \ 115 template<class Type> \ 118 pointPatchField<Type>& f, \ 119 const pointPatchField<Type>& f1, \ 132 #define UNARY_OPERATOR(op, opFunc) \ 134 template<class Type> \ 137 pointPatchField<Type>& f, \ 138 const pointPatchField<Type>& f1 \ 144 #define BINARY_OPERATOR(Type1, Type2, op, opFunc) \ 146 template<class Type> \ 149 pointPatchField<Type>& f, \ 150 const pointPatchField<Type1>& f1, \ 151 const pointPatchField<Type2>& f2 \ 159 #define BINARY_TYPE_OPERATOR_SF(TYPE, op, opFunc) \ 161 template<class Type> \ 164 pointPatchField<Type>& f, \ 166 const pointPatchField<Type>& f1 \ 171 #define BINARY_TYPE_OPERATOR_FS(TYPE, op, opFunc) \ 173 template<class Type> \ 176 pointPatchField<Type>& f, \ 177 const pointPatchField<Type>& f1, \ 188 #define PRODUCT_OPERATOR(product, op, opFunc) \ 198 <typename product<Type1, Type2>::type>& f, \ 199 const pointPatchField<Type1>& f1, \ 200 const pointPatchField<Type2>& f2 \ 214 <typename product<Type, Form>::type>& f, \ 215 const pointPatchField<Type>& f1, \ 216 const VectorSpace<Form,Cmpt,nCmpt>& vs \ 230 <typename product<Form, Type>::type>& f, \ 231 const VectorSpace<Form,Cmpt,nCmpt>& vs, \ 232 const pointPatchField<Type>& f1 \ 244 #undef PRODUCT_OPERATOR void divide(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
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 > &)
tmp< DimensionedField< typename DimensionedField< Type, GeoMesh >::cmptType, GeoMesh >> cmptAv(const DimensionedField< Type, GeoMesh > &df)
#define BINARY_FUNCTION(func)
dimensionedTensor skew(const dimensionedTensor &dt)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
pTraits< Type >::cmptType cmptType
Component type.
dimensionedVector eigenValues(const dimensionedTensor &dt)
#define BINARY_OPERATOR(Type1, Type2, op, opFunc)
void cross(FieldField< Field1, typename crossProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
dimensionedScalar det(const dimensionedSphericalTensor &dt)
#define PRODUCT_OPERATOR(product, op, opFunc)
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)
#define BINARY_TYPE_OPERATOR_SF(TYPE, op, opFunc)
void outer(FieldField< Field1, typename outerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
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 > &)
Abstract base class for point-mesh patch fields.
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
#define BINARY_TYPE_OPERATOR_FS(TYPE, op, opFunc)
Pre-declare SubField and related Field type.
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
void hdual(pointPatchField< vector > &, const pointPatchField< tensor > &)
void cmptMag(FieldField< Field, Type > &cf, const FieldField< Field, Type > &f)
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)
#define UNARY_OPERATOR(op, opFunc)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedTensor eigenVectors(const dimensionedTensor &dt)
symmTypeOfRank< typename pTraits< arg1 >::cmptType, arg2 *direction(pTraits< arg1 >::rank) >::type type
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
void negate(FieldField< Field, Type > &res, const FieldField< Field, Type > &f)
dimensionedSymmTensor dev2(const dimensionedSymmTensor &dt)
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
dimensioned< scalar > mag(const dimensioned< Type > &)
void component(FieldField< Field, typename FieldField< Field, Type >::cmptType > &sf, const FieldField< Field, Type > &f, const direction d)