polishing
This commit is contained in:
parent
5f569b1412
commit
6bba7a509a
|
@ -1049,13 +1049,14 @@ end subroutine constitutive_windForward
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief Calculate tangent (dPdF).
|
!> @brief Calculate tangent (dPdF).
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
function crystallite_stressTangent(co,ip,el) result(dPdF)
|
function crystallite_stressTangent(dt,co,ip,el) result(dPdF)
|
||||||
|
|
||||||
real(pReal), dimension(3,3,3,3) :: dPdF
|
real(pReal), intent(in) :: dt
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, & !< counter in constituent loop
|
co, & !< counter in constituent loop
|
||||||
ip, & !< counter in integration point loop
|
ip, & !< counter in integration point loop
|
||||||
el !< counter in element loop
|
el !< counter in element loop
|
||||||
|
real(pReal), dimension(3,3,3,3) :: dPdF
|
||||||
|
|
||||||
integer :: &
|
integer :: &
|
||||||
o, &
|
o, &
|
||||||
|
|
|
@ -1492,7 +1492,6 @@ module function crystallite_stress(dt,co,ip,el) result(converged_)
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
formerSubStep
|
formerSubStep
|
||||||
integer :: &
|
integer :: &
|
||||||
NiterationCrystallite, & ! number of iterations in crystallite loop
|
|
||||||
so, ph, me, sizeDotState
|
so, ph, me, sizeDotState
|
||||||
logical :: todo
|
logical :: todo
|
||||||
real(pReal) :: subFrac,subStep
|
real(pReal) :: subFrac,subStep
|
||||||
|
@ -1527,12 +1526,8 @@ module function crystallite_stress(dt,co,ip,el) result(converged_)
|
||||||
converged_ = .false. ! pretend failed step of 1/subStepSizeCryst
|
converged_ = .false. ! pretend failed step of 1/subStepSizeCryst
|
||||||
|
|
||||||
todo = .true.
|
todo = .true.
|
||||||
NiterationCrystallite = 0
|
|
||||||
cutbackLooping: do while (todo)
|
cutbackLooping: do while (todo)
|
||||||
NiterationCrystallite = NiterationCrystallite + 1
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
! wind forward
|
|
||||||
if (converged_) then
|
if (converged_) then
|
||||||
formerSubStep = subStep
|
formerSubStep = subStep
|
||||||
subFrac = subFrac + subStep
|
subFrac = subFrac + subStep
|
||||||
|
@ -1596,19 +1591,21 @@ module subroutine mech_restore(ip,el,includeL)
|
||||||
el !< element number
|
el !< element number
|
||||||
logical, intent(in) :: &
|
logical, intent(in) :: &
|
||||||
includeL !< protect agains fake cutback
|
includeL !< protect agains fake cutback
|
||||||
|
|
||||||
integer :: &
|
integer :: &
|
||||||
co, p, m !< constituent number
|
co, ph, me
|
||||||
|
|
||||||
|
|
||||||
do co = 1,homogenization_Nconstituents(material_homogenizationAt(el))
|
do co = 1,homogenization_Nconstituents(material_homogenizationAt(el))
|
||||||
p = material_phaseAt(co,el)
|
ph = material_phaseAt(co,el)
|
||||||
m = material_phaseMemberAt(co,ip,el)
|
me = material_phaseMemberAt(co,ip,el)
|
||||||
if (includeL) then
|
if (includeL) then
|
||||||
crystallite_Lp(1:3,1:3,co,ip,el) = crystallite_partitionedLp0(1:3,1:3,co,ip,el)
|
crystallite_Lp(1:3,1:3,co,ip,el) = crystallite_partitionedLp0(1:3,1:3,co,ip,el)
|
||||||
constitutive_mech_Li(p)%data(1:3,1:3,m) = constitutive_mech_partitionedLi0(p)%data(1:3,1:3,m)
|
constitutive_mech_Li(ph)%data(1:3,1:3,me) = constitutive_mech_partitionedLi0(ph)%data(1:3,1:3,me)
|
||||||
endif ! maybe protecting everything from overwriting makes more sense
|
endif ! maybe protecting everything from overwriting makes more sense
|
||||||
|
|
||||||
constitutive_mech_Fp(p)%data(1:3,1:3,m) = constitutive_mech_partitionedFp0(p)%data(1:3,1:3,m)
|
constitutive_mech_Fp(ph)%data(1:3,1:3,me) = constitutive_mech_partitionedFp0(ph)%data(1:3,1:3,me)
|
||||||
constitutive_mech_Fi(p)%data(1:3,1:3,m) = constitutive_mech_partitionedFi0(p)%data(1:3,1:3,m)
|
constitutive_mech_Fi(ph)%data(1:3,1:3,me) = constitutive_mech_partitionedFi0(ph)%data(1:3,1:3,me)
|
||||||
crystallite_S (1:3,1:3,co,ip,el) = crystallite_partitionedS0 (1:3,1:3,co,ip,el)
|
crystallite_S (1:3,1:3,co,ip,el) = crystallite_partitionedS0 (1:3,1:3,co,ip,el)
|
||||||
|
|
||||||
plasticState (material_phaseAt(co,el))%state( :,material_phasememberAt(co,ip,el)) = &
|
plasticState (material_phaseAt(co,el))%state( :,material_phasememberAt(co,ip,el)) = &
|
||||||
|
|
Loading…
Reference in New Issue