39#ifndef Foam_SymmTensor_H
40#define Foam_SymmTensor_H
100 template<
class Cmpt2>
112 const bool transposed =
false
118 const Cmpt txx,
const Cmpt txy,
const Cmpt txz,
119 const Cmpt tyy,
const Cmpt tyz,
131 inline const Cmpt&
xx()
const;
132 inline const Cmpt&
xy()
const;
133 inline const Cmpt&
xz()
const;
134 inline const Cmpt&
yx()
const;
135 inline const Cmpt&
yy()
const;
136 inline const Cmpt&
yz()
const;
137 inline const Cmpt&
zx()
const;
138 inline const Cmpt&
zy()
const;
139 inline const Cmpt&
zz()
const;
164 template<direction Idx>
197 template<direction Row>
204 template<direction Idx>
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A templated (3 x 3) diagonal tensor of objects of <T>, effectively containing 1 element,...
A templated (3 x 3) symmetric tensor of objects of <T>, effectively containing 6 elements,...
void rows(const Vector< Cmpt > &x, const Vector< Cmpt > &y, const Vector< Cmpt > &z)
Set row values.
components
Component labeling enumeration.
SymmTensor(const SymmTensor &)=default
Copy construct.
static const SymmTensor I
Vector< Cmpt > row() const
Extract vector for given row: compile-time check of index.
Vector< Cmpt > z() const
Extract vector for row 2.
static constexpr direction rank
Rank of SymmTensor is 2.
void col(const direction c, const Vector< Cmpt > &v)
Set values of given column (0,1,2): runtime check of index.
Vector< Cmpt > cy() const
Extract vector for column 1.
Vector< Cmpt > cz() const
Extract vector for column 2.
Vector< Cmpt > cx() const
Extract vector for column 0.
Vector< Cmpt > col(const direction c) const
Extract vector for given column (0,1,2): runtime check of index.
void cols(const Vector< Cmpt > &x, const Vector< Cmpt > &y, const Vector< Cmpt > &z)
Set column values.
Vector< Cmpt > y() const
Extract vector for row 1.
Vector< Cmpt > col() const
Extract vector for given column: compile-time check of index.
Vector< Cmpt > diag() const
Extract the diagonal as a vector.
SymmTensor & operator=(const SymmTensor &)=default
Copy assignment.
SymmTensor()=default
Default construct.
SymmTensor< label > labelType
Equivalent type of labels used for valid component indexing.
Vector< Cmpt > x() const
Extract vector for row 0.
const SymmTensor< Cmpt > & T() const
Return non-Hermitian transpose.
friend Ostream & operator(Ostream &, const VectorSpace< Form, Cmpt, Ncmpts > &)
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
SymmTensor< solveScalar > type
The extended precision type (solveScalar for float)
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
A template class to specify if a data type is composed solely of Foam::label elements.
A template class to specify if a data type is composed solely of Foam::scalar elements.
A template class to specify that a data type can be considered as being contiguous in memory.