matching name
This commit is contained in:
parent
d1ca7cfb95
commit
47e69019b6
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
||||||
Subproject commit ac4938718895a29749141cca0cfff22b47637398
|
Subproject commit c0716e46b72439a49212c5e9803a5886c03b4739
|
|
@ -69,7 +69,7 @@ module phase
|
||||||
|
|
||||||
integer, public, protected :: &
|
integer, public, protected :: &
|
||||||
phase_plasticity_maxSizeDotState, &
|
phase_plasticity_maxSizeDotState, &
|
||||||
phase_source_maxSizeDotState
|
phase_damage_maxSizeDotState
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
@ -235,12 +235,12 @@ module phase
|
||||||
logical :: converged_
|
logical :: converged_
|
||||||
end function crystallite_stress
|
end function crystallite_stress
|
||||||
|
|
||||||
|
!ToDo: Try to merge the all stiffness functions
|
||||||
module function phase_homogenizedC(ph,en) result(C)
|
module function phase_homogenizedC(ph,en) result(C)
|
||||||
integer, intent(in) :: ph, en
|
integer, intent(in) :: ph, en
|
||||||
real(pReal), dimension(6,6) :: C
|
real(pReal), dimension(6,6) :: C
|
||||||
end function phase_homogenizedC
|
end function phase_homogenizedC
|
||||||
|
module function phase_damage_C(C_homogenized,ph,en) result(C)
|
||||||
module function phase_damage_C(C_homogenized,ph,en) result(C) ! ToDo: SR: better name?
|
|
||||||
real(pReal), dimension(3,3,3,3), intent(in) :: C_homogenized
|
real(pReal), dimension(3,3,3,3), intent(in) :: C_homogenized
|
||||||
integer, intent(in) :: ph,en
|
integer, intent(in) :: ph,en
|
||||||
real(pReal), dimension(3,3,3,3) :: C
|
real(pReal), dimension(3,3,3,3) :: C
|
||||||
|
@ -378,7 +378,7 @@ subroutine phase_init
|
||||||
call thermal_init(phases)
|
call thermal_init(phases)
|
||||||
|
|
||||||
|
|
||||||
phase_source_maxSizeDotState = 0
|
phase_damage_maxSizeDotState = 0
|
||||||
PhaseLoop2:do ph = 1,phases%length
|
PhaseLoop2:do ph = 1,phases%length
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! partition and initialize state
|
! partition and initialize state
|
||||||
|
@ -387,7 +387,7 @@ subroutine phase_init
|
||||||
damageState(ph)%state = damageState(ph)%state0
|
damageState(ph)%state = damageState(ph)%state0
|
||||||
enddo PhaseLoop2
|
enddo PhaseLoop2
|
||||||
|
|
||||||
phase_source_maxSizeDotState = maxval(damageState%sizeDotState)
|
phase_damage_maxSizeDotState = maxval(damageState%sizeDotState)
|
||||||
phase_plasticity_maxSizeDotState = maxval(plasticState%sizeDotState)
|
phase_plasticity_maxSizeDotState = maxval(plasticState%sizeDotState)
|
||||||
|
|
||||||
end subroutine phase_init
|
end subroutine phase_init
|
||||||
|
|
|
@ -21,7 +21,7 @@ submodule(phase) damage
|
||||||
end type tDataContainer
|
end type tDataContainer
|
||||||
|
|
||||||
integer(kind(DAMAGE_UNDEFINED_ID)), dimension(:), allocatable :: &
|
integer(kind(DAMAGE_UNDEFINED_ID)), dimension(:), allocatable :: &
|
||||||
phase_source !< active sources mechanisms of each phase
|
phase_damage !< active sources mechanisms of each phase
|
||||||
|
|
||||||
type(tDataContainer), dimension(:), allocatable :: current
|
type(tDataContainer), dimension(:), allocatable :: current
|
||||||
|
|
||||||
|
@ -126,12 +126,12 @@ module subroutine damage_init
|
||||||
|
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
allocate(phase_source(phases%length), source = DAMAGE_UNDEFINED_ID)
|
allocate(phase_damage(phases%length), source = DAMAGE_UNDEFINED_ID)
|
||||||
|
|
||||||
if (damage_active) then
|
if (damage_active) then
|
||||||
where(isobrittle_init() ) phase_source = DAMAGE_ISOBRITTLE_ID
|
where(isobrittle_init() ) phase_damage = DAMAGE_ISOBRITTLE_ID
|
||||||
where(isoductile_init() ) phase_source = DAMAGE_ISODUCTILE_ID
|
where(isoductile_init() ) phase_damage = DAMAGE_ISODUCTILE_ID
|
||||||
where(anisobrittle_init()) phase_source = DAMAGE_ANISOBRITTLE_ID
|
where(anisobrittle_init()) phase_damage = DAMAGE_ANISOBRITTLE_ID
|
||||||
endif
|
endif
|
||||||
|
|
||||||
end subroutine damage_init
|
end subroutine damage_init
|
||||||
|
@ -146,7 +146,7 @@ module function phase_damage_C(C_homogenized,ph,en) result(C)
|
||||||
integer, intent(in) :: ph,en
|
integer, intent(in) :: ph,en
|
||||||
real(pReal), dimension(3,3,3,3) :: C
|
real(pReal), dimension(3,3,3,3) :: C
|
||||||
|
|
||||||
damageType: select case (phase_source(ph))
|
damageType: select case (phase_damage(ph))
|
||||||
case (DAMAGE_ISOBRITTLE_ID) damageType
|
case (DAMAGE_ISOBRITTLE_ID) damageType
|
||||||
C = C_homogenized * damage_phi(ph,en)**2
|
C = C_homogenized * damage_phi(ph,en)**2
|
||||||
case default damageType
|
case default damageType
|
||||||
|
@ -174,7 +174,7 @@ module function phase_f_phi(phi,co,ce) result(f)
|
||||||
ph = material_phaseID(co,ce)
|
ph = material_phaseID(co,ce)
|
||||||
en = material_phaseEntry(co,ce)
|
en = material_phaseEntry(co,ce)
|
||||||
|
|
||||||
select case(phase_source(ph))
|
select case(phase_damage(ph))
|
||||||
case(DAMAGE_ISOBRITTLE_ID,DAMAGE_ISODUCTILE_ID,DAMAGE_ANISOBRITTLE_ID)
|
case(DAMAGE_ISOBRITTLE_ID,DAMAGE_ISODUCTILE_ID,DAMAGE_ANISOBRITTLE_ID)
|
||||||
f = 1.0_pReal &
|
f = 1.0_pReal &
|
||||||
- phi*damageState(ph)%state(1,en)
|
- phi*damageState(ph)%state(1,en)
|
||||||
|
@ -206,9 +206,9 @@ module function integrateDamageState(dt,co,ip,el) result(broken)
|
||||||
size_so
|
size_so
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
zeta
|
zeta
|
||||||
real(pReal), dimension(phase_source_maxSizeDotState) :: &
|
real(pReal), dimension(phase_damage_maxSizeDotState) :: &
|
||||||
r ! state residuum
|
r ! state residuum
|
||||||
real(pReal), dimension(phase_source_maxSizeDotState,2) :: source_dotState
|
real(pReal), dimension(phase_damage_maxSizeDotState,2) :: source_dotState
|
||||||
logical :: &
|
logical :: &
|
||||||
converged_
|
converged_
|
||||||
|
|
||||||
|
@ -294,10 +294,10 @@ module subroutine damage_results(group,ph)
|
||||||
integer, intent(in) :: ph
|
integer, intent(in) :: ph
|
||||||
|
|
||||||
|
|
||||||
if (phase_source(ph) /= DAMAGE_UNDEFINED_ID) &
|
if (phase_damage(ph) /= DAMAGE_UNDEFINED_ID) &
|
||||||
call results_closeGroup(results_addGroup(group//'damage'))
|
call results_closeGroup(results_addGroup(group//'damage'))
|
||||||
|
|
||||||
sourceType: select case (phase_source(ph))
|
sourceType: select case (phase_damage(ph))
|
||||||
|
|
||||||
case (DAMAGE_ISOBRITTLE_ID) sourceType
|
case (DAMAGE_ISOBRITTLE_ID) sourceType
|
||||||
call isobrittle_results(ph,group//'damage/')
|
call isobrittle_results(ph,group//'damage/')
|
||||||
|
@ -328,7 +328,7 @@ function phase_damage_collectDotState(ph,me) result(broken)
|
||||||
|
|
||||||
if (damageState(ph)%sizeState > 0) then
|
if (damageState(ph)%sizeState > 0) then
|
||||||
|
|
||||||
sourceType: select case (phase_source(ph))
|
sourceType: select case (phase_damage(ph))
|
||||||
|
|
||||||
case (DAMAGE_ISODUCTILE_ID) sourceType
|
case (DAMAGE_ISODUCTILE_ID) sourceType
|
||||||
call isoductile_dotState(ph,me)
|
call isoductile_dotState(ph,me)
|
||||||
|
@ -395,7 +395,7 @@ function phase_damage_deltaState(Fe, ph, me) result(broken)
|
||||||
|
|
||||||
if (damageState(ph)%sizeState == 0) return
|
if (damageState(ph)%sizeState == 0) return
|
||||||
|
|
||||||
sourceType: select case (phase_source(ph))
|
sourceType: select case (phase_damage(ph))
|
||||||
|
|
||||||
case (DAMAGE_ISOBRITTLE_ID) sourceType
|
case (DAMAGE_ISOBRITTLE_ID) sourceType
|
||||||
call isobrittle_deltaState(phase_homogenizedC(ph,me), Fe, ph,me)
|
call isobrittle_deltaState(phase_homogenizedC(ph,me), Fe, ph,me)
|
||||||
|
|
Loading…
Reference in New Issue