57 this->v_[XX] = st.
ii(); this->v_[XY] = 0; this->v_[XZ] = 0;
58 this->v_[YY] = st.
ii(); this->v_[YZ] = 0;
59 this->v_[ZZ] = st.
ii();
66 const Cmpt txx,
const Cmpt txy,
const Cmpt txz,
67 const Cmpt tyy,
const Cmpt tyz,
71 this->v_[XX] = txx; this->v_[XY] = txy; this->v_[XZ] = txz;
72 this->v_[YY] = tyy; this->v_[YZ] = tyz;
172 this->v_[XX] = st.
ii(); this->v_[XY] = 0; this->v_[XZ] = 0;
173 this->v_[YY] = st.
ii(); this->v_[YZ] = 0;
174 this->v_[ZZ] = st.
ii();
200 st1.
xx()*st2.
xx() + st1.
xy()*st2.
xy() + st1.
xz()*st2.
xz(),
201 st1.
xx()*st2.
xy() + st1.
xy()*st2.
yy() + st1.
xz()*st2.
yz(),
202 st1.
xx()*st2.
xz() + st1.
xy()*st2.
yz() + st1.
xz()*st2.
zz(),
204 st1.
xy()*st2.
xx() + st1.
yy()*st2.
xy() + st1.
yz()*st2.
xz(),
205 st1.
xy()*st2.
xy() + st1.
yy()*st2.
yy() + st1.
yz()*st2.
yz(),
206 st1.
xy()*st2.
xz() + st1.
yy()*st2.
yz() + st1.
yz()*st2.
zz(),
208 st1.
xz()*st2.
xx() + st1.
yz()*st2.
xy() + st1.
zz()*st2.
xz(),
209 st1.
xz()*st2.
xy() + st1.
yz()*st2.
yy() + st1.
zz()*st2.
yz(),
210 st1.
xz()*st2.
xz() + st1.
yz()*st2.
yz() + st1.
zz()*st2.
zz()
222 st1.
xx()*st2.
xx() + 2*st1.
xy()*st2.
xy() + 2*st1.
xz()*st2.
xz()
223 + st1.
yy()*st2.
yy() + 2*st1.
yz()*st2.
yz()
236 st.
xx()*v.
x() + st.
xy()*v.
y() + st.
xz()*v.
z(),
237 st.
xy()*v.
x() + st.
yy()*v.
y() + st.
yz()*v.
z(),
238 st.
xz()*v.
x() + st.
yz()*v.
y() + st.
zz()*v.
z()
250 v.
x()*st.
xx() + v.
y()*st.
xy() + v.
z()*st.
xz(),
251 v.
x()*st.
xy() + v.
y()*st.
yy() + v.
z()*st.
yz(),
252 v.
x()*st.
xz() + v.
y()*st.
yz() + v.
z()*st.
zz()
292 return st.
xx() + st.
yy() + st.
zz();
300 return (1.0/3.0)*
tr(st);
427 spt1.
ii() + st2.
xx(), st2.
xy(), st2.
xz(),
428 spt1.
ii() + st2.
yy(), st2.
yz(),
440 st1.
xx() + spt2.
ii(), st1.
xy(), st1.
xz(),
441 st1.
yy() + spt2.
ii(), st1.
yz(),
453 spt1.
ii() - st2.
xx(), -st2.
xy(), -st2.
xz(),
454 spt1.
ii() - st2.
yy(), -st2.
yz(),
466 st1.
xx() - spt2.
ii(), st1.
xy(), st1.
xz(),
467 st1.
yy() - spt2.
ii(), st1.
yz(),
480 spt1.
ii()*st2.
xx(), spt1.
ii()*st2.
xy(), spt1.
ii()*st2.
xz(),
481 spt1.
ii()*st2.
yy(), spt1.
ii()*st2.
yz(),
494 st1.
xx()*spt2.
ii(), st1.
xy()*spt2.
ii(), st1.
xz()*spt2.
ii(),
495 st1.
yy()*spt2.
ii(), st1.
yz()*spt2.
ii(),
506 return(spt1.
ii()*st2.
xx() + spt1.
ii()*st2.
yy() + spt1.
ii()*st2.
zz());
515 return(st1.
xx()*spt2.
ii() + st1.
yy()*spt2.
ii() + st1.
zz()*spt2.
ii());
524 v.
x()*v.
x(), v.
x()*v.
y(), v.
x()*v.
z(),
525 v.
y()*v.
y(), v.
y()*v.
z(),
Cmpt invariantII(const SymmTensor< Cmpt > &st)
Return the 2nd invariant of a symmetric tensor.
Cmpt det(const SymmTensor< Cmpt > &st)
Return the determinant of a symmetric tensor.
Templated 3D symmetric tensor derived from VectorSpace adding construction from 6 components...
Vector< Cmpt > operator*(const SymmTensor< Cmpt > &st)
Hodge Dual operator (tensor -> vector)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
SymmTensor()
Construct null.
SymmTensor< Cmpt > innerSqr(const SymmTensor< Cmpt > &st)
Inner-sqr of a symmetric tensor.
void operator=(const SphericalTensor< Cmpt > &)
Assign to given SphericalTensor.
const SymmTensor< Cmpt > & symm(const SymmTensor< Cmpt > &st)
Return the symmetric part of a symmetric tensor, i.e. itself.
Cmpt tr(const SymmTensor< Cmpt > &st)
Return the trace of a symmetric tensor.
SymmTensor< Cmpt > cof(const SymmTensor< Cmpt > &st)
Return the cofactor symmetric tensor of a symmetric tensor.
Templated 3D SphericalTensor derived from VectorSpace adding construction from 1 component, element access using th ii() member function and the inner-product (dot-product) and outer-product operators.
SymmTensor< Cmpt > twoSymm(const SymmTensor< Cmpt > &st)
Return twice the symmetric part of a symmetric tensor.
Cmpt magSqr(const SymmTensor< Cmpt > &st)
Cmpt invariantIII(const SymmTensor< Cmpt > &st)
Return the 3rd invariant of a symmetric tensor.
SymmTensor< Cmpt > sqr(const Vector< Cmpt > &v)
SymmTensor< Cmpt > dev2(const SymmTensor< Cmpt > &st)
Return the deviatoric part of a symmetric tensor.
Templated 3D Vector derived from VectorSpace adding construction from 3 components, element access using x(), y() and z() member functions and the inner-product (dot-product) and cross product operators.
SymmTensor< Cmpt > inv(const SymmTensor< Cmpt > &st)
Return the inverse of a symmetric tensor.
Cmpt operator &&(const SymmTensor< Cmpt > &st1, const SphericalTensor< Cmpt > &spt2)
Double-dot-product between a tensor and a spherical tensor.
const SymmTensor< Cmpt > & T() const
Transpose.
SymmTensor< Cmpt > operator+(const SymmTensor< Cmpt > &st1, const SphericalTensor< Cmpt > &spt2)
SymmTensor< Cmpt > dev(const SymmTensor< Cmpt > &st)
Return the deviatoric part of a symmetric tensor.
Cmpt invariantI(const SymmTensor< Cmpt > &st)
Return the 1st invariant of a symmetric tensor.
A class representing the concept of 0 used to avoid unnecessary manipulations for objects that are kn...
SphericalTensor< Cmpt > sph(const SymmTensor< Cmpt > &st)
Return the spherical part of a symmetric tensor.
Templated 3D tensor derived from MatrixSpace adding construction from 9 components, element access using xx(), xy() etc. member functions and the inner-product (dot-product) and outer-product of two Vectors (tensor-product) operators.
SymmTensor< Cmpt > operator &(const SymmTensor< Cmpt > &st1, const SphericalTensor< Cmpt > &spt2)
Inner-product between a tensor and a spherical tensor.
SymmTensor< Cmpt > operator-(const SymmTensor< Cmpt > &st1, const SphericalTensor< Cmpt > &spt2)