From 7567582781fe768b0a1c8938c59034feed7dc859 Mon Sep 17 00:00:00 2001
From: Pratheek Shanthraj
Date: Tue, 11 Nov 2014 22:46:41 +0000
Subject: [PATCH] updated constitutive in line with changes to damage
---
code/constitutive.f90 | 33 +++++++--------------------------
1 file changed, 7 insertions(+), 26 deletions(-)
diff --git a/code/constitutive.f90 b/code/constitutive.f90
index 19a03e6db..7c5196185 100644
--- a/code/constitutive.f90
+++ b/code/constitutive.f90
@@ -511,7 +511,7 @@ function constitutive_damagedC(ipc,ip,el)
LOCAL_DAMAGE_isoBrittle_ID, &
phase_damage
use damage_isoBrittle, only: &
- damage_isoBrittle_getDamage
+ damage_isoBrittle_getDamagedC66
implicit none
real(pReal), dimension(6,6) :: constitutive_damagedC
@@ -519,13 +519,11 @@ function constitutive_damagedC(ipc,ip,el)
ipc, & !< grain number
ip, & !< integration point number
el
- real(pReal) :: damage !< element number
select case (phase_damage(material_phase(ipc,ip,el)))
case (LOCAL_DAMAGE_isoBrittle_ID)
- damage = damage_isoBrittle_getDamage(ipc, ip, el)
- constitutive_damagedC = damage*damage* &
- constitutive_homogenizedC(ipc,ip,el)
+ constitutive_damagedC = damage_isoBrittle_getDamagedC66(constitutive_homogenizedC(ipc,ip,el), &
+ ipc,ip,el)
case default
constitutive_damagedC = constitutive_homogenizedC(ipc,ip,el)
@@ -559,11 +557,6 @@ subroutine constitutive_microstructure(Tstar_v, Fe, Fp, ipc, ip, el)
constitutive_dislotwin_microstructure
use constitutive_dislokmc, only: &
constitutive_dislokmc_microstructure
- use damage_isoBrittle, only: &
- damage_isoBrittle_microstructure, &
- damage_isoBrittle_getDamage
- use damage_isoDuctile, only: &
- damage_isoDuctile_microstructure
use damage_gurson, only: &
damage_gurson_microstructure
@@ -577,13 +570,6 @@ subroutine constitutive_microstructure(Tstar_v, Fe, Fp, ipc, ip, el)
real(pReal), intent(in), dimension(3,3) :: &
Fe, & !< elastic deformation gradient
Fp !< plastic deformation gradient
- real(pReal) :: &
- damage, &
- Tstar_v_effective(6)
- real(pReal), dimension(:), allocatable :: &
- accumulatedSlip
- integer(pInt) :: &
- nSlip
select case (phase_plasticity(material_phase(ipc,ip,el)))
@@ -599,13 +585,6 @@ subroutine constitutive_microstructure(Tstar_v, Fe, Fp, ipc, ip, el)
end select
select case (phase_damage(material_phase(ipc,ip,el)))
- case (LOCAL_DAMAGE_isoBrittle_ID)
- damage = damage_isoBrittle_getDamage(ipc,ip,el)
- Tstar_v_effective = Tstar_v/(damage*damage)
- call damage_isoBrittle_microstructure(Tstar_v_effective, Fe, ipc, ip, el)
- case (LOCAL_DAMAGE_isoDuctile_ID)
- call constitutive_getAccumulatedSlip(nSlip,accumulatedSlip,ipc, ip, el)
- call damage_isoDuctile_microstructure(nSlip,accumulatedSlip,ipc, ip, el)
case (LOCAL_DAMAGE_gurson_ID)
call damage_gurson_microstructure(ipc, ip, el)
@@ -1122,9 +1101,11 @@ subroutine constitutive_collectDotState(Tstar_v, Lp, FeArray, FpArray, subdt, su
select case (phase_damage(material_phase(ipc,ip,el)))
case (LOCAL_DAMAGE_isoBrittle_ID)
- call damage_isoBrittle_dotState(ipc, ip, el)
+ call damage_isoBrittle_dotState(constitutive_homogenizedC(ipc,ip,el), &
+ FeArray(1:3,1:3,ipc,ip,el), ipc, ip, el)
case (LOCAL_DAMAGE_isoDuctile_ID)
- call damage_isoDuctile_dotState(ipc, ip, el)
+ call constitutive_getAccumulatedSlip(nSlip,accumulatedSlip,ipc, ip, el)
+ call damage_isoDuctile_dotState(nSlip,accumulatedSlip,ipc, ip, el)
case (LOCAL_DAMAGE_anisoBrittle_ID)
call damage_anisoBrittle_dotState(Tstar_v, ipc, ip, el)
case (LOCAL_DAMAGE_anisoDuctile_ID)