no need to prefix local functions
This commit is contained in:
parent
dff0434eb5
commit
1d0d05855a
|
@ -22,25 +22,25 @@ submodule(constitutive) constitutive_damage
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
module function source_damage_anisoBrittle_init(source_length) result(mySources)
|
module function anisobrittle_init(source_length) result(mySources)
|
||||||
integer, intent(in) :: source_length
|
integer, intent(in) :: source_length
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
end function source_damage_anisoBrittle_init
|
end function anisobrittle_init
|
||||||
|
|
||||||
module function source_damage_anisoDuctile_init(source_length) result(mySources)
|
module function anisoductile_init(source_length) result(mySources)
|
||||||
integer, intent(in) :: source_length
|
integer, intent(in) :: source_length
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
end function source_damage_anisoDuctile_init
|
end function anisoductile_init
|
||||||
|
|
||||||
module function source_damage_isoBrittle_init(source_length) result(mySources)
|
module function isobrittle_init(source_length) result(mySources)
|
||||||
integer, intent(in) :: source_length
|
integer, intent(in) :: source_length
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
end function source_damage_isoBrittle_init
|
end function isobrittle_init
|
||||||
|
|
||||||
module function source_damage_isoDuctile_init(source_length) result(mySources)
|
module function isoductile_init(source_length) result(mySources)
|
||||||
integer, intent(in) :: source_length
|
integer, intent(in) :: source_length
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
end function source_damage_isoDuctile_init
|
end function isoductile_init
|
||||||
|
|
||||||
|
|
||||||
module subroutine source_damage_isoBrittle_deltaState(C, Fe, ph, me)
|
module subroutine source_damage_isoBrittle_deltaState(C, Fe, ph, me)
|
||||||
|
@ -52,28 +52,28 @@ submodule(constitutive) constitutive_damage
|
||||||
end subroutine source_damage_isoBrittle_deltaState
|
end subroutine source_damage_isoBrittle_deltaState
|
||||||
|
|
||||||
|
|
||||||
module subroutine source_damage_anisoBrittle_dotState(S, co, ip, el)
|
module subroutine anisobrittle_dotState(S, co, ip, el)
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< component-ID of integration point
|
co, & !< component-ID of integration point
|
||||||
ip, & !< integration point
|
ip, & !< integration point
|
||||||
el !< element
|
el !< element
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
S
|
S
|
||||||
end subroutine source_damage_anisoBrittle_dotState
|
end subroutine anisobrittle_dotState
|
||||||
|
|
||||||
module subroutine source_damage_anisoDuctile_dotState(co, ip, el)
|
module subroutine anisoductile_dotState(co, ip, el)
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< component-ID of integration point
|
co, & !< component-ID of integration point
|
||||||
ip, & !< integration point
|
ip, & !< integration point
|
||||||
el !< element
|
el !< element
|
||||||
end subroutine source_damage_anisoDuctile_dotState
|
end subroutine anisoductile_dotState
|
||||||
|
|
||||||
module subroutine source_damage_isoDuctile_dotState(co, ip, el)
|
module subroutine isoductile_dotState(co, ip, el)
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< component-ID of integration point
|
co, & !< component-ID of integration point
|
||||||
ip, & !< integration point
|
ip, & !< integration point
|
||||||
el !< element
|
el !< element
|
||||||
end subroutine source_damage_isoDuctile_dotState
|
end subroutine isoductile_dotState
|
||||||
|
|
||||||
|
|
||||||
module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent)
|
module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent)
|
||||||
|
@ -120,25 +120,25 @@ submodule(constitutive) constitutive_damage
|
||||||
dLocalphiDot_dPhi
|
dLocalphiDot_dPhi
|
||||||
end subroutine source_damage_isoDuctile_getRateAndItsTangent
|
end subroutine source_damage_isoDuctile_getRateAndItsTangent
|
||||||
|
|
||||||
module subroutine source_damage_anisoBrittle_results(phase,group)
|
module subroutine anisobrittle_results(phase,group)
|
||||||
integer, intent(in) :: phase
|
integer, intent(in) :: phase
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
end subroutine source_damage_anisoBrittle_results
|
end subroutine anisobrittle_results
|
||||||
|
|
||||||
module subroutine source_damage_anisoDuctile_results(phase,group)
|
module subroutine anisoductile_results(phase,group)
|
||||||
integer, intent(in) :: phase
|
integer, intent(in) :: phase
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
end subroutine source_damage_anisoDuctile_results
|
end subroutine anisoductile_results
|
||||||
|
|
||||||
module subroutine source_damage_isoBrittle_results(phase,group)
|
module subroutine isobrittle_results(phase,group)
|
||||||
integer, intent(in) :: phase
|
integer, intent(in) :: phase
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
end subroutine source_damage_isoBrittle_results
|
end subroutine isobrittle_results
|
||||||
|
|
||||||
module subroutine source_damage_isoDuctile_results(phase,group)
|
module subroutine isoductile_results(phase,group)
|
||||||
integer, intent(in) :: phase
|
integer, intent(in) :: phase
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
end subroutine source_damage_isoDuctile_results
|
end subroutine isoductile_results
|
||||||
|
|
||||||
end interface
|
end interface
|
||||||
|
|
||||||
|
@ -162,11 +162,11 @@ module subroutine damage_init
|
||||||
allocate(current(phases%length))
|
allocate(current(phases%length))
|
||||||
|
|
||||||
allocate(damageState (phases%length))
|
allocate(damageState (phases%length))
|
||||||
allocate(phase_Nsources(phases%length),source = 0) ! same for kinematics
|
allocate(phase_Nsources(phases%length),source = 0)
|
||||||
|
|
||||||
do ph = 1,phases%length
|
do ph = 1,phases%length
|
||||||
|
|
||||||
Nconstituents = count(material_phaseAt == ph) * discretization_nIPs
|
Nconstituents = count(material_phaseAt2 == ph)
|
||||||
|
|
||||||
allocate(current(ph)%phi(Nconstituents),source=1.0_pReal)
|
allocate(current(ph)%phi(Nconstituents),source=1.0_pReal)
|
||||||
allocate(current(ph)%d_phi_d_dot_phi(Nconstituents),source=0.0_pReal)
|
allocate(current(ph)%d_phi_d_dot_phi(Nconstituents),source=0.0_pReal)
|
||||||
|
@ -181,10 +181,10 @@ module subroutine damage_init
|
||||||
|
|
||||||
! initialize source mechanisms
|
! initialize source mechanisms
|
||||||
if(maxval(phase_Nsources) /= 0) then
|
if(maxval(phase_Nsources) /= 0) then
|
||||||
where(source_damage_isoBrittle_init (maxval(phase_Nsources))) phase_source = DAMAGE_ISOBRITTLE_ID
|
where(isobrittle_init (maxval(phase_Nsources))) phase_source = DAMAGE_ISOBRITTLE_ID
|
||||||
where(source_damage_isoDuctile_init (maxval(phase_Nsources))) phase_source = DAMAGE_ISODUCTILE_ID
|
where(isoductile_init (maxval(phase_Nsources))) phase_source = DAMAGE_ISODUCTILE_ID
|
||||||
where(source_damage_anisoBrittle_init (maxval(phase_Nsources))) phase_source = DAMAGE_ANISOBRITTLE_ID
|
where(anisobrittle_init (maxval(phase_Nsources))) phase_source = DAMAGE_ANISOBRITTLE_ID
|
||||||
where(source_damage_anisoDuctile_init (maxval(phase_Nsources))) phase_source = DAMAGE_ANISODUCTILE_ID
|
where(anisoductile_init (maxval(phase_Nsources))) phase_source = DAMAGE_ANISODUCTILE_ID
|
||||||
endif
|
endif
|
||||||
|
|
||||||
end subroutine damage_init
|
end subroutine damage_init
|
||||||
|
@ -208,30 +208,30 @@ module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi
|
||||||
localphiDot, &
|
localphiDot, &
|
||||||
dLocalphiDot_dPhi
|
dLocalphiDot_dPhi
|
||||||
integer :: &
|
integer :: &
|
||||||
phase, &
|
ph, &
|
||||||
grain, &
|
co, &
|
||||||
source, &
|
so, &
|
||||||
constituent
|
me
|
||||||
|
|
||||||
phiDot = 0.0_pReal
|
phiDot = 0.0_pReal
|
||||||
dPhiDot_dPhi = 0.0_pReal
|
dPhiDot_dPhi = 0.0_pReal
|
||||||
|
|
||||||
do grain = 1, homogenization_Nconstituents(material_homogenizationAt(el))
|
do co = 1, homogenization_Nconstituents(material_homogenizationAt(el))
|
||||||
phase = material_phaseAt(grain,el)
|
ph = material_phaseAt(co,el)
|
||||||
constituent = material_phasememberAt(grain,ip,el)
|
me = material_phasememberAt(co,ip,el)
|
||||||
do source = 1, phase_Nsources(phase)
|
do so = 1, phase_Nsources(ph)
|
||||||
select case(phase_source(source,phase))
|
select case(phase_source(so,ph))
|
||||||
case (DAMAGE_ISOBRITTLE_ID)
|
case (DAMAGE_ISOBRITTLE_ID)
|
||||||
call source_damage_isobrittle_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, phase, constituent)
|
call source_damage_isobrittle_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, ph, me)
|
||||||
|
|
||||||
case (DAMAGE_ISODUCTILE_ID)
|
case (DAMAGE_ISODUCTILE_ID)
|
||||||
call source_damage_isoductile_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, phase, constituent)
|
call source_damage_isoductile_getRateAndItsTangent (localphiDot, dLocalphiDot_dPhi, phi, ph, me)
|
||||||
|
|
||||||
case (DAMAGE_ANISOBRITTLE_ID)
|
case (DAMAGE_ANISOBRITTLE_ID)
|
||||||
call source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent)
|
call source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, ph, me)
|
||||||
|
|
||||||
case (DAMAGE_ANISODUCTILE_ID)
|
case (DAMAGE_ANISODUCTILE_ID)
|
||||||
call source_damage_anisoductile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent)
|
call source_damage_anisoductile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, ph, me)
|
||||||
|
|
||||||
case default
|
case default
|
||||||
localphiDot = 0.0_pReal
|
localphiDot = 0.0_pReal
|
||||||
|
@ -369,16 +369,16 @@ module subroutine damage_results(group,ph)
|
||||||
sourceType: select case (phase_source(so,ph))
|
sourceType: select case (phase_source(so,ph))
|
||||||
|
|
||||||
case (DAMAGE_ISOBRITTLE_ID) sourceType
|
case (DAMAGE_ISOBRITTLE_ID) sourceType
|
||||||
call source_damage_isoBrittle_results(ph,group//'sources/')
|
call isobrittle_results(ph,group//'sources/')
|
||||||
|
|
||||||
case (DAMAGE_ISODUCTILE_ID) sourceType
|
case (DAMAGE_ISODUCTILE_ID) sourceType
|
||||||
call source_damage_isoDuctile_results(ph,group//'sources/')
|
call isoductile_results(ph,group//'sources/')
|
||||||
|
|
||||||
case (DAMAGE_ANISOBRITTLE_ID) sourceType
|
case (DAMAGE_ANISOBRITTLE_ID) sourceType
|
||||||
call source_damage_anisoBrittle_results(ph,group//'sources/')
|
call anisobrittle_results(ph,group//'sources/')
|
||||||
|
|
||||||
case (DAMAGE_ANISODUCTILE_ID) sourceType
|
case (DAMAGE_ANISODUCTILE_ID) sourceType
|
||||||
call source_damage_anisoDuctile_results(ph,group//'sources/')
|
call anisoductile_results(ph,group//'sources/')
|
||||||
|
|
||||||
end select sourceType
|
end select sourceType
|
||||||
|
|
||||||
|
@ -410,13 +410,13 @@ function constitutive_damage_collectDotState(co,ip,el,ph,me) result(broken)
|
||||||
sourceType: select case (phase_source(so,ph))
|
sourceType: select case (phase_source(so,ph))
|
||||||
|
|
||||||
case (DAMAGE_ISODUCTILE_ID) sourceType
|
case (DAMAGE_ISODUCTILE_ID) sourceType
|
||||||
call source_damage_isoDuctile_dotState(co, ip, el)
|
call isoductile_dotState(co, ip, el)
|
||||||
|
|
||||||
case (DAMAGE_ANISODUCTILE_ID) sourceType
|
case (DAMAGE_ANISODUCTILE_ID) sourceType
|
||||||
call source_damage_anisoDuctile_dotState(co, ip, el)
|
call anisoductile_dotState(co, ip, el)
|
||||||
|
|
||||||
case (DAMAGE_ANISOBRITTLE_ID) sourceType
|
case (DAMAGE_ANISOBRITTLE_ID) sourceType
|
||||||
call source_damage_anisoBrittle_dotState(mech_S(ph,me),co, ip, el) ! correct stress?
|
call anisobrittle_dotState(mech_S(ph,me),co, ip, el) ! correct stress?
|
||||||
|
|
||||||
end select sourceType
|
end select sourceType
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ contains
|
||||||
!> @brief module initialization
|
!> @brief module initialization
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function source_damage_anisoBrittle_init(source_length) result(mySources)
|
module function anisobrittle_init(source_length) result(mySources)
|
||||||
|
|
||||||
integer, intent(in) :: source_length
|
integer, intent(in) :: source_length
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
|
@ -114,13 +114,13 @@ module function source_damage_anisoBrittle_init(source_length) result(mySources)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
end function source_damage_anisoBrittle_init
|
end function anisobrittle_init
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief calculates derived quantities from state
|
!> @brief calculates derived quantities from state
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine source_damage_anisoBrittle_dotState(S, co, ip, el)
|
module subroutine anisobrittle_dotState(S, co, ip, el)
|
||||||
|
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< component-ID of integration point
|
co, & !< component-ID of integration point
|
||||||
|
@ -163,7 +163,7 @@ module subroutine source_damage_anisoBrittle_dotState(S, co, ip, el)
|
||||||
enddo
|
enddo
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine source_damage_anisoBrittle_dotState
|
end subroutine anisobrittle_dotState
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -196,7 +196,7 @@ end subroutine source_damage_anisoBrittle_getRateAndItsTangent
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief writes results to HDF5 output file
|
!> @brief writes results to HDF5 output file
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine source_damage_anisoBrittle_results(phase,group)
|
module subroutine anisobrittle_results(phase,group)
|
||||||
|
|
||||||
integer, intent(in) :: phase
|
integer, intent(in) :: phase
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
|
@ -213,6 +213,6 @@ module subroutine source_damage_anisoBrittle_results(phase,group)
|
||||||
enddo outputsLoop
|
enddo outputsLoop
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine source_damage_anisoBrittle_results
|
end subroutine anisobrittle_results
|
||||||
|
|
||||||
end submodule source_damage_anisoBrittle
|
end submodule source_damage_anisoBrittle
|
||||||
|
|
|
@ -28,7 +28,7 @@ contains
|
||||||
!> @brief module initialization
|
!> @brief module initialization
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function source_damage_anisoDuctile_init(source_length) result(mySources)
|
module function anisoductile_init(source_length) result(mySources)
|
||||||
|
|
||||||
integer, intent(in) :: source_length
|
integer, intent(in) :: source_length
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
|
@ -101,13 +101,13 @@ module function source_damage_anisoDuctile_init(source_length) result(mySources)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
|
||||||
end function source_damage_anisoDuctile_init
|
end function anisoductile_init
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief calculates derived quantities from state
|
!> @brief calculates derived quantities from state
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine source_damage_anisoDuctile_dotState(co, ip, el)
|
module subroutine anisoductile_dotState(co, ip, el)
|
||||||
|
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< component-ID of integration point
|
co, & !< component-ID of integration point
|
||||||
|
@ -132,7 +132,7 @@ module subroutine source_damage_anisoDuctile_dotState(co, ip, el)
|
||||||
= sum(plasticState(ph)%slipRate(:,me)/(damage(homog)%p(damageOffset)**prm%q)/prm%gamma_crit)
|
= sum(plasticState(ph)%slipRate(:,me)/(damage(homog)%p(damageOffset)**prm%q)/prm%gamma_crit)
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine source_damage_anisoDuctile_dotState
|
end subroutine anisoductile_dotState
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -165,7 +165,7 @@ end subroutine source_damage_anisoDuctile_getRateAndItsTangent
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief writes results to HDF5 output file
|
!> @brief writes results to HDF5 output file
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine source_damage_anisoDuctile_results(phase,group)
|
module subroutine anisoductile_results(phase,group)
|
||||||
|
|
||||||
integer, intent(in) :: phase
|
integer, intent(in) :: phase
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
|
@ -182,6 +182,6 @@ module subroutine source_damage_anisoDuctile_results(phase,group)
|
||||||
enddo outputsLoop
|
enddo outputsLoop
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine source_damage_anisoDuctile_results
|
end subroutine anisoductile_results
|
||||||
|
|
||||||
end submodule source_damage_anisoDuctile
|
end submodule source_damage_anisoDuctile
|
||||||
|
|
|
@ -26,7 +26,7 @@ contains
|
||||||
!> @brief module initialization
|
!> @brief module initialization
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function source_damage_isoBrittle_init(source_length) result(mySources)
|
module function isobrittle_init(source_length) result(mySources)
|
||||||
|
|
||||||
integer, intent(in) :: source_length
|
integer, intent(in) :: source_length
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
|
@ -88,7 +88,7 @@ module function source_damage_isoBrittle_init(source_length) result(mySources)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
|
||||||
end function source_damage_isoBrittle_init
|
end function isobrittle_init
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -161,7 +161,7 @@ end subroutine source_damage_isoBrittle_getRateAndItsTangent
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief writes results to HDF5 output file
|
!> @brief writes results to HDF5 output file
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine source_damage_isoBrittle_results(phase,group)
|
module subroutine isobrittle_results(phase,group)
|
||||||
|
|
||||||
integer, intent(in) :: phase
|
integer, intent(in) :: phase
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
|
@ -178,6 +178,6 @@ module subroutine source_damage_isoBrittle_results(phase,group)
|
||||||
enddo outputsLoop
|
enddo outputsLoop
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine source_damage_isoBrittle_results
|
end subroutine isobrittle_results
|
||||||
|
|
||||||
end submodule source_damage_isoBrittle
|
end submodule source_damage_isoBrittle
|
||||||
|
|
|
@ -28,7 +28,7 @@ contains
|
||||||
!> @brief module initialization
|
!> @brief module initialization
|
||||||
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
!> @details reads in material parameters, allocates arrays, and does sanity checks
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function source_damage_isoDuctile_init(source_length) result(mySources)
|
module function isoductile_init(source_length) result(mySources)
|
||||||
|
|
||||||
integer, intent(in) :: source_length
|
integer, intent(in) :: source_length
|
||||||
logical, dimension(:,:), allocatable :: mySources
|
logical, dimension(:,:), allocatable :: mySources
|
||||||
|
@ -92,13 +92,13 @@ module function source_damage_isoDuctile_init(source_length) result(mySources)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
|
||||||
end function source_damage_isoDuctile_init
|
end function isoductile_init
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief calculates derived quantities from state
|
!> @brief calculates derived quantities from state
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine source_damage_isoDuctile_dotState(co, ip, el)
|
module subroutine isoductile_dotState(co, ip, el)
|
||||||
|
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< component-ID of integration point
|
co, & !< component-ID of integration point
|
||||||
|
@ -123,7 +123,7 @@ module subroutine source_damage_isoDuctile_dotState(co, ip, el)
|
||||||
sum(plasticState(ph)%slipRate(:,me))/(damage(homog)%p(damageOffset)**prm%q)/prm%gamma_crit
|
sum(plasticState(ph)%slipRate(:,me))/(damage(homog)%p(damageOffset)**prm%q)/prm%gamma_crit
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine source_damage_isoDuctile_dotState
|
end subroutine isoductile_dotState
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -156,7 +156,7 @@ end subroutine source_damage_isoDuctile_getRateAndItsTangent
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief writes results to HDF5 output file
|
!> @brief writes results to HDF5 output file
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module subroutine source_damage_isoDuctile_results(phase,group)
|
module subroutine isoductile_results(phase,group)
|
||||||
|
|
||||||
integer, intent(in) :: phase
|
integer, intent(in) :: phase
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
|
@ -173,6 +173,6 @@ module subroutine source_damage_isoDuctile_results(phase,group)
|
||||||
enddo outputsLoop
|
enddo outputsLoop
|
||||||
end associate
|
end associate
|
||||||
|
|
||||||
end subroutine source_damage_isoDuctile_results
|
end subroutine isoductile_results
|
||||||
|
|
||||||
end submodule source_damage_isoDuctile
|
end submodule source_damage_isoDuctile
|
||||||
|
|
Loading…
Reference in New Issue