seems redundant
This commit is contained in:
parent
6b85ee47d4
commit
4191762a41
|
@ -18,9 +18,6 @@ homogenization:
|
||||||
Delta_V_max: 1.0e-5 # maximum allowable relative volume discrepancy
|
Delta_V_max: 1.0e-5 # maximum allowable relative volume discrepancy
|
||||||
Delta_V_mod: 1.0e+12
|
Delta_V_mod: 1.0e+12
|
||||||
Delta_V_pow: 5.0
|
Delta_V_pow: 5.0
|
||||||
# Don't think generic is required
|
|
||||||
generic:
|
|
||||||
nMPstate: 10 # (do we need??) materialpoint state loop limit
|
|
||||||
|
|
||||||
solver:
|
solver:
|
||||||
grid:
|
grid:
|
||||||
|
|
|
@ -59,15 +59,6 @@ module homogenization
|
||||||
real(pREAL), dimension(:,:,:,:,:), allocatable, public :: & !, protected :: &
|
real(pREAL), dimension(:,:,:,:,:), allocatable, public :: & !, protected :: &
|
||||||
homogenization_dPdF !< tangent of first P--K stress at IP
|
homogenization_dPdF !< tangent of first P--K stress at IP
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
type :: tNumerics
|
|
||||||
integer :: &
|
|
||||||
nMPstate !< materialpoint state loop limit
|
|
||||||
end type tNumerics
|
|
||||||
|
|
||||||
type(tNumerics) :: num
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
@ -214,12 +205,6 @@ subroutine homogenization_init()
|
||||||
allocate(damageState_h (size(material_name_homogenization)))
|
allocate(damageState_h (size(material_name_homogenization)))
|
||||||
call parseHomogenization()
|
call parseHomogenization()
|
||||||
|
|
||||||
num_homog => config_numerics%get_dict('homogenization',defaultVal=emptyDict)
|
|
||||||
num_homogGeneric => num_homog%get_dict('generic',defaultVal=emptyDict)
|
|
||||||
|
|
||||||
num%nMPstate = num_homogGeneric%get_asInt('nMPstate',defaultVal=10)
|
|
||||||
if (num%nMPstate < 1) call IO_error(301,ext_msg='nMPstate')
|
|
||||||
|
|
||||||
call mechanical_init()
|
call mechanical_init()
|
||||||
call thermal_init()
|
call thermal_init()
|
||||||
call damage_init()
|
call damage_init()
|
||||||
|
@ -236,7 +221,6 @@ subroutine homogenization_mechanical_response(Delta_t,cell_start,cell_end)
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
cell_start, cell_end
|
cell_start, cell_end
|
||||||
integer :: &
|
integer :: &
|
||||||
NiterationMPstate, &
|
|
||||||
co, ce, ho, en
|
co, ce, ho, en
|
||||||
logical :: &
|
logical :: &
|
||||||
converged
|
converged
|
||||||
|
@ -244,7 +228,7 @@ subroutine homogenization_mechanical_response(Delta_t,cell_start,cell_end)
|
||||||
doneAndHappy
|
doneAndHappy
|
||||||
|
|
||||||
|
|
||||||
!$OMP PARALLEL DO PRIVATE(en,ho,co,NiterationMPstate,converged,doneAndHappy)
|
!$OMP PARALLEL DO PRIVATE(en,ho,co,converged,doneAndHappy)
|
||||||
do ce = cell_start, cell_end
|
do ce = cell_start, cell_end
|
||||||
|
|
||||||
en = material_entry_homogenization(ce)
|
en = material_entry_homogenization(ce)
|
||||||
|
@ -258,10 +242,7 @@ subroutine homogenization_mechanical_response(Delta_t,cell_start,cell_end)
|
||||||
|
|
||||||
doneAndHappy = [.false.,.true.]
|
doneAndHappy = [.false.,.true.]
|
||||||
|
|
||||||
NiterationMPstate = 0
|
convergenceLooping: do while (.not. (terminallyIll .or. doneAndHappy(1)))
|
||||||
convergenceLooping: do while (.not. (terminallyIll .or. doneAndHappy(1)) &
|
|
||||||
.and. NiterationMPstate < num%nMPstate)
|
|
||||||
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,ce),co=1,homogenization_Nconstituents(ho))])
|
converged = all([(phase_mechanical_constitutive(Delta_t,co,ce),co=1,homogenization_Nconstituents(ho))])
|
||||||
|
|
Loading…
Reference in New Issue