Go to the documentation of this file.
54 this->v_[XX] = st.
ii(); this->v_[XY] =
Zero; this->v_[XZ] =
Zero;
55 this->v_[YY] = st.
ii(); this->v_[YZ] =
Zero;
56 this->v_[ZZ] = st.
ii();
63 const Cmpt txx,
const Cmpt txy,
const Cmpt txz,
64 const Cmpt tyy,
const Cmpt tyz,
68 this->v_[XX] = txx; this->v_[XY] = txy; this->v_[XZ] = txz;
69 this->v_[YY] = tyy; this->v_[YZ] = tyz;
196 return Vector<Cmpt>(this->v_[XX], this->v_[YY], this->v_[ZZ]);
203 this->v_[XX] = v.
x(); this->v_[YY] = v.
y(); this->v_[ZZ] = v.
z();
219 this->v_[XX] = st.
ii(); this->v_[XY] =
Zero; this->v_[XZ] =
Zero;
220 this->v_[YY] = st.
ii(); this->v_[YZ] =
Zero;
221 this->v_[ZZ] = st.
ii();
236 return st.
xx() + st.
yy() + st.
zz();
279 return st - 2*
sph(st);
319 if (
mag(detst) < VSMALL)
322 <<
"SymmTensor is not invertible due to the zero determinant:"
323 <<
"det(symmTensor) = " <<
mag(detst)
328 return cof(st).
T()/detst;
370 inline SymmTensor<Cmpt>
406 v.
x()*v.
x(), v.
x()*v.
y(), v.
x()*v.
z(),
407 v.
y()*v.
y(), v.
y()*v.
z(),
417 inline SymmTensor<Cmpt>
422 spt1.
ii() + st2.
xx(), st2.
xy(), st2.
xz(),
423 spt1.
ii() + st2.
yy(), st2.
yz(),
431 inline SymmTensor<Cmpt>
436 st1.
xx() + spt2.
ii(), st1.
xy(), st1.
xz(),
437 st1.
yy() + spt2.
ii(), st1.
yz(),
445 inline SymmTensor<Cmpt>
450 spt1.
ii() - st2.
xx(), -st2.
xy(), -st2.
xz(),
451 spt1.
ii() - st2.
yy(), -st2.
yz(),
459 inline SymmTensor<Cmpt>
464 st1.
xx() - spt2.
ii(), st1.
xy(), st1.
xz(),
465 st1.
yy() - spt2.
ii(), st1.
yz(),
481 inline SymmTensor<Cmpt>
500 st1.
xx()*st2.
xx() + st1.
xy()*st2.
xy() + st1.
xz()*st2.
xz(),
501 st1.
xx()*st2.
xy() + st1.
xy()*st2.
yy() + st1.
xz()*st2.
yz(),
502 st1.
xx()*st2.
xz() + st1.
xy()*st2.
yz() + st1.
xz()*st2.
zz(),
504 st1.
xy()*st2.
xx() + st1.
yy()*st2.
xy() + st1.
yz()*st2.
xz(),
505 st1.
xy()*st2.
xy() + st1.
yy()*st2.
yy() + st1.
yz()*st2.
yz(),
506 st1.
xy()*st2.
xz() + st1.
yy()*st2.
yz() + st1.
yz()*st2.
zz(),
508 st1.
xz()*st2.
xx() + st1.
yz()*st2.
xy() + st1.
zz()*st2.
xz(),
509 st1.
xz()*st2.
xy() + st1.
yz()*st2.
yy() + st1.
zz()*st2.
yz(),
510 st1.
xz()*st2.
xz() + st1.
yz()*st2.
yz() + st1.
zz()*st2.
zz()
517 inline SymmTensor<Cmpt>
522 spt1.
ii()*st2.
xx(), spt1.
ii()*st2.
xy(), spt1.
ii()*st2.
xz(),
523 spt1.
ii()*st2.
yy(), spt1.
ii()*st2.
yz(),
531 inline SymmTensor<Cmpt>
536 st1.
xx()*spt2.
ii(), st1.
xy()*spt2.
ii(), st1.
xz()*spt2.
ii(),
537 st1.
yy()*spt2.
ii(), st1.
yz()*spt2.
ii(),
550 st.
xx()*v.
x() + st.
xy()*v.
y() + st.
xz()*v.
z(),
551 st.
xy()*v.
x() + st.
yy()*v.
y() + st.
yz()*v.
z(),
552 st.
xz()*v.
x() + st.
yz()*v.
y() + st.
zz()*v.
z()
564 v.
x()*st.
xx() + v.
y()*st.
xy() + v.
z()*st.
xz(),
565 v.
x()*st.
xy() + v.
y()*st.
yy() + v.
z()*st.
yz(),
566 v.
x()*st.
xz() + v.
y()*st.
yz() + v.
z()*st.
zz()
578 st1.
xx()*st2.
xx() + 2*st1.
xy()*st2.
xy() + 2*st1.
xz()*st2.
xz()
579 + st1.
yy()*st2.
yy() + 2*st1.
yz()*st2.
yz()
590 return (spt1.
ii()*st2.
xx() + spt1.
ii()*st2.
yy() + spt1.
ii()*st2.
zz());
599 return (st1.
xx()*spt2.
ii() + st1.
yy()*spt2.
ii() + st1.
zz()*spt2.
ii());
A templated (3 x 3) tensor of objects of <T> derived from MatrixSpace.
const Cmpt & x() const
Access to the vector x component.
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
A templated (3 x 3) symmetric tensor of objects of <T>, effectively containing 6 elements,...
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Cmpt invariantIII(const SymmTensor< Cmpt > &st)
Return the 3rd invariant of a SymmTensor.
const SymmTensor< Cmpt > & T() const
Return non-Hermitian transpose.
tmp< GeometricField< Type, fvPatchField, volMesh > > operator&(const fvMatrix< Type > &, const DimensionedField< Type, volMesh > &)
Cmpt invariantI(const SymmTensor< Cmpt > &st)
Return the 1st invariant of a SymmTensor.
static constexpr const zero Zero
Global zero (0)
tmp< faMatrix< Type > > operator-(const faMatrix< Type > &)
dimensionedSymmTensor dev2(const dimensionedSymmTensor &dt)
dimensionedSymmTensor innerSqr(const dimensionedSymmTensor &dt)
SymmTensor()=default
Default construct.
dimensioned< Type > T() const
Return transpose.
const Cmpt & z() const
Access to the vector z component.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
SphericalTensor< Cmpt > sph(const DiagTensor< Cmpt > &dt)
Return the spherical part of a DiagTensor as a SphericalTensor.
dimensioned< typename scalarProduct< Type1, Type2 >::type > operator&&(const dimensioned< Type1 > &, const dimensioned< Type2 > &)
Cmpt invariantII(const SymmTensor< Cmpt > &st)
Return the 2nd invariant of a SymmTensor.
errorManip< error > abort(error &err)
dimensionedSymmTensor cof(const dimensionedSymmTensor &dt)
A templated (3 x 3) diagonal tensor of objects of <T>, effectively containing 1 element,...
dimensionedScalar operator/(const scalar s1, const dimensionedScalar &ds2)
const Cmpt & y() const
Access to the vector y component.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Vector< Cmpt > diag() const
Extract the diagonal as a vector.
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
tmp< faMatrix< Type > > operator+(const faMatrix< Type > &, const faMatrix< Type > &)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
tmp< faMatrix< Type > > operator*(const areaScalarField &, const faMatrix< Type > &)
SymmTensor & operator=(const SymmTensor &)=default
Copy assignment.
dimensionedScalar tr(const dimensionedSphericalTensor &dt)
dimensionedScalar det(const dimensionedSphericalTensor &dt)
dimensionedSymmTensor twoSymm(const dimensionedSymmTensor &dt)
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
dimensionedSymmTensor dev(const dimensionedSymmTensor &dt)