GMatTensor 0.10.6
|
API for individual tensors with pointer-only input. More...
Functions | |
template<class T > | |
void | O2 (T *ret) |
See Cartesian3d::O2() More... | |
template<class T > | |
void | O4 (T *ret) |
See Cartesian3d::O4() More... | |
template<class T > | |
void | I2 (T *ret) |
See Cartesian3d::I2() More... | |
template<class T > | |
void | II (T *ret) |
See Cartesian3d::II() More... | |
template<class T > | |
void | I4 (T *ret) |
See Cartesian3d::I4() More... | |
template<class T > | |
void | I4rt (T *ret) |
See Cartesian3d::I4rt() More... | |
template<class T > | |
void | I4s (T *ret) |
See Cartesian3d::I4s() More... | |
template<class T > | |
void | I4d (T *ret) |
See Cartesian3d::I4d() More... | |
template<class T > | |
T | Trace (const T *A) |
See Cartesian3d::Trace() More... | |
template<class T > | |
T | Hydrostatic (const T *A) |
See Cartesian3d::Hydrostatic() More... | |
template<class T > | |
T | Det (const T *A) |
See Cartesian3d::Det() More... | |
template<class T > | |
void | sym (const T *A, T *ret) |
See Cartesian3d::Sym() More... | |
template<class T > | |
T | Inv (const T *A, T *ret) |
See Cartesian3d::Inv(), returns Cartesian3d::Det() More... | |
template<class T > | |
T | Hydrostatic_deviatoric (const T *A, T *ret) |
Returns Cartesian3d::Hydrostatic() and computes Cartesian3d::Deviatoric() More... | |
template<class T > | |
T | Deviatoric_ddot_deviatoric (const T *A) |
Double tensor contraction of the tensor's deviator. More... | |
template<class T > | |
T | Norm_deviatoric (const T *A) |
See Cartesian3d::Norm_deviatoric() More... | |
template<class T > | |
T | A2_ddot_B2 (const T *A, const T *B) |
See Cartesian3d::A2_ddot_B2() More... | |
template<class T > | |
T | A2s_ddot_B2s (const T *A, const T *B) |
See Cartesian3d::A2s_ddot_B2s() More... | |
template<class T > | |
void | A2_dyadic_B2 (const T *A, const T *B, T *ret) |
See Cartesian3d::A2_dyadic_B2() More... | |
template<class T > | |
void | A4_dot_B2 (const T *A, const T *B, T *ret) |
See Cartesian3d::A4_dot_B2() More... | |
template<class T > | |
void | A2_dot_B2 (const T *A, const T *B, T *ret) |
See Cartesian3d::A2_dot_B2() More... | |
template<class T > | |
void | A2_dot_A2T (const T *A, T *ret) |
See Cartesian3d::A2_dot_A2T() More... | |
template<class T > | |
void | A4_ddot_B2 (const T *A, const T *B, T *ret) |
See Cartesian3d::A4_ddot_B2() More... | |
template<class T > | |
void | A4_ddot_B4_ddot_C4 (const T *A, const T *B, const T *C, T *ret) |
Product. More... | |
template<class T > | |
void | A2_dot_B2_dot_C2T (const T *A, const T *B, const T *C, T *ret) |
Product. More... | |
template<class T > | |
void | eigs (const T *A, T *vec, T *val) |
Get eigenvalues/-vectors such that. More... | |
template<class T > | |
void | from_eigs (const T *vec, const T *val, T *ret) |
Reconstruct tensor from eigenvalues/-vectors (reverse operation of eigs()) Symmetric tensors only, no assertion. More... | |
template<class T > | |
void | logs (const T *A, T *ret) |
See Cartesian3d::Logs() More... | |
API for individual tensors with pointer-only input.
No arrays of tensors are allowed, hence the input is fixed to:
size = 3 * 3 = 9
. Storage convention (xx, xy, xz, yx, yy, yz, zx, zy, zz)
.size = 3 * 3 * 3 * 3 = 81
.
|
inline |
A | 2nd order tensor |
B | 2nd order tensor |
Definition at line 463 of file Cartesian3d.h.
|
inline |
A | 2nd order tensor |
ret | output 2nd order tensor |
Definition at line 558 of file Cartesian3d.h.
|
inline |
A | 2nd order tensor |
B | 2nd order tensor |
ret | output 2nd order tensor |
Definition at line 538 of file Cartesian3d.h.
|
inline |
Product.
\( A \cdot B \cdot C^T \)
or in index notation
\( D_{il} = A_{ij} B_{jk} C_{lk} \)
A | 2nd order tensor |
B | 2nd order tensor |
C | 2nd order tensor |
ret | output 2nd order tensor |
Definition at line 650 of file Cartesian3d.h.
|
inline |
See Cartesian3d::A2_dyadic_B2()
A | 2nd order tensor |
B | 2nd order tensor |
ret | output 4th order tensor |
Definition at line 491 of file Cartesian3d.h.
|
inline |
See Cartesian3d::A2s_ddot_B2s()
A | 2nd order tensor |
B | 2nd order tensor |
Definition at line 477 of file Cartesian3d.h.
|
inline |
A | 4th order tensor |
B | 2nd order tensor |
ret | output 2nd order tensor |
Definition at line 579 of file Cartesian3d.h.
|
inline |
Product.
\( A : B : C \)
or in index notation
\( D_{ijop} = A_{ijkl} B_{lkmn} C_{nmop} \)
A | 4th order tensor |
B | 4th order tensor |
C | 4th order tensor |
ret | output 4th order tensor |
Definition at line 609 of file Cartesian3d.h.
|
inline |
A | 4th order tensor |
B | 2nd order tensor |
ret | output 4th order tensor |
Definition at line 512 of file Cartesian3d.h.
|
inline |
|
inline |
Double tensor contraction of the tensor's deviator.
\( (dev(A))_{ij} (dev(A))_{ji} \)
A | 2nd order tensor |
Definition at line 436 of file Cartesian3d.h.
void GMatTensor::Cartesian3d::pointer::eigs | ( | const T * | A, |
T * | vec, | ||
T * | val | ||
) |
Get eigenvalues/-vectors such that.
\( A_{ij} = \lambda^a v^a_i v^a_j \)
Symmetric tensors only, no assertion.
A | 2nd order tensor |
vec | eigenvectors (storage as 2nd order tensor), \( v^a_i \) = vec[i, a] |
val | eigenvalues (storage as vector), \( \lambda^a \) = val[a] |
Definition at line 678 of file Cartesian3d.h.
void GMatTensor::Cartesian3d::pointer::from_eigs | ( | const T * | vec, |
const T * | val, | ||
T * | ret | ||
) |
Reconstruct tensor from eigenvalues/-vectors (reverse operation of eigs()) Symmetric tensors only, no assertion.
vec | eigenvectors (storage as 2nd order tensor), \( v^a_i \) = vec[i, a] |
val | eigenvalues (storage as vector), \( \lambda^a \) = val[a] |
ret | 2nd order tensor |
Definition at line 705 of file Cartesian3d.h.
|
inline |
See Cartesian3d::Hydrostatic()
A | 2nd order tensor |
Definition at line 343 of file Cartesian3d.h.
|
inline |
Returns Cartesian3d::Hydrostatic() and computes Cartesian3d::Deviatoric()
A | 2nd order tensor |
ret | 2nd order tensor, may be the same pointer as A |
Definition at line 412 of file Cartesian3d.h.
|
inline |
ret | output 2nd order tensor |
Definition at line 205 of file Cartesian3d.h.
|
inline |
ret | output 2nd order tensor |
Definition at line 247 of file Cartesian3d.h.
|
inline |
ret | output 2nd order tensor |
Definition at line 311 of file Cartesian3d.h.
|
inline |
ret | output 2nd order tensor |
Definition at line 270 of file Cartesian3d.h.
|
inline |
ret | output 2nd order tensor |
Definition at line 293 of file Cartesian3d.h.
|
inline |
ret | output 2nd order tensor |
Definition at line 224 of file Cartesian3d.h.
|
inline |
See Cartesian3d::Inv(), returns Cartesian3d::Det()
A | 2nd order tensor |
ret | 2nd order tensor |
Definition at line 389 of file Cartesian3d.h.
void GMatTensor::Cartesian3d::pointer::logs | ( | const T * | A, |
T * | ret | ||
) |
A | 2nd order tensor |
ret | output 2nd order tensor |
Definition at line 725 of file Cartesian3d.h.
|
inline |
See Cartesian3d::Norm_deviatoric()
A | 2nd order tensor |
Definition at line 450 of file Cartesian3d.h.
|
inline |
ret | output 2nd order tensor |
Definition at line 183 of file Cartesian3d.h.
|
inline |
ret | output 2nd order tensor |
Definition at line 194 of file Cartesian3d.h.
|
inline |
A | 2nd order tensor |
ret | 2nd order tensor, may be the same pointer as A |
Definition at line 368 of file Cartesian3d.h.
|
inline |