diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 1564e610b..d54f55158 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -343,19 +343,6 @@ module constitutive dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero) end subroutine kinematics_thermal_expansion_LiAndItsTangent - - module subroutine source_damage_isoBrittle_deltaState(C, Fe, co, ip, el) - integer, intent(in) :: & - co, & !< component-ID of integration point - ip, & !< integration point - el !< element - real(pReal), intent(in), dimension(3,3) :: & - Fe - real(pReal), intent(in), dimension(6,6) :: & - C - end subroutine source_damage_isoBrittle_deltaState - - module subroutine constitutive_plastic_dependentState(co,ip,el) integer, intent(in) :: & co, & !< component-ID of integration point diff --git a/src/constitutive_damage.f90 b/src/constitutive_damage.f90 index 46f2a3057..235fb8967 100644 --- a/src/constitutive_damage.f90 +++ b/src/constitutive_damage.f90 @@ -45,6 +45,14 @@ submodule(constitutive) constitutive_damage logical, dimension(:,:), allocatable :: myKinematics end function kinematics_slipplane_opening_init + module subroutine source_damage_isoBrittle_deltaState(C, Fe, ph, me) + integer, intent(in) :: ph,me + real(pReal), intent(in), dimension(3,3) :: & + Fe + real(pReal), intent(in), dimension(6,6) :: & + C + end subroutine source_damage_isoBrittle_deltaState + module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) integer, intent(in) :: & @@ -295,7 +303,7 @@ module function integrateDamageState(dt,co,ip,el) result(broken) enddo if(converged_) then - broken = constitutive_damage_deltaState(mech_F_e(ph,me),co,ip,el,ph,me) + broken = constitutive_damage_deltaState(mech_F_e(ph,me),ph,me) exit iteration endif @@ -411,12 +419,9 @@ end function constitutive_damage_collectDotState !> @brief for constitutive models having an instantaneous change of state !> will return false if delta state is not needed/supported by the constitutive model !-------------------------------------------------------------------------------------------------- -function constitutive_damage_deltaState(Fe, co, ip, el, ph, me) result(broken) +function constitutive_damage_deltaState(Fe, ph, me) result(broken) integer, intent(in) :: & - co, & !< component-ID me integration point - ip, & !< integration point - el, & !< element ph, & me real(pReal), intent(in), dimension(3,3) :: & @@ -436,7 +441,7 @@ function constitutive_damage_deltaState(Fe, co, ip, el, ph, me) result(broken) sourceType: select case (phase_source(so,ph)) case (DAMAGE_ISOBRITTLE_ID) sourceType - call source_damage_isoBrittle_deltaState(constitutive_homogenizedC(ph,me), Fe, co, ip, el) + call source_damage_isoBrittle_deltaState(constitutive_homogenizedC(ph,me), Fe, ph,me) broken = any(IEEE_is_NaN(damageState(ph)%p(so)%deltaState(:,me))) if(.not. broken) then myOffset = damageState(ph)%p(so)%offsetDeltaState diff --git a/src/source_damage_isoBrittle.f90 b/src/source_damage_isoBrittle.f90 index b2da8411f..cff993e7f 100644 --- a/src/source_damage_isoBrittle.f90 +++ b/src/source_damage_isoBrittle.f90 @@ -94,28 +94,21 @@ end function source_damage_isoBrittle_init !-------------------------------------------------------------------------------------------------- !> @brief calculates derived quantities from state !-------------------------------------------------------------------------------------------------- -module subroutine source_damage_isoBrittle_deltaState(C, Fe, co, ip, el) +module subroutine source_damage_isoBrittle_deltaState(C, Fe, ph,me) - integer, intent(in) :: & - co, & !< component-ID of integration point - ip, & !< integration point - el !< element + integer, intent(in) :: ph,me real(pReal), intent(in), dimension(3,3) :: & Fe real(pReal), intent(in), dimension(6,6) :: & C integer :: & - ph, & - me, & sourceOffset real(pReal), dimension(6) :: & strain real(pReal) :: & strainenergy - ph = material_phaseAt(co,el) !< ph ID at co,ip,el - me = material_phasememberAt(co,ip,el) !< state array offset for ph ID at co,ip,el sourceOffset = source_damage_isoBrittle_offset(ph) strain = 0.5_pReal*math_sym33to6(matmul(transpose(Fe),Fe)-math_I3)