102 void setXX(
const double& xx);
105 void setXY(
const double& xy);
108 void setXZ(
const double& xz);
111 void setYX(
const double& xx);
114 void setYY(
const double& xy);
117 void setYZ(
const double& xz);
120 void setZX(
const double& xx);
123 void setZY(
const double& xy);
126 void setZZ(
const double& xz);
174 double trace()
const;
Tensor tensorStrainRateTranspose
Definition Tensor.cpp:55
Tensor tensorEigenvalues
Definition Tensor.cpp:42
Tensor tensorG2
Definition Tensor.cpp:40
Tensor tensorPade
Definition Tensor.cpp:47
Tensor tensorNonConsCobase
Definition Tensor.cpp:37
Tensor tensorCobase
Definition Tensor.cpp:36
Tensor tensorD
Definition Tensor.cpp:45
Tensor tensorU
Definition Tensor.cpp:51
Tensor tensorP
Definition Tensor.cpp:43
Tensor tensorX4
Definition Tensor.cpp:49
Tensor tensorBuff
Definition Tensor.cpp:33
Tensor tensorX2
Definition Tensor.cpp:48
Tensor tensorV
Definition Tensor.cpp:52
Tensor tensorStrainRate
Definition Tensor.cpp:54
Tensor tensorA
Definition Tensor.cpp:41
Tensor tensorG
Definition Tensor.cpp:39
Tensor tensorBuff2
Definition Tensor.cpp:34
Tensor tensorQ
Definition Tensor.cpp:53
Tensor tensorX6
Definition Tensor.cpp:50
Tensor tensorF
Definition Tensor.cpp:38
Tensor tensorPinverse
Definition Tensor.cpp:44
Tensor tensorDLogCobaseDt
Definition Tensor.cpp:46
Tensor tensorIdentity
Definition Tensor.cpp:35
TensorElement
Enumeration for the tensor elements.
Definition Tensor.h:42
@ ZZ
Definition Tensor.h:51
@ XY
Definition Tensor.h:44
@ XZ
Definition Tensor.h:45
@ YZ
Definition Tensor.h:48
@ YX
Definition Tensor.h:46
@ YY
Definition Tensor.h:47
@ XX
Definition Tensor.h:43
@ ZX
Definition Tensor.h:49
@ ZY
Definition Tensor.h:50
Tensor operator*(const double &scalar, const Tensor &a)
Definition Tensor.cpp:656
Tensor operator+(const Tensor &a, const Tensor &b)
Definition Tensor.cpp:665
Tensor operator-(const Tensor &a, const Tensor &b)
Definition Tensor.cpp:674
Class for a coordinate system object such as coordinates of the vertex or a vector.
Definition Coord.h:43
Class for a matrix 3x3 system object.
Definition Tensor.h:57
void setYZ(const double &xz)
Set the value in the yz-element of the Tensor object.
Definition Tensor.cpp:149
void setTensorByColumns(const Coord &x, const Coord &y, const Coord &z)
Definition Tensor.cpp:305
void correctZeros()
Set to perfect zero each of the epsilon terms.
Definition Tensor.cpp:200
void matrixProduct(const Tensor &tensor2, Tensor &resultingTensor) const
Compute the matrix product of the two tensors.
Definition Tensor.cpp:366
const double & getZX() const
Return the value of the zx-element of the Tensor object.
Definition Tensor.h:95
const double & getXZ() const
Return the value of the xz-element of the Tensor object.
Definition Tensor.h:87
bool isIdentity() const
Return true if equal to identity.
Definition Tensor.cpp:427
void setZZ(const double &xz)
Set the value in the zz-element of the Tensor object.
Definition Tensor.cpp:161
void setZY(const double &xy)
Set the value in the zy-element of the Tensor object.
Definition Tensor.cpp:157
void transpose(Tensor &transposedTensor) const
Compute the transpose of the tensor.
Definition Tensor.cpp:349
void setXZ(const double &xz)
Set the value in the xz-element of the Tensor object.
Definition Tensor.cpp:137
double determinant() const
Return the determinant of the tensor.
Definition Tensor.cpp:396
std::array< double, 9 > m_array
Definition Tensor.h:207
Tensor()
Definition Tensor.cpp:57
Tensor & operator*=(const double &scalar)
Definition Tensor.cpp:597
void setYY(const double &xy)
Set the value in the yy-element of the Tensor object.
Definition Tensor.cpp:145
double trace() const
Return the trace of the tensor.
Definition Tensor.cpp:392
~Tensor()
Definition Tensor.cpp:117
void tensorToArray(double *array) const
Transform the Tensor into 1D array (pointer).
Definition Tensor.cpp:331
void setTensor(const Tensor &tensor)
Set the Tensor object.
Definition Tensor.cpp:165
Tensor & operator-=(const Tensor &a)
Definition Tensor.cpp:645
const double & getElement(const int &element) const
Return the value of the specific element of the Tensor object.
Definition Tensor.h:81
void localProjection(const Coord &normal, const Coord &tangent, const Coord &binormal)
Projection in the local coordinate system which is defined by the transmitted normal,...
Definition Tensor.cpp:219
void reverseProjection(const Coord &normal, const Coord &tangent, const Coord &binormal)
Reverse projection in the absolute Cartesian coordinate system.
Definition Tensor.cpp:255
void eigen(Tensor &eigenvalues, Tensor &eigenvectors) const
Compute the eigenvalues and eigenvectors of the tensor with Jacobi's algorithm.
Definition Tensor.cpp:499
const double & getZY() const
Return the value of the zy-element of the Tensor object.
Definition Tensor.h:97
double infinityNorm() const
Compute the infinity norm of the tensor.
Definition Tensor.cpp:448
Coord scalar(const Coord &a) const
Return the scalar product between the Tensor and the Coord.
Definition Tensor.cpp:209
const double & getYX() const
Return the value of the yx-element of the Tensor object.
Definition Tensor.h:89
void setZX(const double &xx)
Set the value in the zx-element of the Tensor object.
Definition Tensor.cpp:153
static const Tensor defaultTensor
Default Tensor object (const version).
Definition Tensor.h:75
void setXX(const double &xx)
Set the value in the xx-element of the Tensor object.
Definition Tensor.cpp:129
void setTensorByLines(const Coord &x, const Coord &y, const Coord &z)
Definition Tensor.cpp:288
Tensor & operator+=(const Tensor &a)
Definition Tensor.cpp:635
void exponentialPade(Tensor &tensorExpPade)
Compute the exponential of the tensor using a Padé 6*6 algorithm.
Definition Tensor.cpp:473
void tensorToCoords(Coord &x, Coord &y, Coord &z) const
Transform the Tensor into Coords (vectors).
Definition Tensor.cpp:322
static Tensor defaultTensorNonConst
Default Tensor object (non-const version).
Definition Tensor.h:78
Tensor & operator/=(const double &scalar)
Definition Tensor.cpp:607
const double & getYY() const
Return the value of the yy-element of the Tensor object.
Definition Tensor.h:91
Tensor operator/(const double &scalar) const
Definition Tensor.cpp:626
const double & getZZ() const
Return the value of the zz-element of the Tensor object.
Definition Tensor.h:99
void setXY(const double &xy)
Set the value in the xy-element of the Tensor object.
Definition Tensor.cpp:133
const double & getXX() const
Return the value of the xx-element of the Tensor object.
Definition Tensor.h:83
void inverse(Tensor &inverseTensor) const
Compute the inverse of the tensor.
Definition Tensor.cpp:405
void setYX(const double &xx)
Set the value in the yx-element of the Tensor object.
Definition Tensor.cpp:141
double frobeniusNorm() const
Compute the Frobenius (L2) norm of the tensor.
Definition Tensor.cpp:462
void identity()
Set the Tensor object to identity.
Definition Tensor.cpp:183
Tensor & operator=(const double &scalar)
Definition Tensor.cpp:577
void arrayToTensor(const double *array)
Transform the 1D array (pointer) into Tensor.
Definition Tensor.cpp:340
const double & getYZ() const
Return the value of the yz-element of the Tensor object.
Definition Tensor.h:93
const double & getXY() const
Return the value of the xy-element of the Tensor object.
Definition Tensor.h:85
Tensor operator*(const double &scalar) const
Definition Tensor.cpp:617