only needed in one loop
This commit is contained in:
parent
822fafc9b6
commit
ba9ad3a8c2
|
@ -48,7 +48,6 @@ module constitutive
|
||||||
crystallite_orientation !< current orientation
|
crystallite_orientation !< current orientation
|
||||||
real(pReal), dimension(:,:,:,:,:), allocatable :: &
|
real(pReal), dimension(:,:,:,:,:), allocatable :: &
|
||||||
crystallite_F0, & !< def grad at start of FE inc
|
crystallite_F0, & !< def grad at start of FE inc
|
||||||
crystallite_subF, & !< def grad to be reached at end of crystallite inc
|
|
||||||
crystallite_Fe, & !< current "elastic" def grad (end of converged time step)
|
crystallite_Fe, & !< current "elastic" def grad (end of converged time step)
|
||||||
crystallite_subFp0,& !< plastic def grad at start of crystallite inc
|
crystallite_subFp0,& !< plastic def grad at start of crystallite inc
|
||||||
crystallite_subFi0,& !< intermediate def grad at start of crystallite inc
|
crystallite_subFi0,& !< intermediate def grad at start of crystallite inc
|
||||||
|
@ -875,7 +874,6 @@ subroutine crystallite_init
|
||||||
crystallite_partitionedLp0, &
|
crystallite_partitionedLp0, &
|
||||||
crystallite_S,crystallite_P, &
|
crystallite_S,crystallite_P, &
|
||||||
crystallite_Fe,crystallite_Lp, &
|
crystallite_Fe,crystallite_Lp, &
|
||||||
crystallite_subF, &
|
|
||||||
crystallite_subFp0,crystallite_subFi0, &
|
crystallite_subFp0,crystallite_subFi0, &
|
||||||
source = crystallite_partitionedF)
|
source = crystallite_partitionedF)
|
||||||
|
|
||||||
|
|
|
@ -1488,7 +1488,8 @@ module function crystallite_stress(dt,co,ip,el) result(converged_)
|
||||||
real(pReal), dimension(3,3) :: &
|
real(pReal), dimension(3,3) :: &
|
||||||
subLp0, & !< plastic velocity grad at start of crystallite inc
|
subLp0, & !< plastic velocity grad at start of crystallite inc
|
||||||
subLi0, & !< intermediate velocity grad at start of crystallite inc
|
subLi0, & !< intermediate velocity grad at start of crystallite inc
|
||||||
subF0
|
subF0, &
|
||||||
|
subF
|
||||||
|
|
||||||
|
|
||||||
ph = material_phaseAt(co,el)
|
ph = material_phaseAt(co,el)
|
||||||
|
@ -1525,7 +1526,7 @@ module function crystallite_stress(dt,co,ip,el) result(converged_)
|
||||||
todo = subStep > 0.0_pReal ! still time left to integrate on?
|
todo = subStep > 0.0_pReal ! still time left to integrate on?
|
||||||
|
|
||||||
if (todo) then
|
if (todo) then
|
||||||
subF0 = crystallite_subF(1:3,1:3,co,ip,el)
|
subF0 = subF
|
||||||
subLp0 = crystallite_Lp (1:3,1:3,co,ip,el)
|
subLp0 = crystallite_Lp (1:3,1:3,co,ip,el)
|
||||||
subLi0 = constitutive_mech_Li(ph)%data(1:3,1:3,me)
|
subLi0 = constitutive_mech_Li(ph)%data(1:3,1:3,me)
|
||||||
crystallite_subFp0(1:3,1:3,co,ip,el) = constitutive_mech_Fp(ph)%data(1:3,1:3,me)
|
crystallite_subFp0(1:3,1:3,co,ip,el) = constitutive_mech_Fp(ph)%data(1:3,1:3,me)
|
||||||
|
@ -1561,15 +1562,12 @@ module function crystallite_stress(dt,co,ip,el) result(converged_)
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! prepare for integration
|
! prepare for integration
|
||||||
if (todo) then
|
if (todo) then
|
||||||
crystallite_subF(1:3,1:3,co,ip,el) = subF0 &
|
subF = subF0 &
|
||||||
+ subStep *( crystallite_partitionedF (1:3,1:3,co,ip,el) &
|
+ subStep * (crystallite_partitionedF(1:3,1:3,co,ip,el) -crystallite_partitionedF0(1:3,1:3,co,ip,el))
|
||||||
-crystallite_partitionedF0(1:3,1:3,co,ip,el))
|
crystallite_Fe(1:3,1:3,co,ip,el) = matmul(subF,math_inv33(matmul(constitutive_mech_Fi(ph)%data(1:3,1:3,me), &
|
||||||
crystallite_Fe(1:3,1:3,co,ip,el) = matmul(crystallite_subF(1:3,1:3,co,ip,el), &
|
constitutive_mech_Fp(ph)%data(1:3,1:3,me))))
|
||||||
math_inv33(matmul(constitutive_mech_Fi(ph)%data(1:3,1:3,me), &
|
|
||||||
constitutive_mech_Fp(ph)%data(1:3,1:3,me))))
|
|
||||||
crystallite_subdt(co,ip,el) = subStep * dt
|
crystallite_subdt(co,ip,el) = subStep * dt
|
||||||
converged_ = .not. integrateState(subF0,crystallite_subF(1:3,1:3,co,ip,el),&
|
converged_ = .not. integrateState(subF0,subF,subStep * dt,co,ip,el)
|
||||||
subStep * dt,co,ip,el)
|
|
||||||
converged_ = converged_ .and. .not. integrateSourceState(subStep * dt,co,ip,el)
|
converged_ = converged_ .and. .not. integrateSourceState(subStep * dt,co,ip,el)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue