reverting the changes related to undamaged_Fi during rev. 3850/3851.

This commit is contained in:
Luv Sharma 2015-01-16 00:09:22 +00:00
parent 85465333ec
commit 701f35c326
2 changed files with 4 additions and 48 deletions

View File

@ -29,7 +29,6 @@ module constitutive
constitutive_LpAndItsTangent, & constitutive_LpAndItsTangent, &
constitutive_LiAndItsTangent, & constitutive_LiAndItsTangent, &
constitutive_getFi, & constitutive_getFi, &
constitutive_getUndamagedFi, &
constitutive_putFi, & constitutive_putFi, &
constitutive_getFi0, & constitutive_getFi0, &
constitutive_getPartionedFi0, & constitutive_getPartionedFi0, &
@ -885,42 +884,6 @@ pure function constitutive_getFi(ipc, ip, el)
end function constitutive_getFi end function constitutive_getFi
!--------------------------------------------------------------------------------------------------
!> @brief contains the constitutive equation for calculating the undamaged
!> intermediate deformation gradient
!--------------------------------------------------------------------------------------------------
pure function constitutive_getUndamagedFi(ipc, ip, el)
use prec, only: &
pReal
use math, only: &
math_I3, &
math_mul33x33
use material, only: &
phase_thermal, &
material_phase, &
LOCAL_THERMAL_adiabatic_ID
use thermal_adiabatic, only: &
thermal_adiabatic_getFT
implicit none
integer(pInt), intent(in) :: &
ipc, & !< grain number
ip, & !< integration point number
el !< element number
real(pReal), dimension(3,3) :: &
constitutive_getUndamagedFi !< intermediate deformation gradient
constitutive_getUndamagedFi = math_I3
select case (phase_thermal(material_phase(ipc,ip,el)))
case (LOCAL_THERMAL_adiabatic_ID)
constitutive_getUndamagedFi = math_mul33x33(constitutive_getUndamagedFi,thermal_adiabatic_getFT (ipc, ip, el))
end select
end function constitutive_getUndamagedFi
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
!> @brief contains the constitutive equation for calculating the intermediate deformation gradient !> @brief contains the constitutive equation for calculating the intermediate deformation gradient
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------

View File

@ -3519,7 +3519,6 @@ logical function crystallite_integrateStress(&
use constitutive, only: constitutive_LpAndItsTangent, & use constitutive, only: constitutive_LpAndItsTangent, &
constitutive_LiAndItsTangent, & constitutive_LiAndItsTangent, &
constitutive_getFi0, & constitutive_getFi0, &
constitutive_getUndamagedFi, &
constitutive_putFi, & constitutive_putFi, &
constitutive_TandItsTangent constitutive_TandItsTangent
use math, only: math_mul33x33, & use math, only: math_mul33x33, &
@ -3555,7 +3554,6 @@ logical function crystallite_integrateStress(&
Fi_current, & ! intermediate deformation gradient at start of timestep Fi_current, & ! intermediate deformation gradient at start of timestep
Fp_new, & ! plastic deformation gradient at end of timestep Fp_new, & ! plastic deformation gradient at end of timestep
Fe_new, & ! elastic deformation gradient at end of timestep Fe_new, & ! elastic deformation gradient at end of timestep
Fe_undamaged, &
invFp_new, & ! inverse of Fp_new invFp_new, & ! inverse of Fp_new
invFp_current, & ! inverse of Fp_current invFp_current, & ! inverse of Fp_current
invFi_current, & ! inverse of Fp_current invFi_current, & ! inverse of Fp_current
@ -3573,13 +3571,11 @@ logical function crystallite_integrateStress(&
deltaLi, & ! direction of next guess deltaLi, & ! direction of next guess
Tstar, & ! 2nd Piola-Kirchhoff Stress in plastic (lattice) configuration Tstar, & ! 2nd Piola-Kirchhoff Stress in plastic (lattice) configuration
Tstar_unloaded, & ! 2nd Piola-Kirchhoff Stress in unloaded configuration Tstar_unloaded, & ! 2nd Piola-Kirchhoff Stress in unloaded configuration
Tstar_undamaged, &
A, & A, &
B, & B, &
Fe, & ! elastic deformation gradient Fe, & ! elastic deformation gradient
Fi, & ! gradient of intermediate deformation stages Fi, & ! gradient of intermediate deformation stages
invFi, & invFi, &
invFiundamaged, &
temp_33 temp_33
real(pReal), dimension(6):: Tstar_v ! 2nd Piola-Kirchhoff Stress in Mandel-Notation real(pReal), dimension(6):: Tstar_v ! 2nd Piola-Kirchhoff Stress in Mandel-Notation
real(pReal), dimension(9):: work ! needed for matrix inversion by LAPACK real(pReal), dimension(9):: work ! needed for matrix inversion by LAPACK
@ -3594,7 +3590,6 @@ logical function crystallite_integrateStress(&
dRLi_dLi ! partial derivative of residuumI (Jacobian for NEwton-Raphson scheme) dRLi_dLi ! partial derivative of residuumI (Jacobian for NEwton-Raphson scheme)
real(pReal), dimension(3,3,3,3):: dT_dFe3333, & ! partial derivative of 2nd Piola-Kirchhoff stress real(pReal), dimension(3,3,3,3):: dT_dFe3333, & ! partial derivative of 2nd Piola-Kirchhoff stress
dT_dFe3333_unloaded, & dT_dFe3333_unloaded, &
dT_dFe3333_undamaged, &
dFe_dLp3333, & ! partial derivative of elastic deformation gradient dFe_dLp3333, & ! partial derivative of elastic deformation gradient
dFe_dLi3333 dFe_dLi3333
real(pReal) det, & ! determinant real(pReal) det, & ! determinant
@ -3738,14 +3733,12 @@ logical function crystallite_integrateStress(&
B = math_I3 - dt*Lpguess B = math_I3 - dt*Lpguess
Fe = math_mul33x33(math_mul33x33(A,B),invFi) ! current elastic deformation tensor Fe = math_mul33x33(math_mul33x33(A,B),invFi) ! current elastic deformation tensor
invFiundamaged = math_inv33(constitutive_getUndamagedFi(g, i, e)) call constitutive_TandItsTangent(Tstar_unloaded, dT_dFe3333_unloaded, Fe, g,i,e) ! call constitutive law to calculate 2nd Piola-Kirchhoff stress and its derivative in unloaded configuration
Fe_undamaged = math_mul33x33(math_mul33x33(A,B),invFiundamaged)
call constitutive_TandItsTangent(Tstar_undamaged, dT_dFe3333_undamaged, Fe_undamaged, g,i,e) ! call constitutive law to calculate 2nd Piola-Kirchhoff stress and its derivative in unloaded configuration
Tstar = math_mul33x33(invFi, & Tstar = math_mul33x33(invFi, &
math_mul33x33(Tstar_undamaged,math_transpose33(invFi)))/detInvFi ! push Tstar forward from unloaded to plastic (lattice) configuration math_mul33x33(Tstar_unloaded,math_transpose33(invFi)))/detInvFi ! push Tstar forward from unloaded to plastic (lattice) configuration
do o=1_pInt,3_pInt; do p=1_pInt,3_pInt do o=1_pInt,3_pInt; do p=1_pInt,3_pInt
dT_dFe3333(1:3,1:3,o,p) = math_mul33x33(invFi, & dT_dFe3333(1:3,1:3,o,p) = math_mul33x33(invFi, &
math_mul33x33(dT_dFe3333_undamaged(1:3,1:3,o,p),math_transpose33(invFi)))/detInvFi math_mul33x33(dT_dFe3333_unloaded(1:3,1:3,o,p),math_transpose33(invFi)))/detInvFi
enddo; enddo enddo; enddo
Tstar_v = math_Mandel33to6(Tstar) Tstar_v = math_Mandel33to6(Tstar)