Piola Transformation
Perform a Piola transformation. It is assumed that the tensor’s components are all either co- or contravariant as this toolbox has no information about co- and contravariant tensor components. All indices are transformed with the same mixed-variant argument tensor. This means it is not possible to perform a push forward of a mixed variant fourth order tensor. To perform a push forward of the contra-variant indices of the tangent matrix from material components in the reference configuration to spatial components in the current configuration write piola(F,C4)
. When using symmetric variants of tensor data types (Voigt-notation) a faster contraction with less calculations due to symmetric properties is performed.
piola(F,S)
whereS
is a stress tensor is equal toF*S*transpose(F)
piola(F,C4)
whereC4
is a fourth order elasticity tensor meansc4(i,j,k,l) = F(i,I) F(j,J) F(k,K) F(l,L) C4(I,J,K,L)
Property | Value |
---|---|
Result | Tensor-valued function |
Data Types | Tensor2 , Tensor2s , Tensor4 , Tensor4s |
Example
real(kind=8) :: J
type(Tensor2) :: F, S
! type(Tensor2s) :: S
type(Tensor4) :: C4
! type(Tensor4s) :: C4
J = det(F)
! push forward of (contra-variant) PK2 stress tensor
tau = 1./J * piola(F,S)
! is equal to
Sigma = 1./J * F*S*transpose(F)
! push forward of (contra-variant) fourth order material elasticity tensor
c4 = 1./J * piola(F,C4)