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