15 #include "CeeCore/Base.h"
16 #include "CeeCore/Vec3d.h"
31 SymmetricTensor(
double xx,
double yy,
double zz,
double xy,
double yz,
double zx);
35 bool operator==(
const SymmetricTensor& rhs)
const;
36 bool operator!=(
const SymmetricTensor& rhs)
const;
38 const SymmetricTensor
operator+(
const SymmetricTensor& rhs)
const;
39 const SymmetricTensor operator-(
const SymmetricTensor& rhs)
const;
41 SymmetricTensor& operator+=(
const SymmetricTensor& rhs);
42 SymmetricTensor& operator-=(
const SymmetricTensor& rhs);
46 const SymmetricTensor operator*(
double scalar)
const;
47 const SymmetricTensor operator/(
double scalar)
const;
48 SymmetricTensor& operator*=(
double scalar);
49 SymmetricTensor& operator/=(
double scalar);
51 friend SymmetricTensor operator*(
double scalar,
const SymmetricTensor& t) {
return t*scalar; }
53 const double& xx()
const;
54 const double& yy()
const;
55 const double& zz()
const;
56 const double& xy()
const;
57 const double& yz()
const;
58 const double& zx()
const;
67 void set(
double xx,
double yy,
double zz,
double xy,
double yz,
double zx);
69 const double* rawPointer()
const;
72 SymmetricTensor deviator()
const;
73 static SymmetricTensor identity();
75 double vonMises()
const;
76 double firstPrincipalValue()
const;
77 double secondPrincipalValue()
const;
78 double thirdPrincipalValue()
const;
80 Vec3d firstPrincipalVector()
const;
81 Vec3d secondPrincipalVector()
const;
82 Vec3d thirdPrincipalVector()
const;
85 SymmetricTensor(
double* values);
88 CEE_PRIVATE_IMPL(SymmetricTensor);
101 void setSharedData(
double* data);
cee::Str operator+(const char *str1, const cee::Str &str2)
Global operator to allow a const char + a cee::Str.
Definition: Str.cpp:817
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppAssert.cpp:18
A symmetric 3x3 tensor represented by 6 values: xx, yy, zz, xy, yz, zx.
Definition: SymmetricTensor.h:97
bool operator!=(const PtrRef< T1 > &a, const PtrRef< T2 > &b)
Returns true if the internal pointers of refs a and b are different.
Definition: PtrRef.h:58
bool operator==(const PtrRef< T1 > &a, const PtrRef< T2 > &b)
Returns true if the internal pointers of refs a and b are equal.
Definition: PtrRef.h:57
A symmetric 3x3 tensor represented by 6 values: xx, yy, zz, xy, yz, zx.
Definition: SymmetricTensor.h:26
Vector class for a 3D double vector.
Definition: Vec3d.h:26