ip/el not of interest
This commit is contained in:
parent
8aed927989
commit
afed13e2ca
|
@ -259,7 +259,7 @@ subroutine homogenization_mechanical_response(Delta_t,FEsolving_execIP,FEsolving
|
||||||
NiterationMPstate = NiterationMPstate + 1
|
NiterationMPstate = NiterationMPstate + 1
|
||||||
|
|
||||||
call mechanical_partition(homogenization_F(1:3,1:3,ce),ce)
|
call mechanical_partition(homogenization_F(1:3,1:3,ce),ce)
|
||||||
converged = all([(phase_mechanical_constitutive(Delta_t,co,ip,el),co=1,homogenization_Nconstituents(ho))])
|
converged = all([(phase_mechanical_constitutive(Delta_t,co,ce),co=1,homogenization_Nconstituents(ho))])
|
||||||
if (converged) then
|
if (converged) then
|
||||||
doneAndHappy = mechanical_updateState(Delta_t,homogenization_F(1:3,1:3,ce),ce)
|
doneAndHappy = mechanical_updateState(Delta_t,homogenization_F(1:3,1:3,ce),ce)
|
||||||
converged = all(doneAndHappy)
|
converged = all(doneAndHappy)
|
||||||
|
@ -268,7 +268,7 @@ subroutine homogenization_mechanical_response(Delta_t,FEsolving_execIP,FEsolving
|
||||||
endif
|
endif
|
||||||
enddo convergenceLooping
|
enddo convergenceLooping
|
||||||
|
|
||||||
converged = converged .and. all([(phase_damage_constitutive(Delta_t,co,ip,el),co=1,homogenization_Nconstituents(ho))])
|
converged = converged .and. all([(phase_damage_constitutive(Delta_t,co,ce),co=1,homogenization_Nconstituents(ho))])
|
||||||
|
|
||||||
if (.not. converged) then
|
if (.not. converged) then
|
||||||
if (.not. terminallyIll) print*, ' Cell ', ce, ' terminally ill'
|
if (.not. terminallyIll) print*, ' Cell ', ce, ' terminally ill'
|
||||||
|
|
|
@ -228,15 +228,15 @@ module phase
|
||||||
|
|
||||||
end function phase_thermal_constitutive
|
end function phase_thermal_constitutive
|
||||||
|
|
||||||
module function phase_damage_constitutive(Delta_t,co,ip,el) result(converged_)
|
module function phase_damage_constitutive(Delta_t,co,ce) result(converged_)
|
||||||
real(pReal), intent(in) :: Delta_t
|
real(pReal), intent(in) :: Delta_t
|
||||||
integer, intent(in) :: co, ip, el
|
integer, intent(in) :: co, ce
|
||||||
logical :: converged_
|
logical :: converged_
|
||||||
end function phase_damage_constitutive
|
end function phase_damage_constitutive
|
||||||
|
|
||||||
module function phase_mechanical_constitutive(Delta_t,co,ip,el) result(converged_)
|
module function phase_mechanical_constitutive(Delta_t,co,ce) result(converged_)
|
||||||
real(pReal), intent(in) :: Delta_t
|
real(pReal), intent(in) :: Delta_t
|
||||||
integer, intent(in) :: co, ip, el
|
integer, intent(in) :: co, ce
|
||||||
logical :: converged_
|
logical :: converged_
|
||||||
end function phase_mechanical_constitutive
|
end function phase_mechanical_constitutive
|
||||||
|
|
||||||
|
|
|
@ -127,21 +127,20 @@ end subroutine damage_init
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief calculate stress (P)
|
!> @brief calculate stress (P)
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function phase_damage_constitutive(Delta_t,co,ip,el) result(converged_)
|
module function phase_damage_constitutive(Delta_t,co,ce) result(converged_)
|
||||||
|
|
||||||
real(pReal), intent(in) :: Delta_t
|
real(pReal), intent(in) :: Delta_t
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, &
|
co, &
|
||||||
ip, &
|
ce
|
||||||
el
|
|
||||||
logical :: converged_
|
logical :: converged_
|
||||||
|
|
||||||
integer :: &
|
integer :: &
|
||||||
ph, en
|
ph, en
|
||||||
|
|
||||||
|
|
||||||
ph = material_phaseID(co,(el-1)*discretization_nIPs + ip)
|
ph = material_phaseID(co,ce)
|
||||||
en = material_phaseEntry(co,(el-1)*discretization_nIPs + ip)
|
en = material_phaseEntry(co,ce)
|
||||||
|
|
||||||
converged_ = .not. integrateDamageState(Delta_t,ph,en)
|
converged_ = .not. integrateDamageState(Delta_t,ph,en)
|
||||||
|
|
||||||
|
|
|
@ -414,8 +414,6 @@ function integrateStress(F,subFp0,subFi0,Delta_t,en,ph) result(broken)
|
||||||
ierr, & ! error indicator for LAPACK
|
ierr, & ! error indicator for LAPACK
|
||||||
o, &
|
o, &
|
||||||
p, &
|
p, &
|
||||||
ph, &
|
|
||||||
en, &
|
|
||||||
jacoCounterLp, &
|
jacoCounterLp, &
|
||||||
jacoCounterLi ! counters to check for Jacobian update
|
jacoCounterLi ! counters to check for Jacobian update
|
||||||
logical :: error,broken
|
logical :: error,broken
|
||||||
|
@ -583,8 +581,6 @@ function integrateStateFPI(F_0,F,subFp0,subFi0,subState0,Delta_t,en,ph) result(b
|
||||||
|
|
||||||
integer :: &
|
integer :: &
|
||||||
NiterationState, & !< number of iterations in state loop
|
NiterationState, & !< number of iterations in state loop
|
||||||
ph, &
|
|
||||||
en, &
|
|
||||||
sizeDotState
|
sizeDotState
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
zeta
|
zeta
|
||||||
|
@ -674,8 +670,6 @@ function integrateStateEuler(F_0,F,subFp0,subFi0,subState0,Delta_t,en,ph) result
|
||||||
real(pReal), dimension(plasticState(ph)%sizeDotState) :: &
|
real(pReal), dimension(plasticState(ph)%sizeDotState) :: &
|
||||||
dotState
|
dotState
|
||||||
integer :: &
|
integer :: &
|
||||||
ph, &
|
|
||||||
en, &
|
|
||||||
sizeDotState
|
sizeDotState
|
||||||
|
|
||||||
|
|
||||||
|
@ -711,8 +705,6 @@ function integrateStateAdaptiveEuler(F_0,F,subFp0,subFi0,subState0,Delta_t,en,ph
|
||||||
broken
|
broken
|
||||||
|
|
||||||
integer :: &
|
integer :: &
|
||||||
ph, &
|
|
||||||
en, &
|
|
||||||
sizeDotState
|
sizeDotState
|
||||||
real(pReal), dimension(plasticState(ph)%sizeDotState) :: &
|
real(pReal), dimension(plasticState(ph)%sizeDotState) :: &
|
||||||
r, &
|
r, &
|
||||||
|
@ -829,8 +821,6 @@ function integrateStateRK(F_0,F,subFp0,subFi0,subState0,Delta_t,en,ph,A,B,C,DB)
|
||||||
integer :: &
|
integer :: &
|
||||||
stage, & ! stage index in integration stage loop
|
stage, & ! stage index in integration stage loop
|
||||||
n, &
|
n, &
|
||||||
ph, &
|
|
||||||
en, &
|
|
||||||
sizeDotState
|
sizeDotState
|
||||||
real(pReal), dimension(plasticState(ph)%sizeDotState) :: &
|
real(pReal), dimension(plasticState(ph)%sizeDotState) :: &
|
||||||
dotState
|
dotState
|
||||||
|
@ -985,13 +975,12 @@ end subroutine mechanical_forward
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief calculate stress (P)
|
!> @brief calculate stress (P)
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module function phase_mechanical_constitutive(Delta_t,co,ip,el) result(converged_)
|
module function phase_mechanical_constitutive(Delta_t,co,ce) result(converged_)
|
||||||
|
|
||||||
real(pReal), intent(in) :: Delta_t
|
real(pReal), intent(in) :: Delta_t
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
co, &
|
co, &
|
||||||
ip, &
|
ce
|
||||||
el
|
|
||||||
logical :: converged_
|
logical :: converged_
|
||||||
|
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
|
@ -1010,6 +999,8 @@ module function phase_mechanical_constitutive(Delta_t,co,ip,el) result(converged
|
||||||
real(pReal), dimension(:), allocatable :: subState0
|
real(pReal), dimension(:), allocatable :: subState0
|
||||||
|
|
||||||
|
|
||||||
|
ph = material_phaseID(co,ce)
|
||||||
|
en = material_phaseEntry(co,ce)
|
||||||
sizeDotState = plasticState(ph)%sizeDotState
|
sizeDotState = plasticState(ph)%sizeDotState
|
||||||
|
|
||||||
subLi0 = phase_mechanical_Li0(ph)%data(1:3,1:3,en)
|
subLi0 = phase_mechanical_Li0(ph)%data(1:3,1:3,en)
|
||||||
|
|
Loading…
Reference in New Issue