prepare for consistent use of full tensor representation
This commit is contained in:
parent
ff5de988ee
commit
a458dc831b
|
@ -854,7 +854,7 @@ subroutine constitutive_collectDotState(S6, FeArray, Fi, FpArray, subdt, subfrac
|
||||||
integer(pInt) :: &
|
integer(pInt) :: &
|
||||||
ho, & !< homogenization
|
ho, & !< homogenization
|
||||||
tme, & !< thermal member position
|
tme, & !< thermal member position
|
||||||
s, & !< counter in source loop
|
s, & !< counter in source loop
|
||||||
instance, of
|
instance, of
|
||||||
|
|
||||||
ho = material_homogenizationAt(el)
|
ho = material_homogenizationAt(el)
|
||||||
|
@ -920,7 +920,7 @@ end subroutine constitutive_collectDotState
|
||||||
!> @brief for constitutive models having an instantaneous change of state
|
!> @brief for constitutive models having an instantaneous change of state
|
||||||
!> will return false if delta state is not needed/supported by the constitutive model
|
!> will return false if delta state is not needed/supported by the constitutive model
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine constitutive_collectDeltaState(S6, Fe, Fi, ipc, ip, el)
|
subroutine constitutive_collectDeltaState(S, Fe, Fi, ipc, ip, el)
|
||||||
use prec, only: &
|
use prec, only: &
|
||||||
pReal, &
|
pReal, &
|
||||||
pLongInt
|
pLongInt
|
||||||
|
@ -929,8 +929,7 @@ subroutine constitutive_collectDeltaState(S6, Fe, Fi, ipc, ip, el)
|
||||||
debug_constitutive, &
|
debug_constitutive, &
|
||||||
debug_levelBasic
|
debug_levelBasic
|
||||||
use math, only: &
|
use math, only: &
|
||||||
math_Mandel6to33, &
|
math_sym33to6, &
|
||||||
math_Mandel33to6, &
|
|
||||||
math_mul33x33
|
math_mul33x33
|
||||||
use material, only: &
|
use material, only: &
|
||||||
phasememberAt, &
|
phasememberAt, &
|
||||||
|
@ -954,18 +953,17 @@ subroutine constitutive_collectDeltaState(S6, Fe, Fi, ipc, ip, el)
|
||||||
ipc, & !< component-ID of integration point
|
ipc, & !< component-ID of integration point
|
||||||
ip, & !< integration point
|
ip, & !< integration point
|
||||||
el !< element
|
el !< element
|
||||||
real(pReal), intent(in), dimension(6) :: &
|
|
||||||
S6 !< 2nd Piola Kirchhoff stress (vector notation)
|
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
|
S, & !< 2nd Piola Kirchhoff stress
|
||||||
Fe, & !< elastic deformation gradient
|
Fe, & !< elastic deformation gradient
|
||||||
Fi !< intermediate deformation gradient
|
Fi !< intermediate deformation gradient
|
||||||
real(pReal), dimension(3,3) :: &
|
real(pReal), dimension(3,3) :: &
|
||||||
Mp
|
Mp
|
||||||
integer(pInt) :: &
|
integer(pInt) :: &
|
||||||
s, & !< counter in source loop
|
i, &
|
||||||
instance, of
|
instance, of
|
||||||
|
|
||||||
Mp = math_mul33x33(math_mul33x33(transpose(Fi),Fi),math_Mandel6to33(S6))
|
Mp = math_mul33x33(math_mul33x33(transpose(Fi),Fi),S)
|
||||||
|
|
||||||
plasticityType: select case (phase_plasticity(material_phase(ipc,ip,el)))
|
plasticityType: select case (phase_plasticity(material_phase(ipc,ip,el)))
|
||||||
|
|
||||||
|
@ -975,13 +973,13 @@ subroutine constitutive_collectDeltaState(S6, Fe, Fi, ipc, ip, el)
|
||||||
call plastic_kinehardening_deltaState(Mp,instance,of)
|
call plastic_kinehardening_deltaState(Mp,instance,of)
|
||||||
|
|
||||||
case (PLASTICITY_NONLOCAL_ID) plasticityType
|
case (PLASTICITY_NONLOCAL_ID) plasticityType
|
||||||
call plastic_nonlocal_deltaState(math_Mandel33to6(Mp),ip,el)
|
call plastic_nonlocal_deltaState(math_sym33to6(Mp),ip,el)
|
||||||
|
|
||||||
end select plasticityType
|
end select plasticityType
|
||||||
|
|
||||||
sourceLoop: do s = 1_pInt, phase_Nsources(material_phase(ipc,ip,el))
|
sourceLoop: do i = 1_pInt, phase_Nsources(material_phase(ipc,ip,el))
|
||||||
|
|
||||||
sourceType: select case (phase_source(s,material_phase(ipc,ip,el)))
|
sourceType: select case (phase_source(i,material_phase(ipc,ip,el)))
|
||||||
|
|
||||||
case (SOURCE_damage_isoBrittle_ID) sourceType
|
case (SOURCE_damage_isoBrittle_ID) sourceType
|
||||||
call source_damage_isoBrittle_deltaState (constitutive_homogenizedC(ipc,ip,el), Fe, &
|
call source_damage_isoBrittle_deltaState (constitutive_homogenizedC(ipc,ip,el), Fe, &
|
||||||
|
|
|
@ -2958,6 +2958,8 @@ logical function stateJump(ipc,ip,el)
|
||||||
phaseAt, phasememberAt
|
phaseAt, phasememberAt
|
||||||
use constitutive, only: &
|
use constitutive, only: &
|
||||||
constitutive_collectDeltaState
|
constitutive_collectDeltaState
|
||||||
|
use math, only: &
|
||||||
|
math_6toSym33
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
integer(pInt), intent(in):: &
|
integer(pInt), intent(in):: &
|
||||||
|
@ -2977,7 +2979,7 @@ logical function stateJump(ipc,ip,el)
|
||||||
c = phasememberAt(ipc,ip,el)
|
c = phasememberAt(ipc,ip,el)
|
||||||
p = phaseAt(ipc,ip,el)
|
p = phaseAt(ipc,ip,el)
|
||||||
|
|
||||||
call constitutive_collectDeltaState(crystallite_Tstar_v(1:6,ipc,ip,el), &
|
call constitutive_collectDeltaState(math_6toSym33(crystallite_Tstar_v(1:6,ipc,ip,el)), &
|
||||||
crystallite_Fe(1:3,1:3,ipc,ip,el), &
|
crystallite_Fe(1:3,1:3,ipc,ip,el), &
|
||||||
crystallite_Fi(1:3,1:3,ipc,ip,el), &
|
crystallite_Fi(1:3,1:3,ipc,ip,el), &
|
||||||
ipc,ip,el)
|
ipc,ip,el)
|
||||||
|
|
Loading…
Reference in New Issue