LpandTangent assumed to be called with deviatoric stress input.
Now calculates deviator internally... (Might have led to non volume preserving deformation.)
This commit is contained in:
parent
79e7deca55
commit
865842b0ed
|
@ -398,7 +398,7 @@ end subroutine constitutive_j2_microstructure
|
||||||
!****************************************************************
|
!****************************************************************
|
||||||
!* calculates plastic velocity gradient and its tangent *
|
!* calculates plastic velocity gradient and its tangent *
|
||||||
!****************************************************************
|
!****************************************************************
|
||||||
pure subroutine constitutive_j2_LpAndItsTangent(Lp, dLp_dTstar_99, Tstar_dev_v, Temperature, state, g, ip, el)
|
pure subroutine constitutive_j2_LpAndItsTangent(Lp, dLp_dTstar_99, Tstar_v, Temperature, state, g, ip, el)
|
||||||
|
|
||||||
!*** variables and functions from other modules ***!
|
!*** variables and functions from other modules ***!
|
||||||
use prec, only: p_vec
|
use prec, only: p_vec
|
||||||
|
@ -413,7 +413,7 @@ pure subroutine constitutive_j2_LpAndItsTangent(Lp, dLp_dTstar_99, Tstar_dev_v,
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
!*** input variables ***!
|
!*** input variables ***!
|
||||||
real(pReal), dimension(6), intent(in):: Tstar_dev_v ! deviatoric part of the 2nd Piola Kirchhoff stress tensor in Mandel notation
|
real(pReal), dimension(6), intent(in):: Tstar_v ! 2nd Piola Kirchhoff stress tensor in Mandel notation
|
||||||
real(pReal), intent(in):: Temperature
|
real(pReal), intent(in):: Temperature
|
||||||
integer(pInt), intent(in):: g, & ! grain number
|
integer(pInt), intent(in):: g, & ! grain number
|
||||||
ip, & ! integration point number
|
ip, & ! integration point number
|
||||||
|
@ -438,17 +438,18 @@ pure subroutine constitutive_j2_LpAndItsTangent(Lp, dLp_dTstar_99, Tstar_dev_v,
|
||||||
|
|
||||||
matID = phase_plasticityInstance(material_phase(g,ip,el))
|
matID = phase_plasticityInstance(material_phase(g,ip,el))
|
||||||
|
|
||||||
! convert Tstar to matrix and calculate euclidean norm
|
! deviatoric part of 2nd Piola-Kirchhoff stress
|
||||||
Tstar_dev_33 = math_Mandel6to33(Tstar_dev_v)
|
Tstar_dev_33 = math_deviatoric33(math_Mandel6to33(Tstar_v))
|
||||||
squarenorm_Tstar_dev = math_mul6x6(Tstar_dev_v,Tstar_dev_v)
|
|
||||||
|
squarenorm_Tstar_dev = math_mul33x33(Tstar_dev_33,Tstar_dev_33)
|
||||||
norm_Tstar_dev = sqrt(squarenorm_Tstar_dev)
|
norm_Tstar_dev = sqrt(squarenorm_Tstar_dev)
|
||||||
|
|
||||||
! Initialization of Lp and dLp_dTstar
|
! Initialization of Lp and dLp_dTstar
|
||||||
Lp = 0.0_pReal
|
Lp = 0.0_pReal
|
||||||
dLp_dTstar_99 = 0.0_pReal
|
dLp_dTstar_99 = 0.0_pReal
|
||||||
|
|
||||||
! for Tstar==0 both Lp and dLp_dTstar are zero (if not n==1)
|
! Tstar == 0 --> both Lp and dLp_dTstar are zero
|
||||||
if (norm_Tstar_dev > 0_pInt) then
|
if (norm_Tstar_dev > 0.0_pReal) then
|
||||||
|
|
||||||
! Calculation of gamma_dot
|
! Calculation of gamma_dot
|
||||||
gamma_dot = constitutive_j2_gdot0(matID) * ( sqrt(1.5_pReal) * norm_Tstar_dev &
|
gamma_dot = constitutive_j2_gdot0(matID) * ( sqrt(1.5_pReal) * norm_Tstar_dev &
|
||||||
|
|
Loading…
Reference in New Issue