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
Pre-declare SubField and related Field type.
pTraits< Type >::cmptType cmptType
Component type.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
Abstract base class for point-mesh patch fields.
symmTypeOfRank< typename pTraits< arg1 >::cmptType, arg2 *direction(pTraits< arg1 >::rank) >::type type
volScalarField sf(fieldObject, mesh)
dimensionedSymmTensor dev2(const dimensionedSymmTensor &dt)
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
void negate(FieldField< Field, Type > &res, const FieldField< Field, Type > &f)
dimensionedScalar det(const dimensionedSphericalTensor &dt)
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
dimensionedTensor eigenVectors(const dimensionedTensor &dt)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
void component(FieldField< Field, typename FieldField< Field, Type >::cmptType > &sf, const FieldField< Field, Type > &f, const direction d)
void subtract(FieldField< Field1, typename typeOfSum< 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)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
void divide(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
tmp< DimensionedField< typename DimensionedField< Type, GeoMesh >::cmptType, GeoMesh >> cmptAv(const DimensionedField< Type, GeoMesh > &df)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensioned< scalar > mag(const dimensioned< Type > &)
dimensionedVector eigenValues(const dimensionedTensor &dt)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionSet cmptMag(const dimensionSet &)
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
void hdual(pointPatchField< vector > &, const pointPatchField< tensor > &)
void dotdot(FieldField< Field1, typename scalarProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
void cross(FieldField< Field1, typename crossProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dimensioned< scalar > magSqr(const dimensioned< Type > &)
void multiply(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
dimensionedTensor skew(const dimensionedTensor &dt)
void outer(FieldField< Field1, typename outerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
#define BINARY_TYPE_OPERATOR_FS(TYPE, op, opFunc)
#define BINARY_FUNCTION(func)
#define PRODUCT_OPERATOR(product, op, opFunc)
#define BINARY_OPERATOR(Type1, Type2, op, opFunc)
#define UNARY_OPERATOR(op, opFunc)
#define BINARY_TYPE_OPERATOR_SF(TYPE, op, opFunc)