corrected missing initialization. newState = oldState + deltaState. But for irreversibility driving force must be compared with last converged subState.

This commit is contained in:
Luv Sharma 2015-07-06 09:34:43 +00:00
parent 3d5a85e4af
commit 4435244681
1 changed files with 5 additions and 3 deletions

View File

@ -277,6 +277,7 @@ subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el)
instance = source_damage_isoBrittle_instance(phase)
sourceOffset = source_damage_isoBrittle_offset(phase)
stiffness = C
do mech = 1_pInt, phase_NstiffnessDegradations(phase)
select case(phase_stiffnessDegradation(mech,phase))
case (STIFFNESS_DEGRADATION_porosity_ID)
@ -289,12 +290,13 @@ subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el)
strainenergy = 2.0_pReal*sum(strain*math_mul66x6(stiffness,strain))/ &
source_damage_isoBrittle_critStrainEnergy(instance)
if (strainenergy > sourceState(phase)%p(sourceOffset)%state(1,constituent)) then
if (strainenergy > sourceState(phase)%p(sourceOffset)%subState0(1,constituent)) then
sourceState(phase)%p(sourceOffset)%deltaState(1,constituent) = &
strainenergy - sourceState(phase)%p(sourceOffset)%state(1,constituent)
else
else
sourceState(phase)%p(sourceOffset)%deltaState(1,constituent) = &
0.0_pReal
sourceState(phase)%p(sourceOffset)%subState0(1,constituent) - &
sourceState(phase)%p(sourceOffset)%state(1,constituent)
endif
end subroutine source_damage_isoBrittle_deltaState