GMatTensor 0.10.6
Loading...
Searching...
No Matches
GMatTensor::Cartesian3d::pointer Namespace Reference

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 >
Trace (const T *A)
 See Cartesian3d::Trace() More...
 
template<class T >
Hydrostatic (const T *A)
 See Cartesian3d::Hydrostatic() More...
 
template<class 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 >
Inv (const T *A, T *ret)
 See Cartesian3d::Inv(), returns Cartesian3d::Det() More...
 
template<class T >
Hydrostatic_deviatoric (const T *A, T *ret)
 Returns Cartesian3d::Hydrostatic() and computes Cartesian3d::Deviatoric() More...
 
template<class T >
Deviatoric_ddot_deviatoric (const T *A)
 Double tensor contraction of the tensor's deviator. More...
 
template<class T >
Norm_deviatoric (const T *A)
 See Cartesian3d::Norm_deviatoric() More...
 
template<class T >
A2_ddot_B2 (const T *A, const T *B)
 See Cartesian3d::A2_ddot_B2() More...
 
template<class 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...
 

Detailed Description

API for individual tensors with pointer-only input.

No arrays of tensors are allowed, hence the input is fixed to:

  • Second order tensors, size = 3 * 3 = 9. Storage convention (xx, xy, xz, yx, yy, yz, zx, zy, zz).
  • Fourth order tensors, size = 3 * 3 * 3 * 3 = 81.

Function Documentation

◆ A2_ddot_B2()

template<class T >
T GMatTensor::Cartesian3d::pointer::A2_ddot_B2 ( const T *  A,
const T *  B 
)
inline

See Cartesian3d::A2_ddot_B2()

Parameters
A2nd order tensor
B2nd order tensor
Returns
scalar

Definition at line 463 of file Cartesian3d.h.

◆ A2_dot_A2T()

template<class T >
void GMatTensor::Cartesian3d::pointer::A2_dot_A2T ( const T *  A,
T *  ret 
)
inline

See Cartesian3d::A2_dot_A2T()

Parameters
A2nd order tensor
retoutput 2nd order tensor

Definition at line 558 of file Cartesian3d.h.

◆ A2_dot_B2()

template<class T >
void GMatTensor::Cartesian3d::pointer::A2_dot_B2 ( const T *  A,
const T *  B,
T *  ret 
)
inline

See Cartesian3d::A2_dot_B2()

Parameters
A2nd order tensor
B2nd order tensor
retoutput 2nd order tensor

Definition at line 538 of file Cartesian3d.h.

◆ A2_dot_B2_dot_C2T()

template<class T >
void GMatTensor::Cartesian3d::pointer::A2_dot_B2_dot_C2T ( const T *  A,
const T *  B,
const T *  C,
T *  ret 
)
inline

Product.

\( A \cdot B \cdot C^T \)

or in index notation

\( D_{il} = A_{ij} B_{jk} C_{lk} \)

Parameters
A2nd order tensor
B2nd order tensor
C2nd order tensor
retoutput 2nd order tensor

Definition at line 650 of file Cartesian3d.h.

◆ A2_dyadic_B2()

template<class T >
void GMatTensor::Cartesian3d::pointer::A2_dyadic_B2 ( const T *  A,
const T *  B,
T *  ret 
)
inline

See Cartesian3d::A2_dyadic_B2()

Parameters
A2nd order tensor
B2nd order tensor
retoutput 4th order tensor

Definition at line 491 of file Cartesian3d.h.

◆ A2s_ddot_B2s()

template<class T >
T GMatTensor::Cartesian3d::pointer::A2s_ddot_B2s ( const T *  A,
const T *  B 
)
inline

See Cartesian3d::A2s_ddot_B2s()

Parameters
A2nd order tensor
B2nd order tensor
Returns
scalar

Definition at line 477 of file Cartesian3d.h.

◆ A4_ddot_B2()

template<class T >
void GMatTensor::Cartesian3d::pointer::A4_ddot_B2 ( const T *  A,
const T *  B,
T *  ret 
)
inline

See Cartesian3d::A4_ddot_B2()

Parameters
A4th order tensor
B2nd order tensor
retoutput 2nd order tensor

Definition at line 579 of file Cartesian3d.h.

◆ A4_ddot_B4_ddot_C4()

template<class T >
void GMatTensor::Cartesian3d::pointer::A4_ddot_B4_ddot_C4 ( const T *  A,
const T *  B,
const T *  C,
T *  ret 
)
inline

Product.

\( A : B : C \)

or in index notation

\( D_{ijop} = A_{ijkl} B_{lkmn} C_{nmop} \)

Parameters
A4th order tensor
B4th order tensor
C4th order tensor
retoutput 4th order tensor

Definition at line 609 of file Cartesian3d.h.

◆ A4_dot_B2()

template<class T >
void GMatTensor::Cartesian3d::pointer::A4_dot_B2 ( const T *  A,
const T *  B,
T *  ret 
)
inline

See Cartesian3d::A4_dot_B2()

Parameters
A4th order tensor
B2nd order tensor
retoutput 4th order tensor

Definition at line 512 of file Cartesian3d.h.

◆ Det()

template<class T >
T GMatTensor::Cartesian3d::pointer::Det ( const T *  A)
inline

See Cartesian3d::Det()

Parameters
A2nd order tensor
Returns
scalar

Definition at line 355 of file Cartesian3d.h.

◆ Deviatoric_ddot_deviatoric()

template<class T >
T GMatTensor::Cartesian3d::pointer::Deviatoric_ddot_deviatoric ( const T *  A)
inline

Double tensor contraction of the tensor's deviator.

\( (dev(A))_{ij} (dev(A))_{ji} \)

Parameters
A2nd order tensor
Returns
scalar

Definition at line 436 of file Cartesian3d.h.

◆ eigs()

template<class T >
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.

Parameters
A2nd order tensor
veceigenvectors (storage as 2nd order tensor), \( v^a_i \) = vec[i, a]
valeigenvalues (storage as vector), \( \lambda^a \) = val[a]

Definition at line 678 of file Cartesian3d.h.

◆ from_eigs()

template<class T >
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.

Parameters
veceigenvectors (storage as 2nd order tensor), \( v^a_i \) = vec[i, a]
valeigenvalues (storage as vector), \( \lambda^a \) = val[a]
ret2nd order tensor

Definition at line 705 of file Cartesian3d.h.

◆ Hydrostatic()

template<class T >
T GMatTensor::Cartesian3d::pointer::Hydrostatic ( const T *  A)
inline

See Cartesian3d::Hydrostatic()

Parameters
A2nd order tensor
Returns
scalar

Definition at line 343 of file Cartesian3d.h.

◆ Hydrostatic_deviatoric()

template<class T >
T GMatTensor::Cartesian3d::pointer::Hydrostatic_deviatoric ( const T *  A,
T *  ret 
)
inline

Returns Cartesian3d::Hydrostatic() and computes Cartesian3d::Deviatoric()

Parameters
A2nd order tensor
ret2nd order tensor, may be the same pointer as A
Returns
scalar

Definition at line 412 of file Cartesian3d.h.

◆ I2()

template<class T >
void GMatTensor::Cartesian3d::pointer::I2 ( T *  ret)
inline

See Cartesian3d::I2()

Parameters
retoutput 2nd order tensor

Definition at line 205 of file Cartesian3d.h.

◆ I4()

template<class T >
void GMatTensor::Cartesian3d::pointer::I4 ( T *  ret)
inline

See Cartesian3d::I4()

Parameters
retoutput 2nd order tensor

Definition at line 247 of file Cartesian3d.h.

◆ I4d()

template<class T >
void GMatTensor::Cartesian3d::pointer::I4d ( T *  ret)
inline

See Cartesian3d::I4d()

Parameters
retoutput 2nd order tensor

Definition at line 311 of file Cartesian3d.h.

◆ I4rt()

template<class T >
void GMatTensor::Cartesian3d::pointer::I4rt ( T *  ret)
inline

See Cartesian3d::I4rt()

Parameters
retoutput 2nd order tensor

Definition at line 270 of file Cartesian3d.h.

◆ I4s()

template<class T >
void GMatTensor::Cartesian3d::pointer::I4s ( T *  ret)
inline

See Cartesian3d::I4s()

Parameters
retoutput 2nd order tensor

Definition at line 293 of file Cartesian3d.h.

◆ II()

template<class T >
void GMatTensor::Cartesian3d::pointer::II ( T *  ret)
inline

See Cartesian3d::II()

Parameters
retoutput 2nd order tensor

Definition at line 224 of file Cartesian3d.h.

◆ Inv()

template<class T >
T GMatTensor::Cartesian3d::pointer::Inv ( const T *  A,
T *  ret 
)
inline

See Cartesian3d::Inv(), returns Cartesian3d::Det()

Parameters
A2nd order tensor
ret2nd order tensor
Returns
scalar

Definition at line 389 of file Cartesian3d.h.

◆ logs()

template<class T >
void GMatTensor::Cartesian3d::pointer::logs ( const T *  A,
T *  ret 
)

See Cartesian3d::Logs()

Parameters
A2nd order tensor
retoutput 2nd order tensor

Definition at line 725 of file Cartesian3d.h.

◆ Norm_deviatoric()

template<class T >
T GMatTensor::Cartesian3d::pointer::Norm_deviatoric ( const T *  A)
inline

See Cartesian3d::Norm_deviatoric()

Parameters
A2nd order tensor
Returns
scalar

Definition at line 450 of file Cartesian3d.h.

◆ O2()

template<class T >
void GMatTensor::Cartesian3d::pointer::O2 ( T *  ret)
inline

See Cartesian3d::O2()

Parameters
retoutput 2nd order tensor

Definition at line 183 of file Cartesian3d.h.

◆ O4()

template<class T >
void GMatTensor::Cartesian3d::pointer::O4 ( T *  ret)
inline

See Cartesian3d::O4()

Parameters
retoutput 2nd order tensor

Definition at line 194 of file Cartesian3d.h.

◆ sym()

template<class T >
void GMatTensor::Cartesian3d::pointer::sym ( const T *  A,
T *  ret 
)
inline

See Cartesian3d::Sym()

Parameters
A2nd order tensor
ret2nd order tensor, may be the same pointer as A

Definition at line 368 of file Cartesian3d.h.

◆ Trace()

template<class T >
T GMatTensor::Cartesian3d::pointer::Trace ( const T *  A)
inline

See Cartesian3d::Trace()

Parameters
A2nd order tensor
Returns
scalar

Definition at line 331 of file Cartesian3d.h.