DAMASK_EICMD/src/homogenization_thermal.f90

53 lines
1.8 KiB
Fortran
Raw Normal View History

2020-12-30 16:30:47 +05:30
!--------------------------------------------------------------------------------------------------
!> @author Martin Diehl, KU Leuven
!--------------------------------------------------------------------------------------------------
submodule(homogenization) homogenization_thermal
contains
!--------------------------------------------------------------------------------------------------
!> @brief Allocate variables and set parameters.
!--------------------------------------------------------------------------------------------------
module subroutine thermal_init()
2021-01-08 02:45:18 +05:30
2020-12-30 16:30:47 +05:30
print'(/,a)', ' <<<+- homogenization_thermal init -+>>>'
2021-01-08 02:45:18 +05:30
allocate(homogenization_T(discretization_nIPs*discretization_Nelems))
2021-01-17 17:50:17 +05:30
allocate(homogenization_dot_T(discretization_nIPs*discretization_Nelems))
2020-12-30 16:30:47 +05:30
end subroutine thermal_init
!--------------------------------------------------------------------------------------------------
!> @brief Partition temperature onto the individual constituents.
2020-12-30 16:30:47 +05:30
!--------------------------------------------------------------------------------------------------
module subroutine thermal_partition(T,ce)
2020-12-30 16:30:47 +05:30
real(pReal), intent(in) :: T
integer, intent(in) :: ce
2020-12-30 16:30:47 +05:30
integer :: co
2020-12-30 16:30:47 +05:30
do co = 1, homogenization_Nconstituents(material_homogenizationAt2(ce))
call constitutive_thermal_setT(T,co,ce)
enddo
2020-12-30 16:30:47 +05:30
end subroutine thermal_partition
!--------------------------------------------------------------------------------------------------
!> @brief Homogenize temperature rates
!--------------------------------------------------------------------------------------------------
module subroutine thermal_homogenize(ip,el)
integer, intent(in) :: ip,el
call constitutive_thermal_getRate(homogenization_dot_T((el-1)*discretization_nIPs+ip), ip,el)
end subroutine thermal_homogenize
2020-12-30 16:30:47 +05:30
end submodule homogenization_thermal