simplified
This commit is contained in:
parent
261f32d7c9
commit
47724be32b
|
@ -343,19 +343,6 @@ module constitutive
|
||||||
dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero)
|
dLi_dTstar !< derivative of Li with respect to Tstar (4th-order tensor defined to be zero)
|
||||||
end subroutine kinematics_thermal_expansion_LiAndItsTangent
|
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)
|
module subroutine constitutive_plastic_dependentState(co,ip,el)
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< component-ID of integration point
|
co, & !< component-ID of integration point
|
||||||
|
|
|
@ -45,6 +45,14 @@ submodule(constitutive) constitutive_damage
|
||||||
logical, dimension(:,:), allocatable :: myKinematics
|
logical, dimension(:,:), allocatable :: myKinematics
|
||||||
end function kinematics_slipplane_opening_init
|
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)
|
module subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent)
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
|
@ -295,7 +303,7 @@ module function integrateDamageState(dt,co,ip,el) result(broken)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
if(converged_) then
|
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
|
exit iteration
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -411,12 +419,9 @@ end function constitutive_damage_collectDotState
|
||||||
!> @brief for constitutive models having an instantaneous change of state
|
!> @brief for constitutive models having an instantaneous change of state
|
||||||
!> will return false if delta state is not needed/supported by the constitutive model
|
!> 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) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< component-ID me integration point
|
|
||||||
ip, & !< integration point
|
|
||||||
el, & !< element
|
|
||||||
ph, &
|
ph, &
|
||||||
me
|
me
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
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))
|
sourceType: select case (phase_source(so,ph))
|
||||||
|
|
||||||
case (DAMAGE_ISOBRITTLE_ID) sourceType
|
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)))
|
broken = any(IEEE_is_NaN(damageState(ph)%p(so)%deltaState(:,me)))
|
||||||
if(.not. broken) then
|
if(.not. broken) then
|
||||||
myOffset = damageState(ph)%p(so)%offsetDeltaState
|
myOffset = damageState(ph)%p(so)%offsetDeltaState
|
||||||
|
|
|
@ -94,28 +94,21 @@ end function source_damage_isoBrittle_init
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief calculates derived quantities from state
|
!> @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) :: &
|
integer, intent(in) :: ph,me
|
||||||
co, & !< component-ID of integration point
|
|
||||||
ip, & !< integration point
|
|
||||||
el !< element
|
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
Fe
|
Fe
|
||||||
real(pReal), intent(in), dimension(6,6) :: &
|
real(pReal), intent(in), dimension(6,6) :: &
|
||||||
C
|
C
|
||||||
|
|
||||||
integer :: &
|
integer :: &
|
||||||
ph, &
|
|
||||||
me, &
|
|
||||||
sourceOffset
|
sourceOffset
|
||||||
real(pReal), dimension(6) :: &
|
real(pReal), dimension(6) :: &
|
||||||
strain
|
strain
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
strainenergy
|
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)
|
sourceOffset = source_damage_isoBrittle_offset(ph)
|
||||||
|
|
||||||
strain = 0.5_pReal*math_sym33to6(matmul(transpose(Fe),Fe)-math_I3)
|
strain = 0.5_pReal*math_sym33to6(matmul(transpose(Fe),Fe)-math_I3)
|
||||||
|
|
Loading…
Reference in New Issue