60template<
class Type, direction r>
114#define BINARY_FUNCTION(func) \
116template<class Type> \
119 pointPatchField<Type>& f, \
120 const pointPatchField<Type>& f1, \
121 const pointPatchField<Type>& f2 \
125template<class Type> \
128 pointPatchField<Type>& f, \
129 const pointPatchField<Type>& f1, \
157#define UNARY_OPERATOR(op, opFunc) \
159template<class Type> \
162 pointPatchField<Type>& f, \
163 const pointPatchField<Type>& f1 \
169#define BINARY_OPERATOR(Type1, Type2, op, opFunc) \
171template<class Type> \
174 pointPatchField<Type>& f, \
175 const pointPatchField<Type1>& f1, \
176 const pointPatchField<Type2>& f2 \
184#define BINARY_TYPE_OPERATOR_SF(TYPE, op, opFunc) \
186template<class Type> \
189 pointPatchField<Type>& f, \
191 const pointPatchField<Type>& f1 \
196#define BINARY_TYPE_OPERATOR_FS(TYPE, op, opFunc) \
198template<class Type> \
201 pointPatchField<Type>& f, \
202 const pointPatchField<Type>& f1, \
213#define PRODUCT_OPERATOR(product, op, opFunc) \
223 <typename product<Type1, Type2>::type>& f, \
224 const pointPatchField<Type1>& f1, \
225 const pointPatchField<Type2>& f2 \
239 <typename product<Type, Form>::type>& f, \
240 const pointPatchField<Type>& f1, \
241 const VectorSpace<Form,Cmpt,nCmpt>& vs \
255 <typename product<Form, Type>::type>& f, \
256 const VectorSpace<Form,Cmpt,nCmpt>& vs, \
257 const pointPatchField<Type>& f1 \
269#undef PRODUCT_OPERATOR
358template<
class Tout,
class T1,
class UnaryOp>
368template<
class Tout,
class T1,
class T2,
class BinaryOp>
378template<
class T,
class BinaryOp>
388template<
class T,
class BoolType,
class FlipOp>
#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func)
#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc)
#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc)
Generic templated field type.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
A traits class, which is primarily used for primitives.
Abstract base class for point-mesh patch fields.
type
Volume classification types.
#define PRODUCT_OPERATOR(product, op, opFunc)
void assign(Field< Tout > &result, const Field< T1 > &a, const UnaryOp &op)
Populate a field as the result of a unary operation on an input.
void ternarySelect(Field< T > &result, const BoolListType &cond, const Field< T > &a, const Field< T > &b, const FlipOp &flip)
void ternary(Field< T > &result, const Field< T > &a, const Field< T > &b, const BinaryOp &bop)
dimensionedSymmTensor dev2(const dimensionedSymmTensor &dt)
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
dimensionedScalar det(const dimensionedSphericalTensor &dt)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
dimensionedScalar tr(const dimensionedSphericalTensor &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)
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
void dot(FieldField< Field1, typename innerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
void hdual(pointPatchField< vector > &, const pointPatchField< tensor > &)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
void negate(FieldField< Field, Type > &res, const FieldField< Field, Type > &f)
void multiply(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
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 cmptMag(FieldField< Field, Type > &cf, const FieldField< Field, Type > &f)
void cross(FieldField< Field1, typename crossProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
tmp< DimensionedField< typename DimensionedField< Type, GeoMesh >::cmptType, GeoMesh > > cmptAv(const DimensionedField< Type, GeoMesh > &df)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
void divide(FieldField< Field, Type > &f, const FieldField< Field, Type > &f1, const FieldField< Field, scalar > &f2)
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
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)