diff --git a/src/constitutive.f90 b/src/constitutive.f90 index 635f169cd..b2f68e5dd 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -666,7 +666,7 @@ end function constitutive_collectDotState !-------------------------------------------------------------------------------------------------- !> @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) :: & ipc, & !< component-ID of integration point @@ -674,28 +674,12 @@ function constitutive_collectDotState_source(S, FArray, Fi, FpArray, subdt, ipc, el, & !< element phase, & 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) :: & S !< 2nd Piola Kirchhoff stress (vector notation) - real(pReal), dimension(3,3) :: & - Mp integer :: & - ho, & !< homogenization - tme, & !< thermal member position - i, & !< counter in source loop - instance + i !< counter in source loop logical :: broken - ho = material_homogenizationAt(el) - tme = material_homogenizationMemberAt(ip,el) - instance = phase_plasticityInstance(phase) - broken = .false. @@ -728,7 +712,7 @@ end function constitutive_collectDotState_source !> @brief for constitutive models having an instantaneous change of state !> 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) :: & ipc, & !< component-ID of integration point @@ -738,12 +722,10 @@ function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broke of real(pReal), intent(in), dimension(3,3) :: & S, & !< 2nd Piola Kirchhoff stress - Fe, & !< elastic deformation gradient Fi !< intermediate deformation gradient real(pReal), dimension(3,3) :: & Mp integer :: & - i, & instance, & myOffset, & mySize @@ -786,7 +768,7 @@ end function constitutive_deltaState !> @brief for constitutive models having an instantaneous change of state !> 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) :: & ipc, & !< component-ID of integration point @@ -795,14 +777,9 @@ function constitutive_deltaState_source(S, Fe, Fi, ipc, ip, el, phase, of) resul phase, & of real(pReal), intent(in), dimension(3,3) :: & - S, & !< 2nd Piola Kirchhoff stress - Fe, & !< elastic deformation gradient - Fi !< intermediate deformation gradient - real(pReal), dimension(3,3) :: & - Mp + Fe !< elastic deformation gradient integer :: & i, & - instance, & myOffset, & mySize logical :: & diff --git a/src/crystallite.f90 b/src/crystallite.f90 index 6abc31125..5378c4cbb 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -1138,7 +1138,6 @@ subroutine integrateStateFPI(g,i,e) if(crystallite_converged(g,i,e)) then 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) exit iteration endif @@ -1200,11 +1199,7 @@ subroutine integrateSourceState(g,i,e) p = material_phaseAt(g,e) c = material_phaseMemberAt(g,i,e) - broken = constitutive_collectDotState_source(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partitionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partitionedFp0, & - crystallite_subdt(g,i,e), g,i,e,p,c) + broken = constitutive_collectDotState_source(crystallite_S(1:3,1:3,g,i,e), g,i,e,p,c) if(broken) return 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) enddo - broken = constitutive_collectDotState_source(crystallite_S(1:3,1:3,g,i,e), & - crystallite_partitionedF0, & - crystallite_Fi(1:3,1:3,g,i,e), & - crystallite_partitionedFp0, & - crystallite_subdt(g,i,e), g,i,e,p,c) + broken = constitutive_collectDotState_source(crystallite_S(1:3,1:3,g,i,e), g,i,e,p,c) if(broken) exit iteration do s = 1, phase_Nsources(p) @@ -1247,9 +1238,7 @@ subroutine integrateSourceState(g,i,e) enddo if(crystallite_converged(g,i,e)) then - broken = constitutive_deltaState_source(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) + broken = constitutive_deltaState_source(crystallite_Fe(1:3,1:3,g,i,e),g,i,e,p,c) exit iteration endif @@ -1312,7 +1301,6 @@ subroutine integrateStateEuler(g,i,e) * crystallite_subdt(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) if(broken) return @@ -1358,7 +1346,6 @@ subroutine integrateStateAdaptiveEuler(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), & - crystallite_Fe(1:3,1:3,g,i,e), & crystallite_Fi(1:3,1:3,g,i,e),g,i,e,p,c) if(broken) return @@ -1515,7 +1502,6 @@ subroutine integrateStateRK(g,i,e,A,B,CC,DB) if(broken) return 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) if(broken) return