fixed missing propagation of dependent state variables
This commit is contained in:
parent
803b342188
commit
a16454f1f9
|
@ -174,7 +174,8 @@ subroutine crystallite_init
|
||||||
use config, only: &
|
use config, only: &
|
||||||
config_deallocate, &
|
config_deallocate, &
|
||||||
config_crystallite, &
|
config_crystallite, &
|
||||||
crystallite_name
|
crystallite_name, &
|
||||||
|
material_Nphase
|
||||||
use constitutive, only: &
|
use constitutive, only: &
|
||||||
constitutive_initialFi, &
|
constitutive_initialFi, &
|
||||||
constitutive_microstructure ! derived (shortcut) quantities of given state
|
constitutive_microstructure ! derived (shortcut) quantities of given state
|
||||||
|
@ -187,7 +188,8 @@ subroutine crystallite_init
|
||||||
i, & !< counter in integration point loop
|
i, & !< counter in integration point loop
|
||||||
e, & !< counter in element loop
|
e, & !< counter in element loop
|
||||||
o = 0_pInt, & !< counter in output loop
|
o = 0_pInt, & !< counter in output loop
|
||||||
r, & !< counter in crystallite loop
|
r, &
|
||||||
|
ph, & !< counter in crystallite loop
|
||||||
cMax, & !< maximum number of integration point components
|
cMax, & !< maximum number of integration point components
|
||||||
iMax, & !< maximum number of integration points
|
iMax, & !< maximum number of integration points
|
||||||
eMax, & !< maximum number of elements
|
eMax, & !< maximum number of elements
|
||||||
|
@ -421,6 +423,19 @@ subroutine crystallite_init
|
||||||
enddo
|
enddo
|
||||||
!$OMP END PARALLEL DO
|
!$OMP END PARALLEL DO
|
||||||
|
|
||||||
|
do ph = 1_pInt,material_Nphase
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
! propagate dependent states to materialpoint and boundary value problem level
|
||||||
|
plasticState(ph)%partionedState0(plasticState(ph)%offsetDeltaState+plasticState(ph)%sizeDeltaState: &
|
||||||
|
plasticState(ph)%sizeState,:) &
|
||||||
|
= plasticState(ph)%state(plasticState(ph)%offsetDeltaState+plasticState(ph)%sizeDeltaState: &
|
||||||
|
plasticState(ph)%sizeState,:)
|
||||||
|
plasticState(ph)%state0 (plasticState(ph)%offsetDeltaState+plasticState(ph)%sizeDeltaState: &
|
||||||
|
plasticState(ph)%sizeState,:) &
|
||||||
|
= plasticState(ph)%state(plasticState(ph)%offsetDeltaState+plasticState(ph)%sizeDeltaState: &
|
||||||
|
plasticState(ph)%sizeState,:)
|
||||||
|
enddo
|
||||||
|
|
||||||
call crystallite_stressAndItsTangent(.true.) ! request elastic answers
|
call crystallite_stressAndItsTangent(.true.) ! request elastic answers
|
||||||
crystallite_fallbackdPdF = crystallite_dPdF ! use initial elastic stiffness as fallback
|
crystallite_fallbackdPdF = crystallite_dPdF ! use initial elastic stiffness as fallback
|
||||||
|
|
||||||
|
@ -614,6 +629,7 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
|
||||||
if (crystallite_requested(c,i,e)) then
|
if (crystallite_requested(c,i,e)) then
|
||||||
plasticState (phaseAt(c,i,e))%subState0( :,phasememberAt(c,i,e)) = &
|
plasticState (phaseAt(c,i,e))%subState0( :,phasememberAt(c,i,e)) = &
|
||||||
plasticState (phaseAt(c,i,e))%partionedState0(:,phasememberAt(c,i,e))
|
plasticState (phaseAt(c,i,e))%partionedState0(:,phasememberAt(c,i,e))
|
||||||
|
|
||||||
do mySource = 1_pInt, phase_Nsources(phaseAt(c,i,e))
|
do mySource = 1_pInt, phase_Nsources(phaseAt(c,i,e))
|
||||||
sourceState(phaseAt(c,i,e))%p(mySource)%subState0( :,phasememberAt(c,i,e)) = &
|
sourceState(phaseAt(c,i,e))%p(mySource)%subState0( :,phasememberAt(c,i,e)) = &
|
||||||
sourceState(phaseAt(c,i,e))%p(mySource)%partionedState0(:,phasememberAt(c,i,e))
|
sourceState(phaseAt(c,i,e))%p(mySource)%partionedState0(:,phasememberAt(c,i,e))
|
||||||
|
|
Loading…
Reference in New Issue