38 #ifndef Foam_GeometricSymmTensorField_H 39 #define Foam_GeometricSymmTensorField_H 44 #define TEMPLATE template<template<class> class PatchField, class GeoMesh> 55 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
58 GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>& result,
59 const GeometricField<Cmpt, PatchField, GeoMesh>& xx,
60 const GeometricField<Cmpt, PatchField, GeoMesh>& xy,
61 const GeometricField<Cmpt, PatchField, GeoMesh>& xz,
62 const GeometricField<Cmpt, PatchField, GeoMesh>& yy,
63 const GeometricField<Cmpt, PatchField, GeoMesh>& yz,
64 const GeometricField<Cmpt, PatchField, GeoMesh>& zz
68 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
71 const GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>&
input,
72 GeometricField<Cmpt, PatchField, GeoMesh>& xx,
73 GeometricField<Cmpt, PatchField, GeoMesh>& xy,
74 GeometricField<Cmpt, PatchField, GeoMesh>& xz,
75 GeometricField<Cmpt, PatchField, GeoMesh>& yy,
76 GeometricField<Cmpt, PatchField, GeoMesh>& yz,
77 GeometricField<Cmpt, PatchField, GeoMesh>& zz
82 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
85 GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>& result,
86 const GeometricField<Vector<Cmpt>, PatchField, GeoMesh>&
x,
87 const GeometricField<Vector<Cmpt>, PatchField, GeoMesh>&
y,
88 const GeometricField<Vector<Cmpt>, PatchField, GeoMesh>& z
92 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
95 GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>& result,
96 const GeometricField<Vector<Cmpt>, PatchField, GeoMesh>&
x,
97 const GeometricField<Vector<Cmpt>, PatchField, GeoMesh>&
y,
98 const GeometricField<Vector<Cmpt>, PatchField, GeoMesh>& z
102 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
105 const GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>&
input,
106 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>&
x,
107 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>&
y,
108 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>& z
112 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
115 const GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>&
input,
116 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>&
x,
117 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>&
y,
118 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>& z
123 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
126 const GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>&
input,
128 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>& result
132 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
135 const GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>&
input,
137 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>& result
142 template<
class Cmpt,
template<
class>
class PatchField,
class GeoMesh>
145 const GeometricField<SymmTensor<Cmpt>, PatchField, GeoMesh>&
input,
146 GeometricField<Vector<Cmpt>, PatchField, GeoMesh>& result
#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
void unzipCols(const FieldField< Field, SymmTensor< Cmpt >> &input, FieldField< Field, Vector< Cmpt >> &x, FieldField< Field, Vector< Cmpt >> &y, FieldField< Field, Vector< Cmpt >> &z)
Extract symmTensor field field columns.
#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
void zip(FieldField< Field, SphericalTensor< Cmpt >> &result, const FieldField< Field, Cmpt > &ii)
Zip together sphericalTensor field field from components.
void zipCols(FieldField< Field, SymmTensor< Cmpt >> &result, const FieldField< Field, Vector< Cmpt >> &x, const FieldField< Field, Vector< Cmpt >> &y, const FieldField< Field, Vector< Cmpt >> &z)
Zip together symmTensor field from column components.
void unzipRow(const FieldField< Field, SymmTensor< Cmpt >> &input, const direction idx, FieldField< Field, Vector< Cmpt >> &result)
Extract a symmTensor field field row (x,y,z) == (0,1,2)
SymmTensor< Cmpt > devSymm(const SymmTensor< Cmpt > &st)
Return the deviatoric part of the symmetric part of a SymmTensor.
dimensionedScalar det(const dimensionedSphericalTensor &dt)
SphericalTensor< Cmpt > sph(const DiagTensor< Cmpt > &dt)
Return the spherical part of a DiagTensor as a SphericalTensor.
void unzipRows(const FieldField< Field, SymmTensor< Cmpt >> &input, FieldField< Field, Vector< Cmpt >> &x, FieldField< Field, Vector< Cmpt >> &y, FieldField< Field, Vector< Cmpt >> &z)
Extract symmTensor field field rows.
void zipRows(FieldField< Field, SymmTensor< Cmpt >> &result, const FieldField< Field, Vector< Cmpt >> &x, const FieldField< Field, Vector< Cmpt >> &y, const FieldField< Field, Vector< Cmpt >> &z)
Zip together symmTensor field field from row components.
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)
void unzip(const FieldField< Field, SphericalTensor< Cmpt >> &input, FieldField< Field, Cmpt > &ii)
Unzip sphericalTensor field field into components.
void unzipDiag(const FieldField< Field, SymmTensor< Cmpt >> &input, FieldField< Field, Vector< Cmpt >> &result)
Extract a symmTensor field field diagonal.
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
static Istream & input(Istream &is, IntRange< T > &range)
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
void hdual(pointPatchField< vector > &, const pointPatchField< tensor > &)
dimensionedSymmTensor innerSqr(const dimensionedSymmTensor &dt)
void unzipCol(const FieldField< Field, SymmTensor< Cmpt >> &input, const direction idx, FieldField< Field, Vector< Cmpt >> &result)
Extract a symmTensor field field column (x,y,z) == (0,1,2)
dimensionedSymmTensor dev2(const dimensionedSymmTensor &dt)
SymmTensor specific part of the implementation of DimensionedField.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc)
SphericalTensor< scalar > sphericalTensor
SphericalTensor of scalars, i.e. SphericalTensor<scalar>.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc)
dimensionedSymmTensor cof(const dimensionedSymmTensor &dt)
SymmTensor< Cmpt > devTwoSymm(const SymmTensor< Cmpt > &st)
Return the deviatoric part of twice the symmetric part of a SymmTensor.