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
|
|
|
|
|
|
|
|
|
|
|
|
!--------------------------------------------------------------------------------------------------
|
2021-01-17 19:40:43 +05:30
|
|
|
!> @brief Partition temperature onto the individual constituents.
|
2020-12-30 16:30:47 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
2021-01-17 19:22:52 +05:30
|
|
|
module subroutine thermal_partition(T,ce)
|
2020-12-30 16:30:47 +05:30
|
|
|
|
|
|
|
real(pReal), intent(in) :: T
|
2021-01-17 19:22:52 +05:30
|
|
|
integer, intent(in) :: ce
|
2020-12-30 16:30:47 +05:30
|
|
|
|
2021-01-17 19:22:52 +05:30
|
|
|
integer :: co
|
2020-12-30 16:30:47 +05:30
|
|
|
|
2021-01-17 19:22:52 +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
|
|
|
|
|
|
|
|
|
2021-01-17 19:40:43 +05:30
|
|
|
!--------------------------------------------------------------------------------------------------
|
|
|
|
!> @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
|