35 #ifndef diagTensorField_H
36 #define diagTensorField_H
#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc)
High performance macro functions for Field<Type> algebra. These expand using either array element acc...
Pre-declare SubField and related Field type.
Templated 3D SphericalTensor derived from VectorSpace adding construction from 1 component,...
void subtract(GeometricField< typename typeOfSum< 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)
SphericalTensor< Cmpt > sph(const DiagTensor< Cmpt > &dt)
Return the spherical part of a diagonal tensor.
void divide(pointPatchField< Type > &f, const pointPatchField< Type > &f1, const pointPatchField< scalar > &f2)
void tr(pointPatchField< scalar > &, const pointPatchField< tensor > &)
Field< diagTensor > diagTensorField
Specialisation of Field<T> for diagTensor.
void inv(pointPatchField< tensor > &, const pointPatchField< tensor > &)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
void det(pointPatchField< scalar > &, const pointPatchField< tensor > &)