A templated (3 x 3) tensor of objects of <T> derived from MatrixSpace. More...
Public Types | |
enum | components { XX, XY, XZ, YX, YY, YZ, ZX, ZY, ZZ } |
Component labeling enumeration. More... | |
typedef Tensor< label > | labelType |
Equivalent type of labels used for valid component indexing. More... | |
Public Member Functions | |
Tensor ()=default | |
Default construct. More... | |
Tensor (const Tensor &)=default | |
Copy construct. More... | |
Tensor & | operator= (const Tensor &)=default |
Copy assignment. More... | |
Tensor (const Foam::zero) | |
Construct initialized to zero. More... | |
template<class Cmpt2 > | |
Tensor (const MatrixSpace< Tensor< Cmpt2 >, Cmpt2, 3, 3 > &vs) | |
Construct given MatrixSpace of the same rank. More... | |
template<class Cmpt2 > | |
Tensor (const VectorSpace< Tensor< Cmpt2 >, Cmpt2, 9 > &vs) | |
Construct given VectorSpace of the same rank. More... | |
Tensor (const SphericalTensor< Cmpt > &st) | |
Construct given SphericalTensor. More... | |
Tensor (const SymmTensor< Cmpt > &st) | |
Construct given SymmTensor. More... | |
Tensor (const Vector< Vector< Cmpt >> &vecs, const bool transposed=false) | |
Tensor (const Vector< Cmpt > &x, const Vector< Cmpt > &y, const Vector< Cmpt > &z, const bool transposed=false) | |
Tensor (const Cmpt txx, const Cmpt txy, const Cmpt txz, const Cmpt tyx, const Cmpt tyy, const Cmpt tyz, const Cmpt tzx, const Cmpt tzy, const Cmpt tzz) | |
Construct given the nine components. More... | |
template<template< class, direction, direction > class Block2, direction BRowStart, direction BColStart> | |
Tensor (const Block2< Tensor< Cmpt >, BRowStart, BColStart > &block) | |
Construct from a block of another matrix space. More... | |
Tensor (Istream &is) | |
Construct from Istream. More... | |
const Cmpt & | xx () const |
const Cmpt & | xy () const |
const Cmpt & | xz () const |
const Cmpt & | yx () const |
const Cmpt & | yy () const |
const Cmpt & | yz () const |
const Cmpt & | zx () const |
const Cmpt & | zy () const |
const Cmpt & | zz () const |
Cmpt & | xx () |
Cmpt & | xy () |
Cmpt & | xz () |
Cmpt & | yx () |
Cmpt & | yy () |
Cmpt & | yz () |
Cmpt & | zx () |
Cmpt & | zy () |
Cmpt & | zz () |
Vector< Cmpt > | cx () const |
Extract vector for column 0. More... | |
Vector< Cmpt > | cy () const |
Extract vector for column 1. More... | |
Vector< Cmpt > | cz () const |
Extract vector for column 2. More... | |
template<direction Col> | |
Vector< Cmpt > | col () const |
Extract vector for given column. More... | |
Vector< Cmpt > | col (const direction c) const |
Extract vector for given column (0,1,2). More... | |
template<direction Col> | |
void | col (const Vector< Cmpt > &v) |
Set values of given column. More... | |
void | col (const direction c, const Vector< Cmpt > &v) |
Set values of given column (0,1,2) More... | |
void | cols (const Vector< Cmpt > &x, const Vector< Cmpt > &y, const Vector< Cmpt > &z) |
Set column values. More... | |
Vector< Cmpt > | x () const |
Extract vector for row 0. More... | |
Vector< Cmpt > | y () const |
Extract vector for row 1. More... | |
Vector< Cmpt > | z () const |
Extract vector for row 2. More... | |
template<direction Row> | |
Vector< Cmpt > | row () const |
Extract vector for given row. More... | |
Vector< Cmpt > | row (const direction r) const |
Extract vector for given row (0,1,2) More... | |
template<direction Row> | |
void | row (const Vector< Cmpt > &v) |
Set values of given row. More... | |
void | row (const direction r, const Vector< Cmpt > &v) |
Set values of given row (0,1,2) More... | |
void | rows (const Vector< Cmpt > &x, const Vector< Cmpt > &y, const Vector< Cmpt > &z) |
Set row values. More... | |
Vector< Cmpt > | diag () const |
Extract the diagonal as a vector. More... | |
void | diag (const Vector< Cmpt > &v) |
Set values of the diagonal. More... | |
Tensor< Cmpt > | T () const |
Return non-Hermitian transpose. More... | |
Tensor< Cmpt > | inv () const |
Return inverse. More... | |
Tensor< Cmpt > | inner (const Tensor< Cmpt > &t2) const |
Inner-product of this with another Tensor. More... | |
Tensor< Cmpt > | schur (const Tensor< Cmpt > &t2) const |
Schur-product of this with another Tensor. More... | |
void | operator&= (const Tensor< Cmpt > &t) |
Assign inner-product of this with another Tensor. More... | |
template<class Cmpt2 > | |
void | operator= (const VectorSpace< Tensor< Cmpt2 >, Cmpt2, 9 > &) |
Assign to an equivalent vector space. More... | |
void | operator= (const SphericalTensor< Cmpt > &) |
Assign to a SphericalTensor. More... | |
void | operator= (const SymmTensor< Cmpt > &) |
Assign to a SymmTensor. More... | |
void | operator= (const Vector< Vector< Cmpt >> &) |
Assign to a triad of row vectors. More... | |
Vector< Cmpt > | vectorComponent (const direction cmpt) const |
Deprecated(2018-12) Return vector for given row (0,1) More... | |
template<Foam::direction Col> | |
Foam::Vector< Cmpt > | col () const |
template<Foam::direction Row> | |
Foam::Vector< Cmpt > | row () const |
Static Public Attributes | |
static constexpr direction | rank = 2 |
Rank of Tensor is 2. More... | |
static const Tensor | I |
A templated (3 x 3) tensor of objects of <T> derived from MatrixSpace.
Definition at line 275 of file complexI.H.
enum components |
|
default |
Default construct.
|
inline |
|
inline |
Construct given MatrixSpace of the same rank.
|
inline |
Construct given VectorSpace of the same rank.
|
inline |
Construct given SphericalTensor.
|
inline |
Construct given SymmTensor.
|
inline |
|
inline |
Definition at line 152 of file TensorI.H.
Referenced by fixedCoeff::calcTransformModelData(), DarcyForchheimer::calcTransformModelData(), Foam::cof(), Foam::det(), Foam::diag(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::tr(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Definition at line 159 of file TensorI.H.
Referenced by Foam::cof(), Foam::det(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator*(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), Foam::skew(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Definition at line 166 of file TensorI.H.
Referenced by Foam::cof(), Foam::det(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator*(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), Foam::skew(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Definition at line 173 of file TensorI.H.
Referenced by Foam::cof(), Foam::det(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), Foam::skew(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Definition at line 180 of file TensorI.H.
Referenced by fixedCoeff::calcTransformModelData(), DarcyForchheimer::calcTransformModelData(), Foam::cof(), Foam::det(), Foam::diag(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::tr(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Definition at line 187 of file TensorI.H.
Referenced by Foam::cof(), Foam::det(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator*(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), Foam::skew(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Definition at line 194 of file TensorI.H.
Referenced by Foam::cof(), Foam::det(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), Foam::skew(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Definition at line 201 of file TensorI.H.
Referenced by Foam::cof(), Foam::det(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), Foam::skew(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Definition at line 208 of file TensorI.H.
Referenced by fixedCoeff::calcTransformModelData(), DarcyForchheimer::calcTransformModelData(), Foam::cof(), Foam::det(), Foam::diag(), Tensor< scalar >::inner(), Foam::invariantII(), Foam::invTransform(), momentOfInertia::massPropertiesSolid(), Foam::operator&(), Foam::operator&&(), Foam::operator+(), Foam::operator-(), Foam::operator/(), quaternion::quaternion(), Tensor< scalar >::schur(), SpatialTensor< Cmpt >::SpatialTensor(), Foam::symm(), Foam::tr(), Foam::transform(), Foam::transformPrincipal_vector(), and Foam::twoSymm().
|
inline |
Extract vector for column 0.
Definition at line 299 of file TensorI.H.
Referenced by coordinateSystem::e1(), and lumpedPointState::writeVTP().
|
inline |
Extract vector for column 1.
Definition at line 306 of file TensorI.H.
Referenced by coordinateSystem::e2(), and lumpedPointState::writeVTP().
|
inline |
Extract vector for column 2.
Definition at line 313 of file TensorI.H.
Referenced by coordinateSystem::e3().
|
inline |
Extract vector for given column.
Compile-time check of column index.
Referenced by cylindrical::R(), and axes::rotation().
|
inline |
|
inline |
|
inline |
Extract vector for row 0.
Definition at line 278 of file TensorI.H.
Referenced by Bezier::facePoints_d(), and triad::operator=().
|
inline |
Extract vector for row 1.
Definition at line 285 of file TensorI.H.
Referenced by Bezier::facePoints_d(), and triad::operator=().
|
inline |
Extract vector for row 2.
Definition at line 292 of file TensorI.H.
Referenced by Bezier::facePoints_d(), and triad::operator=().
|
inline |
Extract vector for given row.
Compile-time check of row index.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Return non-Hermitian transpose.
Definition at line 504 of file TensorI.H.
Referenced by edgeInterpolationScheme< scalar >::interpolate(), spatialTransform::inv(), mapDistribute::transform::operator()(), transformOp< PrimitivePatchType, Type, TrackingData >::operator()(), Foam::RBD::transform(), and triad::triad().
|
inline |
|
inline |
Inner-product of this with another Tensor.
Definition at line 517 of file TensorI.H.
Referenced by Foam::operator&().
|
inline |
|
inline |
|
inline |
|
inline |
Assign to a SphericalTensor.
|
inline |
Assign to a SymmTensor.
Deprecated(2018-12) Return vector for given row (0,1)
Definition at line 316 of file Tensor.H.
Referenced by eddy::writeSurfaceOBJ().
|
inline |
|
inline |
|
staticconstexpr |
|
static |
Definition at line 85 of file Tensor.H.
Referenced by sensitivitySurface::addGeometricSens(), deltaBoundary::cellCenters_d(), Foam::fac::div(), sensitivitySurfacePoints::finalisePointSensitivities(), Pxyz::jcalc(), elasticityMotionSolver::solve(), eddy::writeSurfaceOBJ(), and Foam::Xt().