From 1684f0b1fa2796ad19f1f6e65d576062cb7c8ef9 Mon Sep 17 00:00:00 2001
From: Dave Whipp <dwhipp@dal.ca>
Date: Mon, 17 Jan 2011 17:48:38 +0000
Subject: [PATCH] Added output of additional plasticity parameters to
 plasticity_parameters array

---
 src/vrm.f90 | 36 ++++++++++++++++++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/vrm.f90 b/src/vrm.f90
index 18de4570..7414aefd 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')
 
-- 
GitLab