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)
void subtract(GeometricField< typename typeOfSum< Type1, Type2 >::type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type1, GeoMesh, PrimitiveField2 > &gf1, const GeometricField< Type2, GeoMesh, PrimitiveField3 > &gf2)
void skew(pointPatchField< tensor > &, const pointPatchField< tensor > &)
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)
tmp< DimensionedField< Type, GeoMesh, Field > > cmptMultiply(const DimensionedField< Type, GeoMesh, PrimitiveField1 > &df1, const DimensionedField< Type, GeoMesh, PrimitiveField2 > &df2)
void eigenValues(pointPatchField< vector > &, const pointPatchField< tensor > &)
void dev2(pointPatchField< tensor > &, const pointPatchField< tensor > &)
void divide(pointPatchField< Type > &f, const pointPatchField< Type > &f1, const pointPatchField< scalar > &f2)
void tr(pointPatchField< scalar > &, const pointPatchField< tensor > &)
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)
void inv(pointPatchField< tensor > &, const pointPatchField< tensor > &)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
void dev(pointPatchField< tensor > &, const pointPatchField< tensor > &)
dimensioned< Type > min(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void symm(pointPatchField< tensor > &, const pointPatchField< tensor > &)
void cross(GeometricField< typename crossProduct< Type1, Type2 >::type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type1, GeoMesh, PrimitiveField2 > &gf1, const GeometricField< Type2, GeoMesh, PrimitiveField3 > &gf2)
void hdual(pointPatchField< vector > &, const pointPatchField< tensor > &)
void det(pointPatchField< scalar > &, const pointPatchField< tensor > &)
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 twoSymm(pointPatchField< tensor > &, const pointPatchField< tensor > &)
void negate(pointPatchField< Type > &f, const pointPatchField< Type > &f1)
tmp< DimensionedField< Type, GeoMesh, Field > > cmptMag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
void eigenVectors(pointPatchField< tensor > &, const pointPatchField< tensor > &)
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)
#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)