update of dependent state always in conjunction with state integration
This commit is contained in:
parent
54e3455bd4
commit
570c042100
|
@ -849,6 +849,9 @@ logical function integrateStress(ipc,ip,el,timeFraction)
|
||||||
F = crystallite_subF(1:3,1:3,ipc,ip,el)
|
F = crystallite_subF(1:3,1:3,ipc,ip,el)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,ipc,ip,el), &
|
||||||
|
crystallite_Fp(1:3,1:3,ipc,ip,el),ipc,ip,el)
|
||||||
|
|
||||||
Lpguess = crystallite_Lp(1:3,1:3,ipc,ip,el) ! take as first guess
|
Lpguess = crystallite_Lp(1:3,1:3,ipc,ip,el) ! take as first guess
|
||||||
Liguess = crystallite_Li(1:3,1:3,ipc,ip,el) ! take as first guess
|
Liguess = crystallite_Li(1:3,1:3,ipc,ip,el) ! take as first guess
|
||||||
|
|
||||||
|
@ -1060,10 +1063,6 @@ subroutine integrateStateFPI
|
||||||
source_dotState(1:sizeDotState,1,s) = sourceState(p)%p(s)%dotState(:,c)
|
source_dotState(1:sizeDotState,1,s) = sourceState(p)%p(s)%dotState(:,c)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,g,i,e), &
|
|
||||||
crystallite_Fp(1:3,1:3,g,i,e), &
|
|
||||||
g, i, e)
|
|
||||||
|
|
||||||
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
||||||
if(.not. crystallite_todo(g,i,e)) exit iteration
|
if(.not. crystallite_todo(g,i,e)) exit iteration
|
||||||
|
|
||||||
|
@ -1202,10 +1201,6 @@ subroutine integrateStateEuler
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
if(.not. crystallite_todo(g,i,e)) cycle
|
if(.not. crystallite_todo(g,i,e)) cycle
|
||||||
|
|
||||||
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,g,i,e), &
|
|
||||||
crystallite_Fp(1:3,1:3,g,i,e), &
|
|
||||||
g, i, e)
|
|
||||||
|
|
||||||
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
||||||
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
|
@ -1281,10 +1276,6 @@ subroutine integrateStateAdaptiveEuler
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
if(.not. crystallite_todo(g,i,e)) cycle
|
if(.not. crystallite_todo(g,i,e)) cycle
|
||||||
|
|
||||||
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,g,i,e), &
|
|
||||||
crystallite_Fp(1:3,1:3,g,i,e), &
|
|
||||||
g, i, e)
|
|
||||||
|
|
||||||
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
||||||
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
|
@ -1415,10 +1406,6 @@ subroutine integrateStateRK4
|
||||||
* crystallite_subdt(g,i,e)
|
* crystallite_subdt(g,i,e)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,g,i,e), &
|
|
||||||
crystallite_Fp(1:3,1:3,g,i,e), &
|
|
||||||
g, i, e)
|
|
||||||
|
|
||||||
crystallite_todo(g,i,e) = integrateStress(g,i,e,CC(stage))
|
crystallite_todo(g,i,e) = integrateStress(g,i,e,CC(stage))
|
||||||
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
|
@ -1466,14 +1453,6 @@ subroutine integrateStateRK4
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
if(.not. crystallite_todo(g,i,e)) cycle
|
if(.not. crystallite_todo(g,i,e)) cycle
|
||||||
|
|
||||||
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,g,i,e), &
|
|
||||||
crystallite_Fp(1:3,1:3,g,i,e), &
|
|
||||||
g, i, e)
|
|
||||||
|
|
||||||
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
|
||||||
nonlocalBroken = .true.
|
|
||||||
if(.not. crystallite_todo(g,i,e)) cycle
|
|
||||||
|
|
||||||
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
||||||
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
|
@ -1583,10 +1562,6 @@ subroutine integrateStateRKCK45
|
||||||
* crystallite_subdt(g,i,e)
|
* crystallite_subdt(g,i,e)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,g,i,e), &
|
|
||||||
crystallite_Fp(1:3,1:3,g,i,e), &
|
|
||||||
g, i, e)
|
|
||||||
|
|
||||||
crystallite_todo(g,i,e) = integrateStress(g,i,e,CC(stage))
|
crystallite_todo(g,i,e) = integrateStress(g,i,e,CC(stage))
|
||||||
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
|
@ -1644,10 +1619,6 @@ subroutine integrateStateRKCK45
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
if(.not. crystallite_todo(g,i,e)) cycle
|
if(.not. crystallite_todo(g,i,e)) cycle
|
||||||
|
|
||||||
call constitutive_dependentState(crystallite_partionedF(1:3,1:3,g,i,e), &
|
|
||||||
crystallite_Fp(1:3,1:3,g,i,e), &
|
|
||||||
g, i, e)
|
|
||||||
|
|
||||||
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
crystallite_todo(g,i,e) = integrateStress(g,i,e)
|
||||||
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
if(.not. (crystallite_todo(g,i,e) .or. crystallite_localPlasticity(g,i,e))) &
|
||||||
nonlocalBroken = .true.
|
nonlocalBroken = .true.
|
||||||
|
|
Loading…
Reference in New Issue