pass data to homogenization and phase level at the same time
This commit is contained in:
parent
d1620d9268
commit
e26e8c715f
|
@ -304,8 +304,6 @@ program DAMASK_grid
|
||||||
call spectral_Utilities_init
|
call spectral_Utilities_init
|
||||||
do field = 1, nActiveFields
|
do field = 1, nActiveFields
|
||||||
select case (ID(field))
|
select case (ID(field))
|
||||||
case(FIELD_MECH_ID)
|
|
||||||
call mechanical_init
|
|
||||||
|
|
||||||
case(FIELD_THERMAL_ID)
|
case(FIELD_THERMAL_ID)
|
||||||
initial_conditions => config_load%get('initial_conditions',defaultVal=emptyDict)
|
initial_conditions => config_load%get('initial_conditions',defaultVal=emptyDict)
|
||||||
|
@ -318,6 +316,7 @@ program DAMASK_grid
|
||||||
end select
|
end select
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
call mechanical_init
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! write header of output file
|
! write header of output file
|
||||||
if (worldrank == 0) then
|
if (worldrank == 0) then
|
||||||
|
|
|
@ -293,7 +293,6 @@ subroutine homogenization_thermal_response(Delta_t,cell_start,cell_end)
|
||||||
do ce = cell_start, cell_end
|
do ce = cell_start, cell_end
|
||||||
if (terminallyIll) continue
|
if (terminallyIll) continue
|
||||||
ho = material_homogenizationID(ce)
|
ho = material_homogenizationID(ce)
|
||||||
call thermal_partition(ce)
|
|
||||||
do co = 1, homogenization_Nconstituents(ho)
|
do co = 1, homogenization_Nconstituents(ho)
|
||||||
if (.not. phase_thermal_constitutive(Delta_t,material_phaseID(co,ce),material_phaseEntry(co,ce))) then
|
if (.not. phase_thermal_constitutive(Delta_t,material_phaseID(co,ce),material_phaseEntry(co,ce))) then
|
||||||
if (.not. terminallyIll) print*, ' Cell ', ce, ' terminally ill'
|
if (.not. terminallyIll) print*, ' Cell ', ce, ' terminally ill'
|
||||||
|
|
|
@ -162,7 +162,7 @@ module subroutine homogenization_thermal_setField(T,dot_T, ce)
|
||||||
|
|
||||||
current(material_homogenizationID(ce))%T(material_homogenizationEntry(ce)) = T
|
current(material_homogenizationID(ce))%T(material_homogenizationEntry(ce)) = T
|
||||||
current(material_homogenizationID(ce))%dot_T(material_homogenizationEntry(ce)) = dot_T
|
current(material_homogenizationID(ce))%dot_T(material_homogenizationEntry(ce)) = dot_T
|
||||||
|
call thermal_partition(ce)
|
||||||
|
|
||||||
end subroutine homogenization_thermal_setField
|
end subroutine homogenization_thermal_setField
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,7 @@ module subroutine thermal_init(phases)
|
||||||
|
|
||||||
do ph = 1, phases%length
|
do ph = 1, phases%length
|
||||||
Nmembers = count(material_phaseID == ph)
|
Nmembers = count(material_phaseID == ph)
|
||||||
allocate(current(ph)%T(Nmembers),source=T_ROOM)
|
allocate(current(ph)%T(Nmembers),source=300.0_pReal)
|
||||||
allocate(current(ph)%dot_T(Nmembers),source=0.0_pReal)
|
allocate(current(ph)%dot_T(Nmembers),source=0.0_pReal)
|
||||||
phase => phases%get(ph)
|
phase => phases%get(ph)
|
||||||
thermal => phase%get('thermal',defaultVal=emptyDict)
|
thermal => phase%get('thermal',defaultVal=emptyDict)
|
||||||
|
|
Loading…
Reference in New Issue