changed thermal heatGen to thermal adiabatic

This commit is contained in:
Luv Sharma 2014-10-09 14:08:32 +00:00
parent fc57c6e572
commit 2eadb0a178
8 changed files with 124 additions and 124 deletions

View File

@ -86,7 +86,7 @@ end module DAMASK_interface
#include "damage_brittle.f90" #include "damage_brittle.f90"
#include "damage_ductile.f90" #include "damage_ductile.f90"
#include "thermal_isothermal.f90" #include "thermal_isothermal.f90"
#include "thermal_heatGen.f90" #include "thermal_adiabatic.f90"
#include "constitutive_none.f90" #include "constitutive_none.f90"
#include "constitutive_j2.f90" #include "constitutive_j2.f90"
#include "constitutive_phenopowerlaw.f90" #include "constitutive_phenopowerlaw.f90"

View File

@ -86,7 +86,7 @@ end module DAMASK_interface
#include "damage_brittle.f90" #include "damage_brittle.f90"
#include "damage_ductile.f90" #include "damage_ductile.f90"
#include "thermal_isothermal.f90" #include "thermal_isothermal.f90"
#include "thermal_heatGen.f90" #include "thermal_adiabatic.f90"
#include "constitutive_none.f90" #include "constitutive_none.f90"
#include "constitutive_j2.f90" #include "constitutive_j2.f90"
#include "constitutive_phenopowerlaw.f90" #include "constitutive_phenopowerlaw.f90"

View File

@ -115,7 +115,7 @@ end module DAMASK_interface
#include "damage_brittle.f90" #include "damage_brittle.f90"
#include "damage_ductile.f90" #include "damage_ductile.f90"
#include "thermal_isothermal.f90" #include "thermal_isothermal.f90"
#include "thermal_heatGen.f90" #include "thermal_adiabatic.f90"
#include "constitutive_none.f90" #include "constitutive_none.f90"
#include "constitutive_j2.f90" #include "constitutive_j2.f90"
#include "constitutive_phenopowerlaw.f90" #include "constitutive_phenopowerlaw.f90"

View File

@ -329,7 +329,7 @@ DAMAGE_FILES = \
damage_none.o damage_brittle.o damage_ductile.o damage_none.o damage_brittle.o damage_ductile.o
THERMAL_FILES = \ THERMAL_FILES = \
thermal_isothermal.o thermal_heatGen.o thermal_isothermal.o thermal_adiabatic.o
CONSTITUTIVE_FILES = \ CONSTITUTIVE_FILES = \
constitutive_dislotwin.o constitutive_dislokmc.o constitutive_j2.o constitutive_phenopowerlaw.o \ constitutive_dislotwin.o constitutive_dislokmc.o constitutive_j2.o constitutive_phenopowerlaw.o \
@ -486,7 +486,7 @@ damage_ductile.o: damage_ductile.f90 \
thermal_isothermal.o: thermal_isothermal.f90 \ thermal_isothermal.o: thermal_isothermal.f90 \
lattice.o lattice.o
thermal_heatGen.o: thermal_heatGen.f90 \ thermal_adiabatic.o: thermal_adiabatic.f90 \
lattice.o lattice.o
lattice.o: lattice.f90 \ lattice.o: lattice.f90 \

View File

@ -90,14 +90,14 @@ subroutine constitutive_init
phase_Noutput, & phase_Noutput, &
homogenization_Ngrains, & homogenization_Ngrains, &
homogenization_maxNgrains, & homogenization_maxNgrains, &
ELASTICITY_HOOKE_ID, & ELASTICITY_hooke_ID, &
PLASTICITY_NONE_ID, & PLASTICITY_none_ID, &
PLASTICITY_J2_ID, & PLASTICITY_j2_ID, &
PLASTICITY_PHENOPOWERLAW_ID, & PLASTICITY_phenopowerlaw_ID, &
PLASTICITY_DISLOTWIN_ID, & PLASTICITY_dislotwin_ID, &
PLASTICITY_DISLOKMC_ID, & PLASTICITY_dislokmc_ID, &
PLASTICITY_TITANMOD_ID, & PLASTICITY_titanmod_ID, &
PLASTICITY_NONLOCAL_ID ,& PLASTICITY_nonlocal_ID ,&
ELASTICITY_HOOKE_label, & ELASTICITY_HOOKE_label, &
PLASTICITY_NONE_label, & PLASTICITY_NONE_label, &
PLASTICITY_J2_label, & PLASTICITY_J2_label, &
@ -106,16 +106,16 @@ subroutine constitutive_init
PLASTICITY_DISLOKMC_label, & PLASTICITY_DISLOKMC_label, &
PLASTICITY_TITANMOD_label, & PLASTICITY_TITANMOD_label, &
PLASTICITY_NONLOCAL_label, & PLASTICITY_NONLOCAL_label, &
LOCAL_DAMAGE_NONE_ID, & LOCAL_DAMAGE_none_ID, &
LOCAL_DAMAGE_BRITTLE_ID, & LOCAL_DAMAGE_brittle_ID, &
LOCAL_DAMAGE_DUCTILE_ID, & LOCAL_DAMAGE_ductile_ID, &
LOCAL_THERMAL_ISOTHERMAL_ID, & LOCAL_THERMAL_isothermal_ID, &
LOCAL_THERMAL_HEATGEN_ID, & LOCAL_THERMAL_adiabatic_ID, &
LOCAL_DAMAGE_NONE_label, & LOCAL_DAMAGE_NONE_label, &
LOCAL_DAMAGE_BRITTLE_label, & LOCAL_DAMAGE_BRITTLE_label, &
LOCAL_DAMAGE_DUCTILE_label, & LOCAL_DAMAGE_DUCTILE_label, &
LOCAL_THERMAL_ISOTHERMAL_label, & LOCAL_THERMAL_ISOTHERMAL_label, &
LOCAL_THERMAL_HEATGEN_label, & LOCAL_THERMAL_ADIABATIC_label, &
plasticState, & plasticState, &
damageState, & damageState, &
thermalState, & thermalState, &
@ -133,7 +133,7 @@ subroutine constitutive_init
use damage_brittle use damage_brittle
use damage_ductile use damage_ductile
use thermal_isothermal use thermal_isothermal
use thermal_heatGen use thermal_adiabatic
implicit none implicit none
integer(pInt), parameter :: FILEUNIT = 200_pInt integer(pInt), parameter :: FILEUNIT = 200_pInt
integer(pInt) :: & integer(pInt) :: &
@ -178,7 +178,7 @@ subroutine constitutive_init
if (.not. IO_open_jobFile_stat(FILEUNIT,material_localFileExt)) & ! no local material configuration present... if (.not. IO_open_jobFile_stat(FILEUNIT,material_localFileExt)) & ! no local material configuration present...
call IO_open_file(FILEUNIT,material_configFile) ! ... open material.config file call IO_open_file(FILEUNIT,material_configFile) ! ... open material.config file
if (any(phase_thermal == LOCAL_THERMAL_ISOTHERMAL_ID)) call thermal_isothermal_init(FILEUNIT) if (any(phase_thermal == LOCAL_THERMAL_ISOTHERMAL_ID)) call thermal_isothermal_init(FILEUNIT)
if (any(phase_thermal == LOCAL_THERMAL_HEATGEN_ID)) call thermal_heatGen_init(FILEUNIT) if (any(phase_thermal == LOCAL_THERMAL_adiabatic_ID)) call thermal_adiabatic_init(FILEUNIT)
close(FILEUNIT) close(FILEUNIT)
write(6,'(/,a)') ' <<<+- constitutive init -+>>>' write(6,'(/,a)') ' <<<+- constitutive init -+>>>'
@ -278,17 +278,17 @@ subroutine constitutive_init
thisNoutput => null() thisNoutput => null()
thisOutput => null() thisOutput => null()
thisSize => null() thisSize => null()
case (LOCAL_THERMAL_heatgen_ID) case (LOCAL_THERMAL_adiabatic_ID)
outputName = LOCAL_THERMAL_HEATGEN_label outputName = LOCAL_THERMAL_ADIABATIC_label
thisNoutput => thermal_heatGen_Noutput thisNoutput => thermal_adiabatic_Noutput
thisOutput => thermal_heatGen_output thisOutput => thermal_adiabatic_output
thisSize => thermal_heatGen_sizePostResult thisSize => thermal_adiabatic_sizePostResult
case default case default
knownThermal = .false. knownThermal = .false.
end select end select
if (knownThermal) then if (knownThermal) then
write(FILEUNIT,'(a)') '(thermal)'//char(9)//trim(outputName) write(FILEUNIT,'(a)') '(thermal)'//char(9)//trim(outputName)
if (phase_thermal(phase) /= LOCAL_THERMAL_ISOTHERMAL_ID) then if (phase_thermal(phase) /= LOCAL_THERMAL_isothermal_ID) then
do e = 1_pInt,thisNoutput(instance) do e = 1_pInt,thisNoutput(instance)
write(FILEUNIT,'(a,i4)') trim(thisOutput(e,instance))//char(9),thisSize(e,instance) write(FILEUNIT,'(a,i4)') trim(thisOutput(e,instance))//char(9),thisSize(e,instance)
enddo enddo
@ -652,16 +652,16 @@ subroutine constitutive_collectDotState(Tstar_v, Lp, FeArray, FpArray, Temperatu
phase_thermal, & phase_thermal, &
material_phase, & material_phase, &
homogenization_maxNgrains, & homogenization_maxNgrains, &
PLASTICITY_NONE_ID, & PLASTICITY_none_ID, &
PLASTICITY_J2_ID, & PLASTICITY_j2_ID, &
PLASTICITY_PHENOPOWERLAW_ID, & PLASTICITY_phenopowerlaw_ID, &
PLASTICITY_DISLOTWIN_ID, & PLASTICITY_dislotwin_ID, &
PLASTICITY_DISLOKMC_ID, & PLASTICITY_dislokmc_ID, &
PLASTICITY_TITANMOD_ID, & PLASTICITY_titanmod_ID, &
PLASTICITY_NONLOCAL_ID, & PLASTICITY_nonlocal_ID, &
LOCAL_DAMAGE_BRITTLE_ID, & LOCAL_DAMAGE_brittle_ID, &
LOCAL_DAMAGE_DUCTILE_ID, & LOCAL_DAMAGE_ductile_ID, &
LOCAL_THERMAL_HEATGEN_ID LOCAL_THERMAL_adiabatic_ID
use constitutive_j2, only: & use constitutive_j2, only: &
constitutive_j2_dotState constitutive_j2_dotState
use constitutive_phenopowerlaw, only: & use constitutive_phenopowerlaw, only: &
@ -678,8 +678,8 @@ subroutine constitutive_collectDotState(Tstar_v, Lp, FeArray, FpArray, Temperatu
damage_brittle_dotState damage_brittle_dotState
use damage_ductile, only: & use damage_ductile, only: &
damage_ductile_dotState damage_ductile_dotState
use thermal_heatGen, only: & use thermal_adiabatic, only: &
thermal_heatGen_dotState thermal_adiabatic_dotState
implicit none implicit none
integer(pInt), intent(in) :: & integer(pInt), intent(in) :: &
@ -731,8 +731,8 @@ subroutine constitutive_collectDotState(Tstar_v, Lp, FeArray, FpArray, Temperatu
end select end select
select case (phase_thermal(material_phase(ipc,ip,el))) select case (phase_thermal(material_phase(ipc,ip,el)))
case (LOCAL_THERMAL_HEATGEN_ID) case (LOCAL_THERMAL_adiabatic_ID)
call thermal_heatGen_dotState(Tstar_v, Lp, ipc, ip, el) call thermal_adiabatic_dotState(Tstar_v, Lp, ipc, ip, el)
end select end select
if (iand(debug_level(debug_constitutive), debug_levelBasic) /= 0_pInt) then if (iand(debug_level(debug_constitutive), debug_levelBasic) /= 0_pInt) then
@ -920,11 +920,11 @@ function constitutive_getAdiabaticTemperature(ipc, ip, el)
pReal pReal
use material, only: & use material, only: &
material_phase, & material_phase, &
LOCAL_THERMAL_ISOTHERMAL_ID, & LOCAL_THERMAL_isothermal_ID, &
LOCAL_THERMAL_HEATGEN_ID, & LOCAL_THERMAL_adiabatic_ID, &
phase_thermal phase_thermal
use thermal_heatGen, only: & use thermal_adiabatic, only: &
thermal_heatGen_getTemperature thermal_adiabatic_getTemperature
use lattice, only: & use lattice, only: &
lattice_referenceTemperature lattice_referenceTemperature
@ -939,8 +939,8 @@ function constitutive_getAdiabaticTemperature(ipc, ip, el)
case (LOCAL_THERMAL_ISOTHERMAL_ID) case (LOCAL_THERMAL_ISOTHERMAL_ID)
constitutive_getAdiabaticTemperature = lattice_referenceTemperature(material_phase(ipc,ip,el)) constitutive_getAdiabaticTemperature = lattice_referenceTemperature(material_phase(ipc,ip,el))
case (LOCAL_THERMAL_HEATGEN_ID) case (LOCAL_THERMAL_adiabatic_ID)
constitutive_getAdiabaticTemperature = thermal_heatGen_getTemperature(ipc, ip, el) constitutive_getAdiabaticTemperature = thermal_adiabatic_getTemperature(ipc, ip, el)
end select end select
end function constitutive_getAdiabaticTemperature end function constitutive_getAdiabaticTemperature
@ -953,10 +953,10 @@ subroutine constitutive_putAdiabaticTemperature(ipc, ip, el, localTemperature)
pReal pReal
use material, only: & use material, only: &
material_phase, & material_phase, &
LOCAL_THERMAL_HEATGEN_ID, & LOCAL_THERMAL_adiabatic_ID, &
phase_thermal phase_thermal
use thermal_heatGen, only: & use thermal_adiabatic, only: &
thermal_heatGen_putTemperature thermal_adiabatic_putTemperature
implicit none implicit none
integer(pInt), intent(in) :: & integer(pInt), intent(in) :: &
@ -967,8 +967,8 @@ subroutine constitutive_putAdiabaticTemperature(ipc, ip, el, localTemperature)
localTemperature localTemperature
select case (phase_thermal(material_phase(ipc,ip,el))) select case (phase_thermal(material_phase(ipc,ip,el)))
case (LOCAL_THERMAL_HEATGEN_ID) case (LOCAL_THERMAL_adiabatic_ID)
call thermal_heatGen_putTemperature(ipc, ip, el, localTemperature) call thermal_adiabatic_putTemperature(ipc, ip, el, localTemperature)
end select end select
@ -985,8 +985,8 @@ function constitutive_getTemperature(ipc, ip, el)
material_phase, & material_phase, &
fieldThermal, & fieldThermal, &
field_thermal_type, & field_thermal_type, &
FIELD_THERMAL_ADIABATIC_ID, & FIELD_THERMAL_local_ID, &
FIELD_THERMAL_CONDUCTION_ID, & FIELD_THERMAL_nonlocal_ID, &
material_homog material_homog
use lattice, only: & use lattice, only: &
lattice_referenceTemperature lattice_referenceTemperature
@ -999,10 +999,10 @@ function constitutive_getTemperature(ipc, ip, el)
select case(field_thermal_type(material_homog(ip,el))) select case(field_thermal_type(material_homog(ip,el)))
case (FIELD_THERMAL_ADIABATIC_ID) case (FIELD_THERMAL_local_ID)
constitutive_getTemperature = constitutive_getAdiabaticTemperature(ipc, ip, el) constitutive_getTemperature = constitutive_getAdiabaticTemperature(ipc, ip, el)
case (FIELD_THERMAL_CONDUCTION_ID) case (FIELD_THERMAL_nonlocal_ID)
constitutive_getTemperature = fieldThermal(material_homog(ip,el))% & constitutive_getTemperature = fieldThermal(material_homog(ip,el))% &
field(1,mappingHomogenization(1,ip,el)) ! Taylor type field(1,mappingHomogenization(1,ip,el)) ! Taylor type
@ -1036,7 +1036,7 @@ function constitutive_postResults(Tstar_v, FeArray, temperature, ipc, ip, el)
PLASTICITY_NONLOCAL_ID, & PLASTICITY_NONLOCAL_ID, &
LOCAL_DAMAGE_BRITTLE_ID, & LOCAL_DAMAGE_BRITTLE_ID, &
LOCAL_DAMAGE_DUCTILE_ID, & LOCAL_DAMAGE_DUCTILE_ID, &
LOCAL_THERMAL_HEATGEN_ID LOCAL_THERMAL_ADIABATIC_ID
use constitutive_j2, only: & use constitutive_j2, only: &
#ifdef HDF #ifdef HDF
constitutive_j2_postResults2,& constitutive_j2_postResults2,&
@ -1057,8 +1057,8 @@ function constitutive_postResults(Tstar_v, FeArray, temperature, ipc, ip, el)
damage_brittle_postResults damage_brittle_postResults
use damage_ductile, only: & use damage_ductile, only: &
damage_ductile_postResults damage_ductile_postResults
use thermal_heatGen, only: & use thermal_adiabatic, only: &
thermal_heatGen_postResults thermal_adiabatic_postResults
#endif #endif
implicit none implicit none
@ -1123,8 +1123,8 @@ function constitutive_postResults(Tstar_v, FeArray, temperature, ipc, ip, el)
startPos = endPos + 1_pInt startPos = endPos + 1_pInt
endPos = endPos + thermalState(material_phase(ipc,ip,el))%sizePostResults endPos = endPos + thermalState(material_phase(ipc,ip,el))%sizePostResults
select case (phase_thermal(material_phase(ipc,ip,el))) select case (phase_thermal(material_phase(ipc,ip,el)))
case (LOCAL_THERMAL_HEATGEN_ID) case (LOCAL_THERMAL_ADIABATIC_ID)
constitutive_postResults(startPos:endPos) = thermal_heatGen_postResults(ipc, ip, el) constitutive_postResults(startPos:endPos) = thermal_adiabatic_postResults(ipc, ip, el)
end select end select
#endif #endif

View File

@ -927,8 +927,8 @@ function field_getSpecificHeat(ip,el)
material_phase, & material_phase, &
material_homog, & material_homog, &
field_thermal_type, & field_thermal_type, &
FIELD_THERMAL_ADIABATIC_ID, & FIELD_THERMAL_local_ID, &
FIELD_THERMAL_CONDUCTION_ID, & FIELD_THERMAL_nonlocal_ID, &
homogenization_Ngrains homogenization_Ngrains
implicit none implicit none
@ -943,10 +943,10 @@ function field_getSpecificHeat(ip,el)
select case(field_thermal_type(material_homog(ip,el))) select case(field_thermal_type(material_homog(ip,el)))
case (FIELD_THERMAL_ADIABATIC_ID) case (FIELD_THERMAL_local_ID)
field_getSpecificHeat = 0.0_pReal field_getSpecificHeat = 0.0_pReal
case (FIELD_THERMAL_CONDUCTION_ID) case (FIELD_THERMAL_nonlocal_ID)
do ipc = 1, homogenization_Ngrains(mesh_element(3,el)) do ipc = 1, homogenization_Ngrains(mesh_element(3,el))
field_getSpecificHeat = field_getSpecificHeat + lattice_specificHeat(material_phase(ipc,ip,el)) field_getSpecificHeat = field_getSpecificHeat + lattice_specificHeat(material_phase(ipc,ip,el))
enddo enddo
@ -969,8 +969,8 @@ function field_getMassDensity(ip,el)
material_phase, & material_phase, &
material_homog, & material_homog, &
field_thermal_type, & field_thermal_type, &
FIELD_THERMAL_ADIABATIC_ID, & FIELD_THERMAL_local_ID, &
FIELD_THERMAL_CONDUCTION_ID, & FIELD_THERMAL_nonlocal_ID, &
homogenization_Ngrains homogenization_Ngrains
@ -986,10 +986,10 @@ function field_getMassDensity(ip,el)
select case(field_thermal_type(material_homog(ip,el))) select case(field_thermal_type(material_homog(ip,el)))
case (FIELD_THERMAL_ADIABATIC_ID) case (FIELD_THERMAL_local_ID)
field_getMassDensity = 0.0_pReal field_getMassDensity = 0.0_pReal
case (FIELD_THERMAL_CONDUCTION_ID) case (FIELD_THERMAL_nonlocal_ID)
do ipc = 1, homogenization_Ngrains(mesh_element(3,el)) do ipc = 1, homogenization_Ngrains(mesh_element(3,el))
field_getMassDensity = field_getMassDensity + lattice_massDensity(material_phase(ipc,ip,el)) field_getMassDensity = field_getMassDensity + lattice_massDensity(material_phase(ipc,ip,el))
enddo enddo
@ -1011,8 +1011,8 @@ function field_getThermalConductivity33(ip,el)
material_phase, & material_phase, &
material_homog, & material_homog, &
field_thermal_type, & field_thermal_type, &
FIELD_THERMAL_ADIABATIC_ID, & FIELD_THERMAL_local_ID, &
FIELD_THERMAL_CONDUCTION_ID, & FIELD_THERMAL_nonlocal_ID, &
homogenization_Ngrains homogenization_Ngrains
use crystallite, only: & use crystallite, only: &
crystallite_push33ToRef crystallite_push33ToRef
@ -1030,10 +1030,10 @@ function field_getThermalConductivity33(ip,el)
select case(field_thermal_type(material_homog(ip,el))) select case(field_thermal_type(material_homog(ip,el)))
case (FIELD_THERMAL_ADIABATIC_ID) case (FIELD_THERMAL_local_ID)
field_getThermalConductivity33 = 0.0_pReal field_getThermalConductivity33 = 0.0_pReal
case (FIELD_THERMAL_CONDUCTION_ID) case (FIELD_THERMAL_nonlocal_ID)
do ipc = 1, homogenization_Ngrains(mesh_element(3,el)) do ipc = 1, homogenization_Ngrains(mesh_element(3,el))
field_getThermalConductivity33 = field_getThermalConductivity33 + & field_getThermalConductivity33 = field_getThermalConductivity33 + &
crystallite_push33ToRef(ipc,ip,el,lattice_thermalConductivity33(:,:,material_phase(ipc,ip,el))) crystallite_push33ToRef(ipc,ip,el,lattice_thermalConductivity33(:,:,material_phase(ipc,ip,el)))
@ -1220,7 +1220,7 @@ subroutine field_putFieldTemperature(ip,el,fieldThermalValue)
fieldThermal, & fieldThermal, &
mappingHomogenization, & mappingHomogenization, &
field_thermal_type, & field_thermal_type, &
FIELD_THERMAL_CONDUCTION_ID FIELD_THERMAL_nonlocal_ID
implicit none implicit none
integer(pInt), intent(in) :: & integer(pInt), intent(in) :: &
@ -1230,7 +1230,7 @@ subroutine field_putFieldTemperature(ip,el,fieldThermalValue)
fieldThermalValue fieldThermalValue
select case(field_thermal_type(material_homog(ip,el))) select case(field_thermal_type(material_homog(ip,el)))
case (FIELD_THERMAL_CONDUCTION_ID) case (FIELD_THERMAL_nonlocal_ID)
fieldThermal(material_homog(ip,el))% & fieldThermal(material_homog(ip,el))% &
field(1,mappingHomogenization(1,ip,el)) = fieldThermalValue field(1,mappingHomogenization(1,ip,el)) = fieldThermalValue

View File

@ -19,26 +19,26 @@ module material
implicit none implicit none
private private
character(len=*), parameter, public :: & character(len=*), parameter, public :: &
ELASTICITY_HOOKE_label = 'hooke', & ELASTICITY_hooke_label = 'hooke', &
PLASTICITY_NONE_label = 'none', & PLASTICITY_none_label = 'none', &
PLASTICITY_J2_label = 'j2', & PLASTICITY_j2_label = 'j2', &
PLASTICITY_PHENOPOWERLAW_label = 'phenopowerlaw', & PLASTICITY_phenopowerlaw_label = 'phenopowerlaw', &
PLASTICITY_DISLOTWIN_label = 'dislotwin', & PLASTICITY_dislotwin_label = 'dislotwin', &
PLASTICITY_DISLOKMC_label = 'dislokmc', & PLASTICITY_dislokmc_label = 'dislokmc', &
PLASTICITY_TITANMOD_label = 'titanmod', & PLASTICITY_titanmod_label = 'titanmod', &
PLASTICITY_NONLOCAL_label = 'nonlocal', & PLASTICITY_nonlocal_label = 'nonlocal', &
LOCAL_DAMAGE_NONE_label = 'none', & LOCAL_DAMAGE_none_label = 'none', &
LOCAL_DAMAGE_BRITTLE_label = 'brittle', & LOCAL_DAMAGE_brittle_label = 'brittle', &
LOCAL_DAMAGE_DUCTILE_label = 'ductile', & LOCAL_DAMAGE_ductile_label = 'ductile', &
LOCAL_THERMAL_ISOTHERMAL_label = 'isothermal', & LOCAL_THERMAL_isothermal_label = 'isothermal', &
LOCAL_THERMAL_HEATGEN_label = 'heatgen', & LOCAL_THERMAL_adiabatic_label = 'adiabatic', &
FIELD_DAMAGE_LOCAL_label = 'local', & FIELD_DAMAGE_local_label = 'local', &
FIELD_DAMAGE_NONLOCAL_label = 'nonlocal', & FIELD_DAMAGE_nonlocal_label = 'nonlocal', &
FIELD_THERMAL_ADIABATIC_label = 'adiabatic', & FIELD_THERMAL_local_label = 'local', &
FIELD_THERMAL_CONDUCTION_label = 'conduction', & FIELD_THERMAL_nonlocal_label = 'nonlocal', &
HOMOGENIZATION_NONE_label = 'none', & HOMOGENIZATION_none_label = 'none', &
HOMOGENIZATION_ISOSTRAIN_label = 'isostrain', & HOMOGENIZATION_isostrain_label = 'isostrain', &
HOMOGENIZATION_RGC_label = 'rgc' HOMOGENIZATION_rgc_label = 'rgc'
@ -49,7 +49,7 @@ module material
enum, bind(c) enum, bind(c)
enumerator :: PLASTICITY_undefined_ID, & enumerator :: PLASTICITY_undefined_ID, &
PLASTICITY_none_ID, & PLASTICITY_none_ID, &
PLASTICITY_J2_ID, & PLASTICITY_j2_ID, &
PLASTICITY_phenopowerlaw_ID, & PLASTICITY_phenopowerlaw_ID, &
PLASTICITY_dislotwin_ID, & PLASTICITY_dislotwin_ID, &
PLASTICITY_dislokmc_ID, & PLASTICITY_dislokmc_ID, &
@ -58,29 +58,29 @@ module material
end enum end enum
enum, bind(c) enum, bind(c)
enumerator :: LOCAL_DAMAGE_NONE_ID, & enumerator :: LOCAL_DAMAGE_none_ID, &
LOCAL_DAMAGE_BRITTLE_ID, & LOCAL_DAMAGE_brittle_ID, &
LOCAL_DAMAGE_DUCTILE_ID LOCAL_DAMAGE_ductile_ID
end enum end enum
enum, bind(c) enum, bind(c)
enumerator :: LOCAL_THERMAL_ISOTHERMAL_ID, & enumerator :: LOCAL_THERMAL_isothermal_ID, &
LOCAL_THERMAL_HEATGEN_ID LOCAL_THERMAL_adiabatic_ID
end enum end enum
enum, bind(c) enum, bind(c)
enumerator :: FIELD_DAMAGE_LOCAL_ID ,& enumerator :: FIELD_DAMAGE_local_ID ,&
FIELD_DAMAGE_NONLOCAL_ID FIELD_DAMAGE_nonlocal_ID
end enum end enum
enum, bind(c) enum, bind(c)
enumerator :: FIELD_THERMAL_ADIABATIC_ID, & enumerator :: FIELD_THERMAL_local_ID, &
FIELD_THERMAL_CONDUCTION_ID FIELD_THERMAL_nonlocal_ID
end enum end enum
enum, bind(c) enum, bind(c)
enumerator :: HOMOGENIZATION_undefined_ID, & enumerator :: HOMOGENIZATION_undefined_ID, &
HOMOGENIZATION_none_ID, & HOMOGENIZATION_none_ID, &
HOMOGENIZATION_isostrain_ID, & HOMOGENIZATION_isostrain_ID, &
HOMOGENIZATION_RGC_ID HOMOGENIZATION_rgc_ID
end enum end enum
character(len=*), parameter, public :: & character(len=*), parameter, public :: &
@ -100,9 +100,9 @@ module material
phase_damage !< local damage of each phase phase_damage !< local damage of each phase
integer(kind(LOCAL_THERMAL_isothermal_ID)), dimension(:), allocatable, public, protected :: & integer(kind(LOCAL_THERMAL_isothermal_ID)), dimension(:), allocatable, public, protected :: &
phase_thermal !< local thermal of each phase phase_thermal !< local thermal of each phase
integer(kind(FIELD_DAMAGE_LOCAL_ID)), dimension(:), allocatable, public, protected :: & integer(kind(FIELD_DAMAGE_local_ID)), dimension(:), allocatable, public, protected :: &
field_damage_type !< field damage of each phase field_damage_type !< field damage of each phase
integer(kind(FIELD_THERMAL_ADIABATIC_ID)), dimension(:), allocatable, public, protected :: & integer(kind(FIELD_THERMAL_local_ID)), dimension(:), allocatable, public, protected :: &
field_thermal_type !< field thermal of each phase field_thermal_type !< field thermal of each phase
integer(kind(HOMOGENIZATION_undefined_ID)), dimension(:), allocatable, public, protected :: & integer(kind(HOMOGENIZATION_undefined_ID)), dimension(:), allocatable, public, protected :: &
@ -217,11 +217,11 @@ module material
LOCAL_DAMAGE_brittle_ID, & LOCAL_DAMAGE_brittle_ID, &
LOCAL_DAMAGE_ductile_ID, & LOCAL_DAMAGE_ductile_ID, &
LOCAL_THERMAL_isothermal_ID, & LOCAL_THERMAL_isothermal_ID, &
LOCAL_THERMAL_heatgen_ID, & LOCAL_THERMAL_adiabatic_ID, &
FIELD_DAMAGE_LOCAL_ID, & FIELD_DAMAGE_local_ID, &
FIELD_DAMAGE_NONLOCAL_ID, & FIELD_DAMAGE_nonlocal_ID, &
FIELD_THERMAL_ADIABATIC_ID, & FIELD_THERMAL_local_ID, &
FIELD_THERMAL_CONDUCTION_ID, & FIELD_THERMAL_nonlocal_ID, &
HOMOGENIZATION_none_ID, & HOMOGENIZATION_none_ID, &
HOMOGENIZATION_isostrain_ID, & HOMOGENIZATION_isostrain_ID, &
#ifdef HDF #ifdef HDF
@ -384,13 +384,13 @@ subroutine material_init
do homog = 1,material_Nhomogenization do homog = 1,material_Nhomogenization
NofMyField=count(material_homog==homog) NofMyField=count(material_homog==homog)
select case(field_thermal_type(homog)) select case(field_thermal_type(homog))
case (FIELD_THERMAL_ADIABATIC_ID) case (FIELD_THERMAL_local_ID)
fieldThermal(homog)%sizeField = 0_pInt fieldThermal(homog)%sizeField = 0_pInt
fieldThermal(homog)%sizePostResults = 0_pInt fieldThermal(homog)%sizePostResults = 0_pInt
allocate(fieldThermal(homog)%field(fieldThermal(homog)%sizeField,NofMyField), & allocate(fieldThermal(homog)%field(fieldThermal(homog)%sizeField,NofMyField), &
source = 300.0_pReal) ! ToDo: temporary fix for now source = 300.0_pReal) ! ToDo: temporary fix for now
case (FIELD_THERMAL_CONDUCTION_ID) case (FIELD_THERMAL_nonlocal_ID)
fieldThermal(homog)%sizeField = 1_pInt fieldThermal(homog)%sizeField = 1_pInt
fieldThermal(homog)%sizePostResults = 1_pInt fieldThermal(homog)%sizePostResults = 1_pInt
allocate(fieldThermal(homog)%field(fieldThermal(homog)%sizeField,NofMyField), & allocate(fieldThermal(homog)%field(fieldThermal(homog)%sizeField,NofMyField), &
@ -441,8 +441,8 @@ subroutine material_parseHomogenization(fileUnit,myPart)
allocate(homogenization_name(Nsections)); homogenization_name = '' allocate(homogenization_name(Nsections)); homogenization_name = ''
allocate(homogenization_type(Nsections), source=HOMOGENIZATION_undefined_ID) allocate(homogenization_type(Nsections), source=HOMOGENIZATION_undefined_ID)
allocate(FIELD_DAMAGE_type(Nsections), source=FIELD_DAMAGE_LOCAL_ID) allocate(FIELD_DAMAGE_type(Nsections), source=FIELD_DAMAGE_local_ID)
allocate(FIELD_THERMAL_type(Nsections), source=FIELD_THERMAL_ADIABATIC_ID) allocate(FIELD_THERMAL_type(Nsections), source=FIELD_THERMAL_local_ID)
allocate(homogenization_typeInstance(Nsections), source=0_pInt) allocate(homogenization_typeInstance(Nsections), source=0_pInt)
allocate(homogenization_Ngrains(Nsections), source=0_pInt) allocate(homogenization_Ngrains(Nsections), source=0_pInt)
allocate(homogenization_Noutput(Nsections), source=0_pInt) allocate(homogenization_Noutput(Nsections), source=0_pInt)
@ -501,10 +501,10 @@ subroutine material_parseHomogenization(fileUnit,myPart)
case ('field_thermal') case ('field_thermal')
select case (IO_lc(IO_stringValue(line,positions,2_pInt))) select case (IO_lc(IO_stringValue(line,positions,2_pInt)))
case(FIELD_THERMAL_ADIABATIC_label) case(FIELD_THERMAL_local_label)
FIELD_THERMAL_type(section) = FIELD_THERMAL_ADIABATIC_ID FIELD_THERMAL_type(section) = FIELD_THERMAL_local_ID
case(FIELD_THERMAL_CONDUCTION_label) case(FIELD_THERMAL_nonlocal_label)
FIELD_THERMAL_type(section) = FIELD_THERMAL_CONDUCTION_ID FIELD_THERMAL_type(section) = FIELD_THERMAL_nonlocal_ID
case default case default
call IO_error(500_pInt,ext_msg=trim(IO_stringValue(line,positions,2_pInt))) call IO_error(500_pInt,ext_msg=trim(IO_stringValue(line,positions,2_pInt)))
end select end select
@ -793,8 +793,8 @@ subroutine material_parsePhase(fileUnit,myPart)
select case (IO_lc(IO_stringValue(line,positions,2_pInt))) select case (IO_lc(IO_stringValue(line,positions,2_pInt)))
case (LOCAL_THERMAL_ISOTHERMAL_label) case (LOCAL_THERMAL_ISOTHERMAL_label)
phase_thermal(section) = LOCAL_THERMAL_isothermal_ID phase_thermal(section) = LOCAL_THERMAL_isothermal_ID
case (LOCAL_THERMAL_HEATGEN_label) case (LOCAL_THERMAL_ADIABATIC_label)
phase_thermal(section) = LOCAL_THERMAL_HEATGEN_ID phase_thermal(section) = LOCAL_THERMAL_adiabatic_ID
case default case default
call IO_error(200_pInt,ext_msg=trim(IO_stringValue(line,positions,2_pInt))) call IO_error(200_pInt,ext_msg=trim(IO_stringValue(line,positions,2_pInt)))
end select end select