From 833d25420bfde9a1f30a1f19965916d948f18c70 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 17 Jan 2021 14:52:52 +0100 Subject: [PATCH] using new mapping discrimination of integration point and element makes only sense for the solver --- src/constitutive.f90 | 4 ++-- src/constitutive_thermal.f90 | 6 +++--- src/homogenization.f90 | 8 +++----- src/homogenization_thermal.f90 | 11 ++++++----- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 6a73cc071..29796cfbc 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -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 =================================================================================== diff --git a/src/constitutive_thermal.f90 b/src/constitutive_thermal.f90 index 8a18f030e..9007ef729 100644 --- a/src/constitutive_thermal.f90 +++ b/src/constitutive_thermal.f90 @@ -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 diff --git a/src/homogenization.f90 b/src/homogenization.f90 index 76b93b163..7039febac 100644 --- a/src/homogenization.f90 +++ b/src/homogenization.f90 @@ -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)) diff --git a/src/homogenization_thermal.f90 b/src/homogenization_thermal.f90 index 4dbece13f..5b67bcfbf 100644 --- a/src/homogenization_thermal.f90 +++ b/src/homogenization_thermal.f90 @@ -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