calculate platic strain by subtracting elastic strain from total strain
This commit is contained in:
parent
d51fa10ae5
commit
afda166fd8
|
@ -1047,6 +1047,7 @@ end subroutine utilities_constitutiveResponse
|
||||||
subroutine utilities_calcPlasticity(yieldStress, plasticStrain, eqStress, eqTotalStrain, eqPlasticStrain, plasticWork)
|
subroutine utilities_calcPlasticity(yieldStress, plasticStrain, eqStress, eqTotalStrain, eqPlasticStrain, plasticWork)
|
||||||
use crystallite, only: &
|
use crystallite, only: &
|
||||||
crystallite_Fp, &
|
crystallite_Fp, &
|
||||||
|
crystallite_Fe, &
|
||||||
crystallite_P, &
|
crystallite_P, &
|
||||||
crystallite_subF
|
crystallite_subF
|
||||||
use material, only: &
|
use material, only: &
|
||||||
|
@ -1075,7 +1076,7 @@ subroutine utilities_calcPlasticity(yieldStress, plasticStrain, eqStress, eqTota
|
||||||
real(pReal), dimension(3) :: Values, S
|
real(pReal), dimension(3) :: Values, S
|
||||||
real(pReal), dimension(3,3) :: Vectors, diag
|
real(pReal), dimension(3,3) :: Vectors, diag
|
||||||
real(pReal), dimension(3,3,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems) :: &
|
real(pReal), dimension(3,3,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems) :: &
|
||||||
Bp, Vp, F, F_temp, Fp, U, VT, R, V, V_total
|
Be, Ve, Vp, F, F_temp, Fe, Fp, U, VT, R, V, V_total
|
||||||
real(pReal), dimension(15) :: WORK !< previous deformation gradient
|
real(pReal), dimension(15) :: WORK !< previous deformation gradient
|
||||||
integer(pInt) :: INFO, i, j, k, l, ierr
|
integer(pInt) :: INFO, i, j, k, l, ierr
|
||||||
real(pReal) :: stress, stress_av, strain_total, strain_total_av, strain_plastic, strain_plastic_av, wgtm
|
real(pReal) :: stress, stress_av, strain_total, strain_total_av, strain_plastic, strain_plastic_av, wgtm
|
||||||
|
@ -1092,6 +1093,7 @@ subroutine utilities_calcPlasticity(yieldStress, plasticStrain, eqStress, eqTota
|
||||||
do k = 1_pInt, mesh_NcpElems; do j = 1_pInt, mesh_maxNips; do i = 1_pInt,homogenization_maxNgrains
|
do k = 1_pInt, mesh_NcpElems; do j = 1_pInt, mesh_maxNips; do i = 1_pInt,homogenization_maxNgrains
|
||||||
F(1:3,1:3,i,j,k) = crystallite_subF(1:3,1:3,i,j,k)
|
F(1:3,1:3,i,j,k) = crystallite_subF(1:3,1:3,i,j,k)
|
||||||
Fp(1:3,1:3,i,j,k) = crystallite_Fp(1:3,1:3,i,j,k)
|
Fp(1:3,1:3,i,j,k) = crystallite_Fp(1:3,1:3,i,j,k)
|
||||||
|
Fe(1:3,1:3,i,j,k) = crystallite_Fe(1:3,1:3,i,j,k)
|
||||||
|
|
||||||
P = crystallite_P(1:3,1:3,i,j,k)
|
P = crystallite_P(1:3,1:3,i,j,k)
|
||||||
cauchy = 1.0/math_det33(F(1:3,1:3,i,j,k))*math_mul33x33(P,transpose(F(1:3,1:3,i,j,k)))
|
cauchy = 1.0/math_det33(F(1:3,1:3,i,j,k))*math_mul33x33(P,transpose(F(1:3,1:3,i,j,k)))
|
||||||
|
@ -1099,12 +1101,6 @@ subroutine utilities_calcPlasticity(yieldStress, plasticStrain, eqStress, eqTota
|
||||||
stress = Mises(cauchy, 'stress')
|
stress = Mises(cauchy, 'stress')
|
||||||
stress_av = stress_av + stress
|
stress_av = stress_av + stress
|
||||||
|
|
||||||
Bp(1:3,1:3,i,j,k) = math_mul33x33(Fp(1:3,1:3,i,j,k),math_transpose33(Fp(1:3,1:3,i,j,k))) ! plastic part of left Cauchy–Green deformation tensor
|
|
||||||
Vp(1:3,1:3,i,j,k) = math_eigenvectorBasisSym33_log(Bp(1:3,1:3,i,j,k))
|
|
||||||
strain_plastic = Mises(Vp(1:3,1:3,i,j,k), 'strain')
|
|
||||||
strain_plastic_av = strain_plastic_av + strain_plastic
|
|
||||||
Vp_av = Vp_av + Vp(1:3,1:3,i,j,k)
|
|
||||||
|
|
||||||
F_temp(1:3,1:3,i,j,k) = F(1:3,1:3,i,j,k)
|
F_temp(1:3,1:3,i,j,k) = F(1:3,1:3,i,j,k)
|
||||||
call dgesvd ('A', 'A', 3, 3, F_temp(1:3,1:3,i,j,k), 3, &
|
call dgesvd ('A', 'A', 3, 3, F_temp(1:3,1:3,i,j,k), 3, &
|
||||||
S, U(1:3,1:3,i,j,k), 3, VT(1:3,1:3,i,j,k), 3, WORK, 15, INFO) ! singular value decomposition
|
S, U(1:3,1:3,i,j,k), 3, VT(1:3,1:3,i,j,k), 3, WORK, 15, INFO) ! singular value decomposition
|
||||||
|
@ -1137,6 +1133,14 @@ subroutine utilities_calcPlasticity(yieldStress, plasticStrain, eqStress, eqTota
|
||||||
strain_total = Mises(V_total(1:3,1:3,i,j,k), 'strain')
|
strain_total = Mises(V_total(1:3,1:3,i,j,k), 'strain')
|
||||||
strain_total_av = strain_total_av + strain_total
|
strain_total_av = strain_total_av + strain_total
|
||||||
|
|
||||||
|
Be(1:3,1:3,i,j,k) = math_mul33x33(Fe(1:3,1:3,i,j,k),math_transpose33(Fe(1:3,1:3,i,j,k))) ! plastic part of left Cauchy–Green deformation tensor
|
||||||
|
Ve(1:3,1:3,i,j,k) = math_eigenvectorBasisSym33_log(Be(1:3,1:3,i,j,k))
|
||||||
|
Vp(1:3,1:3,i,j,k) = V_total(1:3,1:3,i,j,k) - Ve(1:3,1:3,i,j,k)
|
||||||
|
strain_plastic = Mises(Vp(1:3,1:3,i,j,k), 'strain')
|
||||||
|
strain_plastic_av = strain_plastic_av + strain_plastic
|
||||||
|
Vp_av = Vp_av + Vp(1:3,1:3,i,j,k)
|
||||||
|
|
||||||
|
flush(6)
|
||||||
enddo; enddo; enddo
|
enddo; enddo; enddo
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue