diff --git a/src/vrm.f90 b/src/vrm.f90 index 18de45709ac19e9d6776d4f108a40cfa4b56d8c7..7414aefd4f5b64628bb5d07f191b46c0a3f1e940 100644 --- a/src/vrm.f90 +++ b/src/vrm.f90 @@ -228,7 +228,7 @@ select case (trim(plasticity_type)) end if case ('DPVII') - ! strain softening + ! Strain softening/hardening phi = plasticity_parameters(1) strain_soft_in=plasticity_parameters(3) if (strain_soft_in.gt.0.d0) then @@ -260,7 +260,7 @@ select case (trim(plasticity_type)) endif sin_theta = sin(theta) cos_theta = cos(theta) - ! strain softening + ! Strain softening/hardening phi = plasticity_parameters(1) strain_soft_in=plasticity_parameters(3) if (strain_soft_in.gt.0.d0) then @@ -348,20 +348,52 @@ do i=0,params%nmat case ('vM') case ('DPI') + phi = mat(i)%plasticity_parameters(1)*pi/180.d0 + c = mat(i)%plasticity_parameters(2) + alpha = (2.d0*sin(phi)) /(sqrt(3.d0)*(3.d0-sin(phi))) + k = (6.d0*c*cos(phi))/(sqrt(3.d0)*(3.d0-sin(phi))) + mat(i)%plasticity_parameters(8) = alpha + mat(i)%plasticity_parameters(9) = k case ('DPII') + phi = mat(i)%plasticity_parameters(1)*pi/180.d0 + c = mat(i)%plasticity_parameters(2) + alpha = (2.d0*sin(phi)) /(sqrt(3.d0)*(3.d0+sin(phi))) + k = (6.d0*c*cos(phi))/(sqrt(3.d0)*(3.d0+sin(phi))) + mat(i)%plasticity_parameters(8) = alpha + mat(i)%plasticity_parameters(9) = k case ('DPIII') + phi = mat(i)%plasticity_parameters(1)*pi/180.d0 + c = mat(i)%plasticity_parameters(2) + alpha = (2.d0*sin(phi)) /(sqrt(3.d0)*3.d0) + k = (6.d0*c*cos(phi))/(sqrt(3.d0)*3.d0) + mat(i)%plasticity_parameters(8) = alpha + mat(i)%plasticity_parameters(9) = k case ('DPIV') + phi = mat(i)%plasticity_parameters(1)*pi/180.d0 + c = mat(i)%plasticity_parameters(2) + alpha = tan(phi)/(sqrt(9.d0+12.d0*(tan(phi))**2.d0)) + k = (3.d0*c)/(sqrt(9.d0+12.d0*(tan(phi))**2.d0)) + mat(i)%plasticity_parameters(8) = alpha + mat(i)%plasticity_parameters(9) = k case ('DPV') case ('DPVI') + phi = mat(i)%plasticity_parameters(1)*pi/180.d0 + mat(i)%plasticity_parameters(8) = tan(phi) case ('DPVII') + phi = mat(i)%plasticity_parameters(1)*pi/180.d0 + mat(i)%plasticity_parameters(8) = sin(phi) + mat(i)%plasticity_parameters(9) = cos(phi) case ('MC') + phi = mat(i)%plasticity_parameters(1)*pi/180.d0 + mat(i)%plasticity_parameters(8) = sin(phi) + mat(i)%plasticity_parameters(9) = cos(phi) case ('Tresca')