Go to the documentation of this file.
51 this->v_[XX] = st.
ii(); this->v_[XY] = 0; this->v_[XZ] = 0;
52 this->v_[YX] = 0; this->v_[YY] = st.
ii(); this->v_[YZ] = 0;
53 this->v_[ZX] = 0; this->v_[ZY] = 0; this->v_[ZZ] = st.
ii();
60 this->v_[XX] = st.
xx(); this->v_[XY] = st.
xy(); this->v_[XZ] = st.
xz();
61 this->v_[YX] = st.
xy(); this->v_[YY] = st.
yy(); this->v_[YZ] = st.
yz();
62 this->v_[ZX] = st.
xz(); this->v_[ZY] = st.
yz(); this->v_[ZZ] = st.
zz();
69 this->v_[XX] =
tr.x().x();
70 this->v_[XY] =
tr.x().y();
71 this->v_[XZ] =
tr.x().z();
73 this->v_[YX] =
tr.y().x();
74 this->v_[YY] =
tr.y().y();
75 this->v_[YZ] =
tr.y().z();
77 this->v_[ZX] =
tr.z().x();
78 this->v_[ZY] =
tr.z().y();
79 this->v_[ZZ] =
tr.z().z();
91 this->v_[XX] =
x.x(); this->v_[XY] =
x.y(); this->v_[XZ] =
x.z();
92 this->v_[YX] =
y.x(); this->v_[YY] =
y.y(); this->v_[YZ] =
y.z();
93 this->v_[ZX] = z.
x(); this->v_[ZY] = z.
y(); this->v_[ZZ] = z.
z();
100 const Cmpt txx,
const Cmpt txy,
const Cmpt txz,
101 const Cmpt tyx,
const Cmpt tyy,
const Cmpt tyz,
102 const Cmpt tzx,
const Cmpt tzy,
const Cmpt tzz
105 this->v_[XX] = txx; this->v_[XY] = txy; this->v_[XZ] = txz;
106 this->v_[YX] = tyx; this->v_[YY] = tyy; this->v_[YZ] = tyz;
107 this->v_[ZX] = tzx; this->v_[ZY] = tzy; this->v_[ZZ] = tzz;
123 return Vector<Cmpt>(this->v_[XX], this->v_[XY], this->v_[XZ]);
130 return Vector<Cmpt>(this->v_[YX], this->v_[YY], this->v_[YZ]);
137 return Vector<Cmpt>(this->v_[ZX], this->v_[ZY], this->v_[ZZ]);
302 this->v_[XX] = st.
ii(); this->v_[XY] = 0; this->v_[XZ] = 0;
303 this->v_[YX] = 0; this->v_[YY] = st.
ii(); this->v_[YZ] = 0;
304 this->v_[ZX] = 0; this->v_[ZY] = 0; this->v_[ZZ] = st.
ii();
309 inline void Tensor<Cmpt>::operator=(
const SymmTensor<Cmpt>& st)
311 this->v_[XX] = st.xx(); this->v_[XY] = st.xy(); this->v_[XZ] = st.xz();
312 this->v_[YX] = st.xy(); this->v_[YY] = st.yy(); this->v_[YZ] = st.yz();
313 this->v_[ZX] = st.xz(); this->v_[ZY] = st.yz(); this->v_[ZZ] = st.zz();
320 this->v_[XX] =
tr.x().x();
321 this->v_[XY] =
tr.x().y();
322 this->v_[XZ] =
tr.x().z();
324 this->v_[YX] =
tr.y().x();
325 this->v_[YY] =
tr.y().y();
326 this->v_[YZ] =
tr.y().z();
328 this->v_[ZX] =
tr.z().x();
329 this->v_[ZY] =
tr.z().y();
330 this->v_[ZZ] =
tr.z().z();
356 inline typename innerProduct<Tensor<Cmpt>, Tensor<Cmpt> >
::type
382 t.
xx()*v.
x() + t.
xy()*v.
y() + t.
xz()*v.
z(),
383 t.
yx()*v.
x() + t.
yy()*v.
y() + t.
yz()*v.
z(),
384 t.
zx()*v.
x() + t.
zy()*v.
y() + t.
zz()*v.
z()
390 inline typename innerProduct<Vector<Cmpt>, Tensor<Cmpt> >
::type
395 v.
x()*t.
xx() + v.
y()*t.
yx() + v.
z()*t.
zx(),
396 v.
x()*t.
xy() + v.
y()*t.
yy() + v.
z()*t.
zy(),
397 v.
x()*t.
xz() + v.
y()*t.
yz() + v.
z()*t.
zz()
408 v1.
x()*v2.
x(), v1.
x()*v2.
y(), v1.
x()*v2.
z(),
409 v1.
y()*v2.
x(), v1.
y()*v2.
y(), v1.
y()*v2.
z(),
410 v1.
z()*v2.
x(), v1.
z()*v2.
y(), v1.
z()*v2.
z()
416 inline typename innerProduct<Vector<Cmpt>, Tensor<Cmpt> >
::type
429 return t.
xx() + t.
yy() + t.
zz();
437 return (1.0/3.0)*
tr(t);
447 t.
xx(), 0.5*(t.
xy() + t.
yx()), 0.5*(t.
xz() + t.
zx()),
448 t.
yy(), 0.5*(t.
yz() + t.
zy()),
460 2*t.
xx(), (t.
xy() + t.
yx()), (t.
xz() + t.
zx()),
461 2*t.
yy(), (t.
yz() + t.
zy()),
473 0.0, 0.5*(t.
xy() - t.
yx()), 0.5*(t.
xz() - t.
zx()),
474 0.5*(t.
yx() - t.
xy()), 0.0, 0.5*(t.
yz() - t.
zy()),
475 0.5*(t.
zx() - t.
xz()), 0.5*(t.
zy() - t.
yz()), 0.0
608 st1.
ii() + t2.
xx(), t2.
xy(), t2.
xz(),
609 t2.
yx(), st1.
ii() + t2.
yy(), t2.
yz(),
610 t2.
zx(), t2.
zy(), st1.
ii() + t2.
zz()
621 t1.
xx() + st2.
ii(), t1.
xy(), t1.
xz(),
622 t1.
yx(), t1.
yy() + st2.
ii(), t1.
yz(),
623 t1.
zx(), t1.
zy(), t1.
zz() + st2.
ii()
634 st1.
ii() - t2.
xx(), -t2.
xy(), -t2.
xz(),
635 -t2.
yx(), st1.
ii() - t2.
yy(), -t2.
yz(),
636 -t2.
zx(), -t2.
zy(), st1.
ii() - t2.
zz()
647 t1.
xx() - st2.
ii(), t1.
xy(), t1.
xz(),
648 t1.
yx(), t1.
yy() - st2.
ii(), t1.
yz(),
649 t1.
zx(), t1.
zy(), t1.
zz() - st2.
ii()
687 return(st1.
ii()*t2.
xx() + st1.
ii()*t2.
yy() + st1.
ii()*t2.
zz());
696 return(t1.
xx()*st2.
ii() + t1.
yy()*st2.
ii() + t1.
zz()*st2.
ii());
744 st1.
xx() + t2.
xx(), st1.
xy() + t2.
xy(), st1.
xz() + t2.
xz(),
745 st1.
xy() + t2.
yx(), st1.
yy() + t2.
yy(), st1.
yz() + t2.
yz(),
746 st1.
xz() + t2.
zx(), st1.
yz() + t2.
zy(), st1.
zz() + t2.
zz()
757 t1.
xx() + st2.
xx(), t1.
xy() + st2.
xy(), t1.
xz() + st2.
xz(),
758 t1.
yx() + st2.
xy(), t1.
yy() + st2.
yy(), t1.
yz() + st2.
yz(),
759 t1.
zx() + st2.
xz(), t1.
zy() + st2.
yz(), t1.
zz() + st2.
zz()
770 st1.
xx() - t2.
xx(), st1.
xy() - t2.
xy(), st1.
xz() - t2.
xz(),
771 st1.
xy() - t2.
yx(), st1.
yy() - t2.
yy(), st1.
yz() - t2.
yz(),
772 st1.
xz() - t2.
zx(), st1.
yz() - t2.
zy(), st1.
zz() - t2.
zz()
783 t1.
xx() - st2.
xx(), t1.
xy() - st2.
xy(), t1.
xz() - st2.
xz(),
784 t1.
yx() - st2.
xy(), t1.
yy() - st2.
yy(), t1.
yz() - st2.
yz(),
785 t1.
zx() - st2.
xz(), t1.
zy() - st2.
yz(), t1.
zz() - st2.
zz()
841 st1.
xx()*t2.
xx() + st1.
xy()*t2.
xy() + st1.
xz()*t2.
xz() +
842 st1.
xy()*t2.
yx() + st1.
yy()*t2.
yy() + st1.
yz()*t2.
yz() +
855 t1.
xx()*st2.
xx() + t1.
xy()*st2.
xy() + t1.
xz()*st2.
xz() +
856 t1.
yx()*st2.
xy() + t1.
yy()*st2.
yy() + t1.
yz()*st2.
yz() +
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
SymmTensor< Cmpt > twoSymm(const Tensor< Cmpt > &t)
Return twice the symmetric part of a tensor.
Templated 3D symmetric tensor derived from VectorSpace adding construction from 6 components,...
Cmpt det(const Tensor< Cmpt > &t)
Return the determinant of a tensor.
Tensor< Cmpt > inv(const Tensor< Cmpt > &t)
Return the inverse of a tensor.
outerProduct< Vector< Cmpt >, Vector< Cmpt > >::type operator*(const Vector< Cmpt > &v1, const Vector< Cmpt > &v2)
Cmpt invariantIII(const Tensor< Cmpt > &t)
Return the 3rd invariant of a tensor.
Cmpt invariantII(const Tensor< Cmpt > &t)
Return the 2nd invariant of a tensor.
Cmpt tr(const Tensor< Cmpt > &t)
Return the trace of a tensor.
Tensor< Cmpt > operator-(const Tensor< Cmpt > &t1, const SymmTensor< Cmpt > &st2)
innerProduct< Vector< Cmpt >, Tensor< Cmpt > >::type operator/(const Vector< Cmpt > &v, const Tensor< Cmpt > &t)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Cmpt invariantI(const Tensor< Cmpt > &t)
Return the 1st invariant of a tensor.
Tensor< Cmpt > dev2(const Tensor< Cmpt > &t)
Return the deviatoric part of a tensor.
SphericalTensor< Cmpt > sph(const Tensor< Cmpt > &t)
Return the spherical part of a tensor.
Templated 3D SphericalTensor derived from VectorSpace adding construction from 1 component,...
Tensor< Cmpt > operator+(const Tensor< Cmpt > &t1, const SymmTensor< Cmpt > &st2)
Tensor< Cmpt > dev(const Tensor< Cmpt > &t)
Return the deviatoric part of a tensor.
const Tensor< Cmpt > & skew(const SymmTensor< Cmpt > &st)
Return the skew-symmetric part of a symmetric tensor.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
SymmTensor< Cmpt > symm(const Tensor< Cmpt > &t)
Return the symmetric part of a tensor.
Cmpt operator&&(const Tensor< Cmpt > &t1, const SymmTensor< Cmpt > &st2)
Double-dot-product between a tensor and a symmetric tensor.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
Tensor< Cmpt > cof(const Tensor< Cmpt > &t)
Return the cofactor tensor of a tensor.
Tensor< Cmpt > operator&(const Tensor< Cmpt > &t1, const SymmTensor< Cmpt > &st2)
Inner-product between a tensor and a symmetric tensor.