cleaning interface

This commit is contained in:
Martin Diehl 2020-12-20 09:44:25 +01:00
parent 9425184b52
commit 613fa5f9b2
2 changed files with 8 additions and 45 deletions

View File

@ -666,7 +666,7 @@ end function constitutive_collectDotState
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
!> @brief contains the constitutive equation for calculating the rate of change of microstructure !> @brief contains the constitutive equation for calculating the rate of change of microstructure
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
function constitutive_collectDotState_source(S, FArray, Fi, FpArray, subdt, ipc, ip, el,phase,of) result(broken) function constitutive_collectDotState_source(S, ipc, ip, el,phase,of) result(broken)
integer, intent(in) :: & integer, intent(in) :: &
ipc, & !< component-ID of integration point ipc, & !< component-ID of integration point
@ -674,28 +674,12 @@ function constitutive_collectDotState_source(S, FArray, Fi, FpArray, subdt, ipc,
el, & !< element el, & !< element
phase, & phase, &
of of
real(pReal), intent(in) :: &
subdt !< timestep
real(pReal), intent(in), dimension(3,3,homogenization_maxNconstituents,discretization_nIPs,discretization_Nelems) :: &
FArray, & !< elastic deformation gradient
FpArray !< plastic deformation gradient
real(pReal), intent(in), dimension(3,3) :: &
Fi !< intermediate deformation gradient
real(pReal), intent(in), dimension(3,3) :: & real(pReal), intent(in), dimension(3,3) :: &
S !< 2nd Piola Kirchhoff stress (vector notation) S !< 2nd Piola Kirchhoff stress (vector notation)
real(pReal), dimension(3,3) :: &
Mp
integer :: & integer :: &
ho, & !< homogenization i !< counter in source loop
tme, & !< thermal member position
i, & !< counter in source loop
instance
logical :: broken logical :: broken
ho = material_homogenizationAt(el)
tme = material_homogenizationMemberAt(ip,el)
instance = phase_plasticityInstance(phase)
broken = .false. broken = .false.
@ -728,7 +712,7 @@ end function constitutive_collectDotState_source
!> @brief for constitutive models having an instantaneous change of state !> @brief for constitutive models having an instantaneous change of state
!> will return false if delta state is not needed/supported by the constitutive model !> will return false if delta state is not needed/supported by the constitutive model
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broken) function constitutive_deltaState(S, Fi, ipc, ip, el, phase, of) result(broken)
integer, intent(in) :: & integer, intent(in) :: &
ipc, & !< component-ID of integration point ipc, & !< component-ID of integration point
@ -738,12 +722,10 @@ function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broke
of of
real(pReal), intent(in), dimension(3,3) :: & real(pReal), intent(in), dimension(3,3) :: &
S, & !< 2nd Piola Kirchhoff stress S, & !< 2nd Piola Kirchhoff stress
Fe, & !< elastic deformation gradient
Fi !< intermediate deformation gradient Fi !< intermediate deformation gradient
real(pReal), dimension(3,3) :: & real(pReal), dimension(3,3) :: &
Mp Mp
integer :: & integer :: &
i, &
instance, & instance, &
myOffset, & myOffset, &
mySize mySize
@ -786,7 +768,7 @@ end function constitutive_deltaState
!> @brief for constitutive models having an instantaneous change of state !> @brief for constitutive models having an instantaneous change of state
!> will return false if delta state is not needed/supported by the constitutive model !> will return false if delta state is not needed/supported by the constitutive model
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
function constitutive_deltaState_source(S, Fe, Fi, ipc, ip, el, phase, of) result(broken) function constitutive_deltaState_source(Fe, ipc, ip, el, phase, of) result(broken)
integer, intent(in) :: & integer, intent(in) :: &
ipc, & !< component-ID of integration point ipc, & !< component-ID of integration point
@ -795,14 +777,9 @@ function constitutive_deltaState_source(S, Fe, Fi, ipc, ip, el, phase, of) resul
phase, & phase, &
of of
real(pReal), intent(in), dimension(3,3) :: & real(pReal), intent(in), dimension(3,3) :: &
S, & !< 2nd Piola Kirchhoff stress Fe !< elastic deformation gradient
Fe, & !< elastic deformation gradient
Fi !< intermediate deformation gradient
real(pReal), dimension(3,3) :: &
Mp
integer :: & integer :: &
i, & i, &
instance, &
myOffset, & myOffset, &
mySize mySize
logical :: & logical :: &

View File

@ -1138,7 +1138,6 @@ subroutine integrateStateFPI(g,i,e)
if(crystallite_converged(g,i,e)) then if(crystallite_converged(g,i,e)) then
broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), &
crystallite_Fe(1:3,1:3,g,i,e), &
crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c)
exit iteration exit iteration
endif endif
@ -1200,11 +1199,7 @@ subroutine integrateSourceState(g,i,e)
p = material_phaseAt(g,e) p = material_phaseAt(g,e)
c = material_phaseMemberAt(g,i,e) c = material_phaseMemberAt(g,i,e)
broken = constitutive_collectDotState_source(crystallite_S(1:3,1:3,g,i,e), & broken = constitutive_collectDotState_source(crystallite_S(1:3,1:3,g,i,e), g,i,e,p,c)
crystallite_partitionedF0, &
crystallite_Fi(1:3,1:3,g,i,e), &
crystallite_partitionedFp0, &
crystallite_subdt(g,i,e), g,i,e,p,c)
if(broken) return if(broken) return
do s = 1, phase_Nsources(p) do s = 1, phase_Nsources(p)
@ -1222,11 +1217,7 @@ subroutine integrateSourceState(g,i,e)
source_dotState(1:size_so(s),1,s) = sourceState(p)%p(s)%dotState(:,c) source_dotState(1:size_so(s),1,s) = sourceState(p)%p(s)%dotState(:,c)
enddo enddo
broken = constitutive_collectDotState_source(crystallite_S(1:3,1:3,g,i,e), & broken = constitutive_collectDotState_source(crystallite_S(1:3,1:3,g,i,e), g,i,e,p,c)
crystallite_partitionedF0, &
crystallite_Fi(1:3,1:3,g,i,e), &
crystallite_partitionedFp0, &
crystallite_subdt(g,i,e), g,i,e,p,c)
if(broken) exit iteration if(broken) exit iteration
do s = 1, phase_Nsources(p) do s = 1, phase_Nsources(p)
@ -1247,9 +1238,7 @@ subroutine integrateSourceState(g,i,e)
enddo enddo
if(crystallite_converged(g,i,e)) then if(crystallite_converged(g,i,e)) then
broken = constitutive_deltaState_source(crystallite_S(1:3,1:3,g,i,e), & broken = constitutive_deltaState_source(crystallite_Fe(1:3,1:3,g,i,e),g,i,e,p,c)
crystallite_Fe(1:3,1:3,g,i,e), &
crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c)
exit iteration exit iteration
endif endif
@ -1312,7 +1301,6 @@ subroutine integrateStateEuler(g,i,e)
* crystallite_subdt(g,i,e) * crystallite_subdt(g,i,e)
broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), &
crystallite_Fe(1:3,1:3,g,i,e), &
crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c)
if(broken) return if(broken) return
@ -1358,7 +1346,6 @@ subroutine integrateStateAdaptiveEuler(g,i,e)
+ plasticState(p)%dotstate(1:sizeDotState,c) * crystallite_subdt(g,i,e) + plasticState(p)%dotstate(1:sizeDotState,c) * crystallite_subdt(g,i,e)
broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), &
crystallite_Fe(1:3,1:3,g,i,e), &
crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c)
if(broken) return if(broken) return
@ -1515,7 +1502,6 @@ subroutine integrateStateRK(g,i,e,A,B,CC,DB)
if(broken) return if(broken) return
broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), & broken = constitutive_deltaState(crystallite_S(1:3,1:3,g,i,e), &
crystallite_Fe(1:3,1:3,g,i,e), &
crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c)
if(broken) return if(broken) return