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
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
integer, intent(in) :: co, ip, el
integer, intent(in) :: co, ce
end subroutine constitutive_thermal_setT
! == cleaned:end ===================================================================================

View File

@ -284,13 +284,13 @@ end function thermal_T
!----------------------------------------------------------------------------------------------
!< @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
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

View File

@ -70,11 +70,9 @@ module homogenization
el !< element number
end subroutine mech_partition
module subroutine thermal_partition(T,ip,el)
module subroutine thermal_partition(T,ce)
real(pReal), intent(in) :: T
integer, intent(in) :: &
ip, & !< integration point
el !< element number
integer, intent(in) :: ce
end subroutine thermal_partition
module subroutine mech_homogenize(dt,ip,el)
@ -265,7 +263,7 @@ subroutine materialpoint_stressAndItsTangent(dt,FEsolving_execIP,FEsolving_execE
ho = material_homogenizationAt(el)
do ip = FEsolving_execIP(1),FEsolving_execIP(2)
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)
ph = material_phaseAt(co,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.
!--------------------------------------------------------------------------------------------------
module subroutine thermal_partition(T,ip,el)
module subroutine thermal_partition(T,ce)
real(pReal), intent(in) :: T
integer, intent(in) :: &
ip, & !< integration point
el !< element number
integer, intent(in) :: ce
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