using new mapping

discrimination of integration point and element makes only sense for the
solver
This commit is contained in:
Martin Diehl 2021-01-17 14:52:52 +01:00
parent e9a8badde8
commit 833d25420b
4 changed files with 14 additions and 15 deletions

View File

@ -199,9 +199,9 @@ module constitutive
integer, intent(in) :: co, ip, el integer, intent(in) :: co, ip, el
end subroutine constitutive_mech_setF end subroutine constitutive_mech_setF
module subroutine constitutive_thermal_setT(T,co,ip,el) module subroutine constitutive_thermal_setT(T,co,ce)
real(pReal), intent(in) :: T real(pReal), intent(in) :: T
integer, intent(in) :: co, ip, el integer, intent(in) :: co, ce
end subroutine constitutive_thermal_setT end subroutine constitutive_thermal_setT
! == cleaned:end =================================================================================== ! == cleaned:end ===================================================================================

View File

@ -284,13 +284,13 @@ end function thermal_T
!---------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------
!< @brief Set temperature !< @brief Set temperature
!---------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------
module subroutine constitutive_thermal_setT(T,co,ip,el) module subroutine constitutive_thermal_setT(T,co,ce)
real(pReal), intent(in) :: T real(pReal), intent(in) :: T
integer, intent(in) :: co, ip, el integer, intent(in) :: ce, co
current(material_phaseAt(co,el))%T(material_phaseMemberAt(co,ip,el)) = T current(material_phaseAt2(co,ce))%T(material_phaseMemberAt2(co,ce)) = T
end subroutine constitutive_thermal_setT end subroutine constitutive_thermal_setT

View File

@ -70,11 +70,9 @@ module homogenization
el !< element number el !< element number
end subroutine mech_partition end subroutine mech_partition
module subroutine thermal_partition(T,ip,el) module subroutine thermal_partition(T,ce)
real(pReal), intent(in) :: T real(pReal), intent(in) :: T
integer, intent(in) :: & integer, intent(in) :: ce
ip, & !< integration point
el !< element number
end subroutine thermal_partition end subroutine thermal_partition
module subroutine mech_homogenize(dt,ip,el) module subroutine mech_homogenize(dt,ip,el)
@ -265,7 +263,7 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
ho = material_homogenizationAt(el) ho = material_homogenizationAt(el)
do ip = FEsolving_execIP(1),FEsolving_execIP(2) do ip = FEsolving_execIP(1),FEsolving_execIP(2)
ce = (el-1)*discretization_nIPs + ip ce = (el-1)*discretization_nIPs + ip
call thermal_partition(homogenization_T(ce),ip,el) call thermal_partition(homogenization_T(ce),ce)
do co = 1, homogenization_Nconstituents(ho) do co = 1, homogenization_Nconstituents(ho)
ph = material_phaseAt(co,el) ph = material_phaseAt(co,el)
call constitutive_thermal_initializeRestorationPoints(ph,material_phaseMemberAt(co,ip,el)) call constitutive_thermal_initializeRestorationPoints(ph,material_phaseMemberAt(co,ip,el))

View File

@ -23,15 +23,16 @@ end subroutine thermal_init
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
!> @brief Partition T onto the individual constituents. !> @brief Partition T onto the individual constituents.
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
module subroutine thermal_partition(T,ip,el) module subroutine thermal_partition(T,ce)
real(pReal), intent(in) :: T real(pReal), intent(in) :: T
integer, intent(in) :: & integer, intent(in) :: ce
ip, & !< integration point
el !< element number
integer :: co
call constitutive_thermal_setT(T,1,ip,el) do co = 1, homogenization_Nconstituents(material_homogenizationAt2(ce))
call constitutive_thermal_setT(T,co,ce)
enddo
end subroutine thermal_partition end subroutine thermal_partition