MiniTensor Version of the Day
Loading...
Searching...
No Matches
Mechanics

Continuum-mechanics operations: deformation and stress measures, push-forward and pull-back operations. More...

Functions

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::vol (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::dev (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::push_forward_covariant (Tensor< T, N > const &F, Vector< T, N > const &u)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::pull_back_covariant (Tensor< T, N > const &F, Vector< T, N > const &u)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::push_forward_contravariant (Tensor< T, N > const &F, Vector< T, N > const &u)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::pull_back_contravariant (Tensor< T, N > const &F, Vector< T, N > const &u)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::push_forward_covariant (Tensor< T, N > const &F, Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::pull_back_covariant (Tensor< T, N > const &F, Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::push_forward_contravariant (Tensor< T, N > const &F, Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::pull_back_contravariant (Tensor< T, N > const &F, Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::piola (Tensor< T, N > const &F, Vector< T, N > const &u)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::piola_inverse (Tensor< T, N > const &F, Vector< T, N > const &u)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::piola (Tensor< T, N > const &F, Tensor< T, N > const &sigma)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::piola_inverse (Tensor< T, N > const &F, Tensor< T, N > const &P)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTIONminitensor::smallest_eigenvalue (Tensor< T, N > const &A)
 
template<typename T , Index N>
KOKKOS_INLINE_FUNCTION bool minitensor::check_strict_ellipticity (Tensor4< T, N > const &A)
 
template<typename T , Index N>
std::pair< bool, Vector< T, N > > minitensor::check_strong_ellipticity (Tensor4< T, N > const &A)
 

Detailed Description

Continuum-mechanics operations: deformation and stress measures, push-forward and pull-back operations.

Function Documentation

◆ vol()

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::vol ( Tensor< T, N > const &  A)

Volumetric part of 2nd-order tensor

Parameters
Atensor
Returns
\( \frac{1}{3} \mathrm{tr}\:A I \)

Definition at line 216 of file MiniTensor_Mechanics.h.

◆ dev()

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::dev ( Tensor< T, N > const &  A)

Deviatoric part of 2nd-order tensor

Parameters
Atensor
Returns
\( A - vol(A) \)

Definition at line 234 of file MiniTensor_Mechanics.h.

◆ push_forward_covariant() [1/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::push_forward_covariant ( Tensor< T, N > const &  F,
Vector< T, N > const &  u 
)

Push forward covariant vector

Parameters
Fdeformation-gradient-like tensor
uvector
Returns
\( F^{-T} u \)

Definition at line 250 of file MiniTensor_Mechanics.h.

◆ pull_back_covariant() [1/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::pull_back_covariant ( Tensor< T, N > const &  F,
Vector< T, N > const &  u 
)

Pull back covariant vector

Parameters
Fdeformation-gradient-like tensor
uvector
Returns
\( F^T u \)

Definition at line 305 of file MiniTensor_Mechanics.h.

◆ push_forward_contravariant() [1/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::push_forward_contravariant ( Tensor< T, N > const &  F,
Vector< T, N > const &  u 
)

Push forward contravariant vector

Parameters
Fdeformation-gradient-like tensor
uvector
Returns
\( F u \)

Definition at line 345 of file MiniTensor_Mechanics.h.

◆ pull_back_contravariant() [1/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::pull_back_contravariant ( Tensor< T, N > const &  F,
Vector< T, N > const &  u 
)

Pull back contravariant vector

Parameters
Fdeformation-gradient-like tensor
uvector
Returns
\( F^{-1} u \)

Definition at line 385 of file MiniTensor_Mechanics.h.

◆ push_forward_covariant() [2/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::push_forward_covariant ( Tensor< T, N > const &  F,
Tensor< T, N > const &  A 
)

Push forward covariant tensor

Parameters
Fdeformation-gradient-like tensor
Atensor
Returns
\( F^{-T} A F^{-1} \)

Definition at line 440 of file MiniTensor_Mechanics.h.

◆ pull_back_covariant() [2/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::pull_back_covariant ( Tensor< T, N > const &  F,
Tensor< T, N > const &  A 
)

Pull back covariant tensor

Parameters
Fdeformation-gradient-like tensor
Atensor
Returns
\( F^T A F\)

Definition at line 494 of file MiniTensor_Mechanics.h.

◆ push_forward_contravariant() [2/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::push_forward_contravariant ( Tensor< T, N > const &  F,
Tensor< T, N > const &  A 
)

Push forward contravariant tensor

Parameters
Fdeformation-gradient-like tensor
Atensor
Returns
\( F A F^T \)

Definition at line 507 of file MiniTensor_Mechanics.h.

◆ pull_back_contravariant() [2/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::pull_back_contravariant ( Tensor< T, N > const &  F,
Tensor< T, N > const &  A 
)

Pull back contravariant tensor

Parameters
Fdeformation-gradient-like tensor
Atensor
Returns
\( F^{-1} A F^{-T} \)

Definition at line 520 of file MiniTensor_Mechanics.h.

◆ piola() [1/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::piola ( Tensor< T, N > const &  F,
Vector< T, N > const &  u 
)

Piola transformation for vector

Parameters
Fdeformation-gradient-like tensor
uvector
Returns
\( \det F F^{-1} u \)

Definition at line 574 of file MiniTensor_Mechanics.h.

◆ piola_inverse() [1/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Vector< T, N > minitensor::piola_inverse ( Tensor< T, N > const &  F,
Vector< T, N > const &  u 
)

Inverse Piola transformation for vector

Parameters
Fdeformation-gradient-like tensor
uvector
Returns
\( (\det F)^{-1} F u \)

Definition at line 624 of file MiniTensor_Mechanics.h.

◆ piola() [2/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::piola ( Tensor< T, N > const &  F,
Tensor< T, N > const &  sigma 
)

Piola transformation for tensor, applied on second index. Useful for transforming Cauchy stress to 1PK stress.

Parameters
Fdeformation-gradient-like tensor
sigmaCauchy stress tensor
Returns
\( \det F sigma F^{-T} \)

Definition at line 670 of file MiniTensor_Mechanics.h.

◆ piola_inverse() [2/2]

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION Tensor< T, N > minitensor::piola_inverse ( Tensor< T, N > const &  F,
Tensor< T, N > const &  P 
)

Inverse Piola transformation for tensor, applied on second index. Useful for transforming 1PK stress to Cauchy stress.

Parameters
Fdeformation-gradient-like tensor
Pfirst Piola-Kirchhoff stress tensor
Returns
\( (\det F)^{-1} P F^T \)

Definition at line 720 of file MiniTensor_Mechanics.h.

◆ smallest_eigenvalue()

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION T minitensor::smallest_eigenvalue ( Tensor< T, N > const &  A)

Smallest eigenvalue by inverse iteration.

Definition at line 736 of file MiniTensor_Mechanics.h.

◆ check_strict_ellipticity()

template<typename T , Index N>
KOKKOS_INLINE_FUNCTION bool minitensor::check_strict_ellipticity ( Tensor4< T, N > const &  A)

Check strict ellipticity condition for 4th-order tensor. Assume A has major symmetries.

Parameters
A4th-order tensor is transformed into 2nd-order tensor.
Returns
whether the smallest eigenvalue of the 2nd-order tensor is less or equal than zero.

Definition at line 781 of file MiniTensor_Mechanics.h.

◆ check_strong_ellipticity()

template<typename T , Index N>
std::pair< bool, Vector< T, N > > minitensor::check_strong_ellipticity ( Tensor4< T, N > const &  A)

Check strong ellipticity condition for 4th-order tensor. Assume A has major and minor symmetries.

Parameters
A4th-order tensor.
Returns
whether \( (m\odot n):A:(m\odot n) > 0 \forall m,n \neq 0 \).

Definition at line 812 of file MiniTensor_Mechanics.h.