shortened
This commit is contained in:
parent
820aa25e12
commit
830e2a3a99
|
@ -151,7 +151,7 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
|
||||||
NiterationMPstate, &
|
NiterationMPstate, &
|
||||||
ip, & !< integration point number
|
ip, & !< integration point number
|
||||||
el, & !< element number
|
el, & !< element number
|
||||||
myNgrains, co, ce, ho
|
myNgrains, co, ce, ho, me
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
subFrac, &
|
subFrac, &
|
||||||
subStep
|
subStep
|
||||||
|
@ -164,6 +164,7 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
|
||||||
!$OMP PARALLEL DO PRIVATE(ce,ho,myNgrains,NiterationMPstate,subFrac,converged,subStep,doneAndHappy)
|
!$OMP PARALLEL DO PRIVATE(ce,ho,myNgrains,NiterationMPstate,subFrac,converged,subStep,doneAndHappy)
|
||||||
do el = FEsolving_execElem(1),FEsolving_execElem(2)
|
do el = FEsolving_execElem(1),FEsolving_execElem(2)
|
||||||
ho = material_homogenizationAt(el)
|
ho = material_homogenizationAt(el)
|
||||||
|
me = material_homogenizationMemberAt(ip,el)
|
||||||
myNgrains = homogenization_Nconstituents(ho)
|
myNgrains = homogenization_Nconstituents(ho)
|
||||||
do ip = FEsolving_execIP(1),FEsolving_execIP(2)
|
do ip = FEsolving_execIP(1),FEsolving_execIP(2)
|
||||||
|
|
||||||
|
@ -176,12 +177,9 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
|
||||||
subStep = 1.0_pReal/num%subStepSizeHomog ! ... larger then the requested calculation
|
subStep = 1.0_pReal/num%subStepSizeHomog ! ... larger then the requested calculation
|
||||||
|
|
||||||
if (homogState(ho)%sizeState > 0) &
|
if (homogState(ho)%sizeState > 0) &
|
||||||
homogState(ho)%subState0(:,material_homogenizationMemberAt(ip,el)) = &
|
homogState(ho)%subState0(:,me) = homogState(ho)%State0(:,me)
|
||||||
homogState(ho)%State0( :,material_homogenizationMemberAt(ip,el))
|
|
||||||
|
|
||||||
if (damageState(ho)%sizeState > 0) &
|
if (damageState(ho)%sizeState > 0) &
|
||||||
damageState(ho)%subState0(:,material_homogenizationMemberAt(ip,el)) = &
|
damageState(ho)%subState0(:,me) = damageState(ho)%State0(:,me)
|
||||||
damageState(ho)%State0( :,material_homogenizationMemberAt(ip,el))
|
|
||||||
|
|
||||||
cutBackLooping: do while (.not. terminallyIll .and. subStep > num%subStepMinHomog)
|
cutBackLooping: do while (.not. terminallyIll .and. subStep > num%subStepMinHomog)
|
||||||
|
|
||||||
|
@ -195,11 +193,9 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
|
||||||
call constitutive_windForward(ip,el)
|
call constitutive_windForward(ip,el)
|
||||||
|
|
||||||
if(homogState(ho)%sizeState > 0) &
|
if(homogState(ho)%sizeState > 0) &
|
||||||
homogState(ho)%subState0(:,material_homogenizationMemberAt(ip,el)) = &
|
homogState(ho)%subState0(:,me) = homogState(ho)%State(:,me)
|
||||||
homogState(ho)%State (:,material_homogenizationMemberAt(ip,el))
|
|
||||||
if(damageState(ho)%sizeState > 0) &
|
if(damageState(ho)%sizeState > 0) &
|
||||||
damageState(ho)%subState0(:,material_homogenizationMemberAt(ip,el)) = &
|
damageState(ho)%subState0(:,me) = damageState(ho)%State(:,me)
|
||||||
damageState(ho)%State (:,material_homogenizationMemberAt(ip,el))
|
|
||||||
|
|
||||||
endif steppingNeeded
|
endif steppingNeeded
|
||||||
elseif ( (myNgrains == 1 .and. subStep <= 1.0 ) .or. & ! single grain already tried internal subStepping in crystallite
|
elseif ( (myNgrains == 1 .and. subStep <= 1.0 ) .or. & ! single grain already tried internal subStepping in crystallite
|
||||||
|
@ -214,11 +210,9 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
|
||||||
call constitutive_restore(ip,el,subStep < 1.0_pReal)
|
call constitutive_restore(ip,el,subStep < 1.0_pReal)
|
||||||
|
|
||||||
if(homogState(ho)%sizeState > 0) &
|
if(homogState(ho)%sizeState > 0) &
|
||||||
homogState(ho)%State( :,material_homogenizationMemberAt(ip,el)) = &
|
homogState(ho)%State(:,me) = homogState(ho)%subState0(:,me)
|
||||||
homogState(ho)%subState0(:,material_homogenizationMemberAt(ip,el))
|
|
||||||
if(damageState(ho)%sizeState > 0) &
|
if(damageState(ho)%sizeState > 0) &
|
||||||
damageState(ho)%State( :,material_homogenizationMemberAt(ip,el)) = &
|
damageState(ho)%State(:,me) = damageState(ho)%subState0(:,me)
|
||||||
damageState(ho)%subState0(:,material_homogenizationMemberAt(ip,el))
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (subStep > num%subStepMinHomog) doneAndHappy = [.false.,.true.]
|
if (subStep > num%subStepMinHomog) doneAndHappy = [.false.,.true.]
|
||||||
|
|
Loading…
Reference in New Issue