cee::SymmetricTensor
-
class SymmetricTensor
A symmetric 3x3 tensor represented by 6 values: xx, yy, zz, xy, yz, zx.
Subclassed by SharedMemorySymmetricTensor
Public Functions
-
SymmetricTensor()
Constructs a null tensor.
-
SymmetricTensor(const SymmetricTensor &other)
Constructs a tensor as a copy of other.
-
SymmetricTensor(double xx, double yy, double zz, double xy, double yz, double zx)
Constructs a tensor from the 6 values (xx, yy, zz, xy, yz, zx)
-
SymmetricTensor &operator=(const SymmetricTensor &SymmetricTensor)
Assigns other to this tensor and returns a reference to this tensor.
-
bool operator==(const SymmetricTensor &rhs) const
Returns true if two tensors are equal, otherwise returns false.
An exact match is required xx() == rhs.xx(), etc.
-
bool operator!=(const SymmetricTensor &rhs) const
Returns true if two tensors are not equal, otherwise returns false.
Exact comparison is used (!= between doubles)
-
const SymmetricTensor operator+(const SymmetricTensor &rhs) const
Returns a tensor that is this tensor added with rhs.
-
const SymmetricTensor operator-(const SymmetricTensor &rhs) const
Returns a tensor that is this tensor subtracted with rhs.
-
SymmetricTensor &operator+=(const SymmetricTensor &rhs)
Adds the given rhs tensor to this.
-
SymmetricTensor &operator-=(const SymmetricTensor &rhs)
Subtracts the given rhs tensor from this.
-
const Vec3d operator*(const Vec3d &v) const
Returns a vector that is this tensor multiplied by vector.
-
const SymmetricTensor operator*(double scalar) const
Returns a tensor that is this tensor multiplied by scalar.
-
const SymmetricTensor operator/(double scalar) const
Returns a tensor that is this vector divided by scalar.
-
SymmetricTensor &operator*=(double scalar)
Multiplies every component of this tensor by the given scalar.
-
SymmetricTensor &operator/=(double scalar)
Divides every component of this tensor by the given scalar.
-
const double &xx() const
XX element of the tensor.
-
const double &yy() const
YY element of the tensor.
-
const double &zz() const
ZZ element of the tensor.
-
const double &xy() const
XY element of the tensor.
-
const double &yz() const
YZ element of the tensor.
-
const double &zx() const
ZX element of the tensor.
-
double &xx()
XX element of the tensor.
-
double &yy()
YY element of the tensor.
-
double &zz()
ZZ element of the tensor.
-
double &xy()
XY element of the tensor.
-
double &yz()
YZ element of the tensor.
-
double &zx()
ZX element of the tensor.
-
void set(double xx, double yy, double zz, double xy, double yz, double zx)
Sets xx, yy, zz, xy, yz, zx values.
-
const double *rawPointer() const
Returns a pointer to the raw array storing the 6 components.
-
double trace() const
Returns trace.
-
SymmetricTensor deviator() const
Returns the deviator.
-
double vonMises() const
Returns vonMises value.
-
double firstPrincipalValue() const
Returns first principal value.
-
double secondPrincipalValue() const
Returns second principal value.
-
double thirdPrincipalValue() const
Returns third principal value.
Public Static Functions
-
static SymmetricTensor identity()
Returns identity tensor.
Protected Functions
-
SymmetricTensor(double *values)
Constructs a null tensor which will not own its data. Use SharedMemorySymmetricTensor to achieve this.
Friends
-
inline friend SymmetricTensor operator*(double scalar, const SymmetricTensor &t)
-
SymmetricTensor()