From 2712ce0254fd990918dba5595fbc8795bbdc1f82 Mon Sep 17 00:00:00 2001
From: Pratheek Shanthraj
Date: Mon, 6 Oct 2014 17:01:39 +0000
Subject: [PATCH] polishing
---
code/constitutive.f90 | 3 ++-
code/damage_brittle.f90 | 2 +-
code/damage_ductile.f90 | 22 +++++-----------------
3 files changed, 8 insertions(+), 19 deletions(-)
diff --git a/code/constitutive.f90 b/code/constitutive.f90
index 06970eed6..c18607a94 100644
--- a/code/constitutive.f90
+++ b/code/constitutive.f90
@@ -470,7 +470,7 @@ subroutine constitutive_microstructure(temperature, Tstar_v, Fe, Fp, ipc, ip, el
case (LOCAL_DAMAGE_BRITTLE_ID)
call damage_brittle_microstructure(Tstar_v_effective, Fe, ipc, ip, el)
case (LOCAL_DAMAGE_DUCTILE_ID)
- call damage_ductile_microstructure(Tstar_v_effective, Fe, Fp, ipc, ip, el)
+ call damage_ductile_microstructure(ipc, ip, el)
end select
@@ -871,6 +871,7 @@ subroutine constitutive_putLocalDamage(ipc, ip, el, localDamage)
select case (phase_damage(material_phase(ipc,ip,el)))
case (LOCAL_DAMAGE_BRITTLE_ID)
call constitutive_brittle_putDamage(ipc, ip, el, localDamage)
+
case (LOCAL_DAMAGE_DUCTILE_ID)
call constitutive_ductile_putDamage(ipc, ip, el, localDamage)
diff --git a/code/damage_brittle.f90 b/code/damage_brittle.f90
index 0d73a19b1..79616cd43 100644
--- a/code/damage_brittle.f90
+++ b/code/damage_brittle.f90
@@ -305,7 +305,7 @@ subroutine damage_brittle_microstructure(Tstar_v, Fe, ipc, ip, el)
integer(pInt) :: &
phase, constituent
real(pReal) :: &
- strain(3,3), stress(3,3)
+ strain(3,3)
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
diff --git a/code/damage_ductile.f90 b/code/damage_ductile.f90
index a8a30fd4b..ff23884c1 100755
--- a/code/damage_ductile.f90
+++ b/code/damage_ductile.f90
@@ -3,9 +3,7 @@
!--------------------------------------------------------------------------------------------------
!> @author Luv Sharma, Max-Planck-Institut für Eisenforschung GmbH
!> @author Pratheek Shanthraj, Max-Planck-Institut für Eisenforschung GmbH
-!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH
-!> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH
-!> @brief material subroutine incoprorating dislocation and twinning physics
+!> @brief material subroutine incoprorating ductile damage
!> @details to be done
!--------------------------------------------------------------------------------------------------
module damage_ductile
@@ -27,7 +25,7 @@ module damage_ductile
integer(pInt), dimension(:), allocatable, target, public :: &
damage_ductile_Noutput !< number of outputs per instance of this damage
- real(pReal), dimension(:), allocatable, private :: &
+ real(pReal), dimension(:), allocatable, private :: &
damage_ductile_aTol, &
damage_ductile_critpStrain
@@ -197,7 +195,7 @@ subroutine damage_ductile_init(fileUnit)
allocate(damageState(phase)%state_backup (sizeState,NofMyPhase), source=0.0_pReal)
allocate(damageState(phase)%dotState (sizeDotState,NofMyPhase), source=0.0_pReal)
- allocate(damageState(phase)%deltaState (sizeDotState,NofMyPhase), source=0.0_pReal)
+ allocate(damageState(phase)%deltaState (sizeDotState,NofMyPhase), source=0.0_pReal)
allocate(damageState(phase)%dotState_backup (sizeDotState,NofMyPhase), source=0.0_pReal)
if (any(numerics_integrator == 1_pInt)) then
allocate(damageState(phase)%previousDotState (sizeDotState,NofMyPhase), source=0.0_pReal)
@@ -251,17 +249,15 @@ subroutine damage_ductile_aTolState(phase,instance)
real(pReal), dimension(damageState(phase)%sizeState) :: tempTol
tempTol = damage_ductile_aTol(instance)
- tempTol(2) = 0.000001_pReal
damageState(phase)%aTolState = tempTol
end subroutine damage_ductile_aTolState
!--------------------------------------------------------------------------------------------------
!> @brief calculates derived quantities from state
!--------------------------------------------------------------------------------------------------
-subroutine damage_ductile_dotState(Lp,ipc, ip, el)
+subroutine damage_ductile_dotState(Lp, ipc, ip, el)
use material, only: &
mappingConstitutive, &
- phase_damageInstance, &
damageState
use math, only: &
math_norm33
@@ -294,7 +290,7 @@ end subroutine damage_ductile_dotState
!--------------------------------------------------------------------------------------------------
!> @brief calculates derived quantities from state
!--------------------------------------------------------------------------------------------------
-subroutine damage_ductile_microstructure(Tstar_v, Fe, Fp, ipc, ip, el)
+subroutine damage_ductile_microstructure(ipc, ip, el)
use material, only: &
mappingConstitutive, &
phase_damageInstance, &
@@ -311,19 +307,11 @@ subroutine damage_ductile_microstructure(Tstar_v, Fe, Fp, ipc, ip, el)
ipc, & !< component-ID of integration point
ip, & !< integration point
el !< element
- real(pReal), intent(in), dimension(6) :: &
- Tstar_v !< 2nd Piola Kirchhoff stress tensor (Mandel)
- real(pReal), intent(in), dimension(3,3) :: &
- Fe, &
- Fp
integer(pInt) :: &
phase, constituent
- real(pReal) :: &
- plasticStrain(3,3)
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
- plasticStrain = math_mul33x33(math_transpose33(Fp),Fp)-math_I3
damageState(phase)%state(3,constituent) = min(damageState(phase)%state(3,constituent), &
damage_ductile_critpStrain(phase)/ &
damageState(phase)%state(2,constituent)) !< akin to damage surface