Go to the documentation of this file.
55 this->v_[XX] = st.
ii(); this->v_[XY] = 0; this->v_[XZ] = 0;
56 this->v_[YY] = st.
ii(); this->v_[YZ] = 0;
57 this->v_[ZZ] = st.
ii();
64 const Cmpt txx,
const Cmpt txy,
const Cmpt txz,
65 const Cmpt tyy,
const Cmpt tyz,
69 this->v_[XX] = txx; this->v_[XY] = txy; this->v_[XZ] = txz;
70 this->v_[YY] = tyy; this->v_[YZ] = tyz;
128 inline Cmpt& SymmTensor<Cmpt>::xy()
134 inline Cmpt& SymmTensor<Cmpt>::xz()
140 inline Cmpt& SymmTensor<Cmpt>::yy()
146 inline Cmpt& SymmTensor<Cmpt>::yz()
152 inline Cmpt& SymmTensor<Cmpt>::zz()
170 this->v_[XX] = st.
ii(); this->v_[XY] = 0; this->v_[XZ] = 0;
171 this->v_[YY] = st.
ii(); this->v_[YZ] = 0;
172 this->v_[ZZ] = st.
ii();
194 st1.
xx()*st2.
xx() + st1.
xy()*st2.
xy() + st1.
xz()*st2.
xz(),
195 st1.
xx()*st2.
xy() + st1.
xy()*st2.
yy() + st1.
xz()*st2.
yz(),
196 st1.
xx()*st2.
xz() + st1.
xy()*st2.
yz() + st1.
xz()*st2.
zz(),
198 st1.
xy()*st2.
xx() + st1.
yy()*st2.
xy() + st1.
yz()*st2.
xz(),
199 st1.
xy()*st2.
xy() + st1.
yy()*st2.
yy() + st1.
yz()*st2.
yz(),
200 st1.
xy()*st2.
xz() + st1.
yy()*st2.
yz() + st1.
yz()*st2.
zz(),
202 st1.
xz()*st2.
xx() + st1.
yz()*st2.
xy() + st1.
zz()*st2.
xz(),
203 st1.
xz()*st2.
xy() + st1.
yz()*st2.
yy() + st1.
zz()*st2.
yz(),
204 st1.
xz()*st2.
xz() + st1.
yz()*st2.
yz() + st1.
zz()*st2.
zz()
216 st1.
xx()*st2.
xx() + 2*st1.
xy()*st2.
xy() + 2*st1.
xz()*st2.
xz()
217 + st1.
yy()*st2.
yy() + 2*st1.
yz()*st2.
yz()
230 st.
xx()*v.
x() + st.
xy()*v.
y() + st.
xz()*v.
z(),
231 st.
xy()*v.
x() + st.
yy()*v.
y() + st.
yz()*v.
z(),
232 st.
xz()*v.
x() + st.
yz()*v.
y() + st.
zz()*v.
z()
244 v.
x()*st.
xx() + v.
y()*st.
xy() + v.
z()*st.
xz(),
245 v.
x()*st.
xy() + v.
y()*st.
yy() + v.
z()*st.
yz(),
246 v.
x()*st.
xz() + v.
y()*st.
yz() + v.
z()*st.
zz()
253 inline SymmTensor<Cmpt>
286 return st.
xx() + st.
yy() + st.
zz();
294 return (1.0/3.0)*
tr(st);
421 inline SymmTensor<Cmpt>
426 spt1.
ii() + st2.
xx(), st2.
xy(), st2.
xz(),
427 spt1.
ii() + st2.
yy(), st2.
yz(),
434 inline SymmTensor<Cmpt>
439 st1.
xx() + spt2.
ii(), st1.
xy(), st1.
xz(),
440 st1.
yy() + spt2.
ii(), st1.
yz(),
447 inline SymmTensor<Cmpt>
452 spt1.
ii() - st2.
xx(), -st2.
xy(), -st2.
xz(),
453 spt1.
ii() - st2.
yy(), -st2.
yz(),
460 inline SymmTensor<Cmpt>
465 st1.
xx() - spt2.
ii(), st1.
xy(), st1.
xz(),
466 st1.
yy() - spt2.
ii(), st1.
yz(),
474 inline SymmTensor<Cmpt>
479 spt1.
ii()*st2.
xx(), spt1.
ii()*st2.
xy(), spt1.
ii()*st2.
xz(),
480 spt1.
ii()*st2.
yy(), spt1.
ii()*st2.
yz(),
488 inline SymmTensor<Cmpt>
493 st1.
xx()*spt2.
ii(), st1.
xy()*spt2.
ii(), st1.
xz()*spt2.
ii(),
494 st1.
yy()*spt2.
ii(), st1.
yz()*spt2.
ii(),
505 return(spt1.
ii()*st2.
xx() + spt1.
ii()*st2.
yy() + spt1.
ii()*st2.
zz());
514 return(st1.
xx()*spt2.
ii() + st1.
yy()*spt2.
ii() + st1.
zz()*spt2.
ii());
523 v.
x()*v.
x(), v.
x()*v.
y(), v.
x()*v.
z(),
524 v.
y()*v.
y(), v.
y()*v.
z(),
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
Templated 3D symmetric tensor derived from VectorSpace adding construction from 6 components,...
SymmTensor< Cmpt > cof(const SymmTensor< Cmpt > &st)
Return the cofactor symmetric tensor of a symmetric tensor.
SymmTensor< Cmpt > dev(const SymmTensor< Cmpt > &st)
Return the deviatoric part of a symmetric tensor.
SphericalTensor< Cmpt > sph(const SymmTensor< Cmpt > &st)
Return the spherical part of a symmetric tensor.
Cmpt invariantIII(const SymmTensor< Cmpt > &st)
Return the 3rd invariant of a symmetric tensor.
Cmpt invariantI(const SymmTensor< Cmpt > &st)
Return the 1st invariant of a symmetric tensor.
SymmTensor< Cmpt > dev2(const SymmTensor< Cmpt > &st)
Return the deviatoric part of a symmetric tensor.
const SymmTensor< Cmpt > & symm(const SymmTensor< Cmpt > &st)
Return the symmetric part of a symmetric tensor, i.e. itself.
Cmpt det(const SymmTensor< Cmpt > &st)
Return the determinant of a symmetric tensor.
SymmTensor< Cmpt > operator-(const SymmTensor< Cmpt > &st1, const SphericalTensor< Cmpt > &spt2)
Cmpt operator&&(const SymmTensor< Cmpt > &st1, const SphericalTensor< Cmpt > &spt2)
Double-dot-product between a tensor and a spherical tensor.
SymmTensor< Cmpt > inv(const SymmTensor< Cmpt > &st)
Return the inverse of a symmetric tensor.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Cmpt tr(const SymmTensor< Cmpt > &st)
Return the trace of a symmetric tensor.
SymmTensor()
Construct null.
SymmTensor< Cmpt > operator&(const SymmTensor< Cmpt > &st1, const SphericalTensor< Cmpt > &spt2)
Inner-product between a tensor and a spherical tensor.
Cmpt invariantII(const SymmTensor< Cmpt > &st)
Return the 2nd invariant of a symmetric tensor.
SymmTensor< Cmpt > innerSqr(const SymmTensor< Cmpt > &st)
Inner-sqr of a symmetric tensor.
Templated 3D SphericalTensor derived from VectorSpace adding construction from 1 component,...
Vector< Cmpt > operator*(const SymmTensor< Cmpt > &st)
Hodge Dual operator (tensor -> vector)
SymmTensor< Cmpt > operator+(const SymmTensor< Cmpt > &st1, const SphericalTensor< Cmpt > &spt2)
SymmTensor< Cmpt > sqr(const Vector< Cmpt > &v)
SymmTensor< Cmpt > twoSymm(const SymmTensor< Cmpt > &st)
Return twice the symmetric part of a symmetric tensor.
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
Cmpt magSqr(const SymmTensor< Cmpt > &st)