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