From ca0b3b7b814cbad547c1ed477c50867c68cb9a1b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 19 Sep 2013 07:46:01 +0000 Subject: [PATCH] changed name of some variables to be in accordance with constitutive_none,j2,phenopowerlaw --- code/constitutive.f90 | 473 ++++++++++++++++++++---------------------- 1 file changed, 227 insertions(+), 246 deletions(-) diff --git a/code/constitutive.f90 b/code/constitutive.f90 index 90f6022c4..7d629015d 100644 --- a/code/constitutive.f90 +++ b/code/constitutive.f90 @@ -32,7 +32,7 @@ module constitutive implicit none private type(p_vec), public, dimension(:,:,:), allocatable :: & - constitutive_state0, & !< pointer array to microstructure at start of FE inc + constitutive_state0, & !< pointer array to microstructure at start of BVP inc constitutive_partionedState0, & !< pointer array to microstructure at start of homogenization inc constitutive_subState0, & !< pointer array to microstructure at start of crystallite inc constitutive_state, & !< pointer array to current microstructure (end of converged time step) @@ -125,12 +125,12 @@ subroutine constitutive_init g, & !< grain number i, & !< integration point number e, & !< element number - gMax, & !< maximum number of grains + cMax, & !< maximum number of grains iMax, & !< maximum number of integration points eMax, & !< maximum number of elements p, & s, & - myInstance,& + matID,& myNgrains integer(pInt), dimension(:,:), pointer :: thisSize character(len=64), dimension(:,:), pointer :: thisOutput @@ -196,31 +196,31 @@ subroutine constitutive_init !-------------------------------------------------------------------------------------------------- ! allocation of states - gMax = homogenization_maxNgrains + cMax = homogenization_maxNgrains iMax = mesh_maxNips eMax = mesh_NcpElems - allocate(constitutive_state0(gMax,iMax,eMax)) - allocate(constitutive_partionedState0(gMax,iMax,eMax)) - allocate(constitutive_subState0(gMax,iMax,eMax)) - allocate(constitutive_state(gMax,iMax,eMax)) - allocate(constitutive_state_backup(gMax,iMax,eMax)) - allocate(constitutive_dotState(gMax,iMax,eMax)) - allocate(constitutive_deltaState(gMax,iMax,eMax)) - allocate(constitutive_dotState_backup(gMax,iMax,eMax)) - allocate(constitutive_aTolState(gMax,iMax,eMax)) - allocate(constitutive_sizeDotState(gMax,iMax,eMax)) ; constitutive_sizeDotState = 0_pInt - allocate(constitutive_sizeState(gMax,iMax,eMax)) ; constitutive_sizeState = 0_pInt - allocate(constitutive_sizePostResults(gMax,iMax,eMax)); constitutive_sizePostResults = 0_pInt + allocate(constitutive_state0(cMax,iMax,eMax)) + allocate(constitutive_partionedState0(cMax,iMax,eMax)) + allocate(constitutive_subState0(cMax,iMax,eMax)) + allocate(constitutive_state(cMax,iMax,eMax)) + allocate(constitutive_state_backup(cMax,iMax,eMax)) + allocate(constitutive_dotState(cMax,iMax,eMax)) + allocate(constitutive_deltaState(cMax,iMax,eMax)) + allocate(constitutive_dotState_backup(cMax,iMax,eMax)) + allocate(constitutive_aTolState(cMax,iMax,eMax)) + allocate(constitutive_sizeDotState(cMax,iMax,eMax)) ; constitutive_sizeDotState = 0_pInt + allocate(constitutive_sizeState(cMax,iMax,eMax)) ; constitutive_sizeState = 0_pInt + allocate(constitutive_sizePostResults(cMax,iMax,eMax)); constitutive_sizePostResults = 0_pInt if (any(numerics_integrator == 1_pInt)) then - allocate(constitutive_previousDotState(gMax,iMax,eMax)) - allocate(constitutive_previousDotState2(gMax,iMax,eMax)) + allocate(constitutive_previousDotState(cMax,iMax,eMax)) + allocate(constitutive_previousDotState2(cMax,iMax,eMax)) endif if (any(numerics_integrator == 4_pInt)) then - allocate(constitutive_RK4dotState(gMax,iMax,eMax)) + allocate(constitutive_RK4dotState(cMax,iMax,eMax)) endif if (any(numerics_integrator == 5_pInt)) then - allocate(constitutive_RKCK45dotState(6,gMax,iMax,eMax)) + allocate(constitutive_RKCK45dotState(6,cMax,iMax,eMax)) endif do e = 1_pInt,mesh_NcpElems ! loop over elements @@ -235,177 +235,177 @@ subroutine constitutive_init call IO_error(200_pInt,ext_msg=trim(phase_elasticity(material_phase(g,i,e)))) ! unknown elasticity end select - myInstance = phase_plasticityInstance(material_phase(g,i,e)) + matID = phase_plasticityInstance(material_phase(g,i,e)) select case(phase_plasticity(material_phase(g,i,e))) case (constitutive_none_label) - allocate(constitutive_state0(g,i,e)%p(constitutive_none_sizeState(myInstance))) - allocate(constitutive_partionedState0(g,i,e)%p(constitutive_none_sizeState(myInstance))) - allocate(constitutive_subState0(g,i,e)%p(constitutive_none_sizeState(myInstance))) - allocate(constitutive_state(g,i,e)%p(constitutive_none_sizeState(myInstance))) - allocate(constitutive_state_backup(g,i,e)%p(constitutive_none_sizeState(myInstance))) - allocate(constitutive_aTolState(g,i,e)%p(constitutive_none_sizeState(myInstance))) - allocate(constitutive_dotState(g,i,e)%p(constitutive_none_sizeDotState(myInstance))) - allocate(constitutive_deltaState(g,i,e)%p(constitutive_none_sizeDotState(myInstance))) - allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_none_sizeDotState(myInstance))) + allocate(constitutive_state0(g,i,e)%p(constitutive_none_sizeState(matID))) + allocate(constitutive_partionedState0(g,i,e)%p(constitutive_none_sizeState(matID))) + allocate(constitutive_subState0(g,i,e)%p(constitutive_none_sizeState(matID))) + allocate(constitutive_state(g,i,e)%p(constitutive_none_sizeState(matID))) + allocate(constitutive_state_backup(g,i,e)%p(constitutive_none_sizeState(matID))) + allocate(constitutive_aTolState(g,i,e)%p(constitutive_none_sizeState(matID))) + allocate(constitutive_dotState(g,i,e)%p(constitutive_none_sizeDotState(matID))) + allocate(constitutive_deltaState(g,i,e)%p(constitutive_none_sizeDotState(matID))) + allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_none_sizeDotState(matID))) if (any(numerics_integrator == 1_pInt)) then - allocate(constitutive_previousDotState(g,i,e)%p(constitutive_none_sizeDotState(myInstance))) - allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_none_sizeDotState(myInstance))) + allocate(constitutive_previousDotState(g,i,e)%p(constitutive_none_sizeDotState(matID))) + allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_none_sizeDotState(matID))) endif if (any(numerics_integrator == 4_pInt)) then - allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_none_sizeDotState(myInstance))) + allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_none_sizeDotState(matID))) endif if (any(numerics_integrator == 5_pInt)) then do s = 1_pInt,6_pInt - allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_none_sizeDotState(myInstance))) + allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_none_sizeDotState(matID))) enddo endif - constitutive_state0(g,i,e)%p = constitutive_none_stateInit(myInstance) - constitutive_aTolState(g,i,e)%p = constitutive_none_aTolState(myInstance) - constitutive_sizeState(g,i,e) = constitutive_none_sizeState(myInstance) - constitutive_sizeDotState(g,i,e) = constitutive_none_sizeDotState(myInstance) - constitutive_sizePostResults(g,i,e) = constitutive_none_sizePostResults(myInstance) + constitutive_state0(g,i,e)%p = constitutive_none_stateInit(matID) + constitutive_aTolState(g,i,e)%p = constitutive_none_aTolState(matID) + constitutive_sizeState(g,i,e) = constitutive_none_sizeState(matID) + constitutive_sizeDotState(g,i,e) = constitutive_none_sizeDotState(matID) + constitutive_sizePostResults(g,i,e) = constitutive_none_sizePostResults(matID) case (constitutive_j2_label) - allocate(constitutive_state0(g,i,e)%p(constitutive_j2_sizeState(myInstance))) - allocate(constitutive_partionedState0(g,i,e)%p(constitutive_j2_sizeState(myInstance))) - allocate(constitutive_subState0(g,i,e)%p(constitutive_j2_sizeState(myInstance))) - allocate(constitutive_state(g,i,e)%p(constitutive_j2_sizeState(myInstance))) - allocate(constitutive_state_backup(g,i,e)%p(constitutive_j2_sizeState(myInstance))) - allocate(constitutive_aTolState(g,i,e)%p(constitutive_j2_sizeState(myInstance))) - allocate(constitutive_dotState(g,i,e)%p(constitutive_j2_sizeDotState(myInstance))) - allocate(constitutive_deltaState(g,i,e)%p(constitutive_j2_sizeDotState(myInstance))) - allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_j2_sizeDotState(myInstance))) + allocate(constitutive_state0(g,i,e)%p(constitutive_j2_sizeState(matID))) + allocate(constitutive_partionedState0(g,i,e)%p(constitutive_j2_sizeState(matID))) + allocate(constitutive_subState0(g,i,e)%p(constitutive_j2_sizeState(matID))) + allocate(constitutive_state(g,i,e)%p(constitutive_j2_sizeState(matID))) + allocate(constitutive_state_backup(g,i,e)%p(constitutive_j2_sizeState(matID))) + allocate(constitutive_aTolState(g,i,e)%p(constitutive_j2_sizeState(matID))) + allocate(constitutive_dotState(g,i,e)%p(constitutive_j2_sizeDotState(matID))) + allocate(constitutive_deltaState(g,i,e)%p(constitutive_j2_sizeDotState(matID))) + allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_j2_sizeDotState(matID))) if (any(numerics_integrator == 1_pInt)) then - allocate(constitutive_previousDotState(g,i,e)%p(constitutive_j2_sizeDotState(myInstance))) - allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_j2_sizeDotState(myInstance))) + allocate(constitutive_previousDotState(g,i,e)%p(constitutive_j2_sizeDotState(matID))) + allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_j2_sizeDotState(matID))) endif if (any(numerics_integrator == 4_pInt)) then - allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_j2_sizeDotState(myInstance))) + allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_j2_sizeDotState(matID))) endif if (any(numerics_integrator == 5_pInt)) then do s = 1_pInt,6_pInt - allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_j2_sizeDotState(myInstance))) + allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_j2_sizeDotState(matID))) enddo endif - constitutive_state0(g,i,e)%p = constitutive_j2_stateInit(myInstance) - constitutive_aTolState(g,i,e)%p = constitutive_j2_aTolState(myInstance) - constitutive_sizeState(g,i,e) = constitutive_j2_sizeState(myInstance) - constitutive_sizeDotState(g,i,e) = constitutive_j2_sizeDotState(myInstance) - constitutive_sizePostResults(g,i,e) = constitutive_j2_sizePostResults(myInstance) + constitutive_state0(g,i,e)%p = constitutive_j2_stateInit(matID) + constitutive_aTolState(g,i,e)%p = constitutive_j2_aTolState(matID) + constitutive_sizeState(g,i,e) = constitutive_j2_sizeState(matID) + constitutive_sizeDotState(g,i,e) = constitutive_j2_sizeDotState(matID) + constitutive_sizePostResults(g,i,e) = constitutive_j2_sizePostResults(matID) case (constitutive_phenopowerlaw_label) - allocate(constitutive_state0(g,i,e)%p(constitutive_phenopowerlaw_sizeState(myInstance))) - allocate(constitutive_partionedState0(g,i,e)%p(constitutive_phenopowerlaw_sizeState(myInstance))) - allocate(constitutive_subState0(g,i,e)%p(constitutive_phenopowerlaw_sizeState(myInstance))) - allocate(constitutive_state(g,i,e)%p(constitutive_phenopowerlaw_sizeState(myInstance))) - allocate(constitutive_state_backup(g,i,e)%p(constitutive_phenopowerlaw_sizeState(myInstance))) - allocate(constitutive_aTolState(g,i,e)%p(constitutive_phenopowerlaw_sizeState(myInstance))) - allocate(constitutive_dotState(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(myInstance))) - allocate(constitutive_deltaState(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(myInstance))) - allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(myInstance))) + allocate(constitutive_state0(g,i,e)%p(constitutive_phenopowerlaw_sizeState(matID))) + allocate(constitutive_partionedState0(g,i,e)%p(constitutive_phenopowerlaw_sizeState(matID))) + allocate(constitutive_subState0(g,i,e)%p(constitutive_phenopowerlaw_sizeState(matID))) + allocate(constitutive_state(g,i,e)%p(constitutive_phenopowerlaw_sizeState(matID))) + allocate(constitutive_state_backup(g,i,e)%p(constitutive_phenopowerlaw_sizeState(matID))) + allocate(constitutive_aTolState(g,i,e)%p(constitutive_phenopowerlaw_sizeState(matID))) + allocate(constitutive_dotState(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(matID))) + allocate(constitutive_deltaState(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(matID))) + allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(matID))) if (any(numerics_integrator == 1_pInt)) then - allocate(constitutive_previousDotState(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(myInstance))) - allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(myInstance))) + allocate(constitutive_previousDotState(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(matID))) + allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(matID))) endif if (any(numerics_integrator == 4_pInt)) then - allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(myInstance))) + allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(matID))) endif if (any(numerics_integrator == 5_pInt)) then do s = 1_pInt,6_pInt - allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(myInstance))) + allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_phenopowerlaw_sizeDotState(matID))) enddo endif - constitutive_state0(g,i,e)%p = constitutive_phenopowerlaw_stateInit(myInstance) - constitutive_aTolState(g,i,e)%p = constitutive_phenopowerlaw_aTolState(myInstance) - constitutive_sizeState(g,i,e) = constitutive_phenopowerlaw_sizeState(myInstance) - constitutive_sizeDotState(g,i,e) = constitutive_phenopowerlaw_sizeDotState(myInstance) - constitutive_sizePostResults(g,i,e) = constitutive_phenopowerlaw_sizePostResults(myInstance) + constitutive_state0(g,i,e)%p = constitutive_phenopowerlaw_stateInit(matID) + constitutive_aTolState(g,i,e)%p = constitutive_phenopowerlaw_aTolState(matID) + constitutive_sizeState(g,i,e) = constitutive_phenopowerlaw_sizeState(matID) + constitutive_sizeDotState(g,i,e) = constitutive_phenopowerlaw_sizeDotState(matID) + constitutive_sizePostResults(g,i,e) = constitutive_phenopowerlaw_sizePostResults(matID) case (constitutive_titanmod_label) - allocate(constitutive_state0(g,i,e)%p(constitutive_titanmod_sizeState(myInstance))) - allocate(constitutive_partionedState0(g,i,e)%p(constitutive_titanmod_sizeState(myInstance))) - allocate(constitutive_subState0(g,i,e)%p(constitutive_titanmod_sizeState(myInstance))) - allocate(constitutive_state(g,i,e)%p(constitutive_titanmod_sizeState(myInstance))) - allocate(constitutive_state_backup(g,i,e)%p(constitutive_titanmod_sizeState(myInstance))) - allocate(constitutive_aTolState(g,i,e)%p(constitutive_titanmod_sizeState(myInstance))) - allocate(constitutive_dotState(g,i,e)%p(constitutive_titanmod_sizeDotState(myInstance))) - allocate(constitutive_deltaState(g,i,e)%p(constitutive_titanmod_sizeDotState(myInstance))) - allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_titanmod_sizeDotState(myInstance))) + allocate(constitutive_state0(g,i,e)%p(constitutive_titanmod_sizeState(matID))) + allocate(constitutive_partionedState0(g,i,e)%p(constitutive_titanmod_sizeState(matID))) + allocate(constitutive_subState0(g,i,e)%p(constitutive_titanmod_sizeState(matID))) + allocate(constitutive_state(g,i,e)%p(constitutive_titanmod_sizeState(matID))) + allocate(constitutive_state_backup(g,i,e)%p(constitutive_titanmod_sizeState(matID))) + allocate(constitutive_aTolState(g,i,e)%p(constitutive_titanmod_sizeState(matID))) + allocate(constitutive_dotState(g,i,e)%p(constitutive_titanmod_sizeDotState(matID))) + allocate(constitutive_deltaState(g,i,e)%p(constitutive_titanmod_sizeDotState(matID))) + allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_titanmod_sizeDotState(matID))) if (any(numerics_integrator == 1_pInt)) then - allocate(constitutive_previousDotState(g,i,e)%p(constitutive_titanmod_sizeDotState(myInstance))) - allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_titanmod_sizeDotState(myInstance))) + allocate(constitutive_previousDotState(g,i,e)%p(constitutive_titanmod_sizeDotState(matID))) + allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_titanmod_sizeDotState(matID))) endif if (any(numerics_integrator == 4_pInt)) then - allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_titanmod_sizeDotState(myInstance))) + allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_titanmod_sizeDotState(matID))) endif if (any(numerics_integrator == 5_pInt)) then do s = 1_pInt,6_pInt - allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_titanmod_sizeDotState(myInstance))) + allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_titanmod_sizeDotState(matID))) enddo endif - constitutive_state0(g,i,e)%p = constitutive_titanmod_stateInit(myInstance) - constitutive_aTolState(g,i,e)%p = constitutive_titanmod_aTolState(myInstance) - constitutive_sizeState(g,i,e) = constitutive_titanmod_sizeState(myInstance) - constitutive_sizeDotState(g,i,e) = constitutive_titanmod_sizeDotState(myInstance) - constitutive_sizePostResults(g,i,e) = constitutive_titanmod_sizePostResults(myInstance) + constitutive_state0(g,i,e)%p = constitutive_titanmod_stateInit(matID) + constitutive_aTolState(g,i,e)%p = constitutive_titanmod_aTolState(matID) + constitutive_sizeState(g,i,e) = constitutive_titanmod_sizeState(matID) + constitutive_sizeDotState(g,i,e) = constitutive_titanmod_sizeDotState(matID) + constitutive_sizePostResults(g,i,e) = constitutive_titanmod_sizePostResults(matID) case (constitutive_dislotwin_label) - allocate(constitutive_state0(g,i,e)%p(constitutive_dislotwin_sizeState(myInstance))) - allocate(constitutive_partionedState0(g,i,e)%p(constitutive_dislotwin_sizeState(myInstance))) - allocate(constitutive_subState0(g,i,e)%p(constitutive_dislotwin_sizeState(myInstance))) - allocate(constitutive_state(g,i,e)%p(constitutive_dislotwin_sizeState(myInstance))) - allocate(constitutive_state_backup(g,i,e)%p(constitutive_dislotwin_sizeState(myInstance))) - allocate(constitutive_aTolState(g,i,e)%p(constitutive_dislotwin_sizeState(myInstance))) - allocate(constitutive_dotState(g,i,e)%p(constitutive_dislotwin_sizeDotState(myInstance))) - allocate(constitutive_deltaState(g,i,e)%p(constitutive_dislotwin_sizeDotState(myInstance))) - allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_dislotwin_sizeDotState(myInstance))) + allocate(constitutive_state0(g,i,e)%p(constitutive_dislotwin_sizeState(matID))) + allocate(constitutive_partionedState0(g,i,e)%p(constitutive_dislotwin_sizeState(matID))) + allocate(constitutive_subState0(g,i,e)%p(constitutive_dislotwin_sizeState(matID))) + allocate(constitutive_state(g,i,e)%p(constitutive_dislotwin_sizeState(matID))) + allocate(constitutive_state_backup(g,i,e)%p(constitutive_dislotwin_sizeState(matID))) + allocate(constitutive_aTolState(g,i,e)%p(constitutive_dislotwin_sizeState(matID))) + allocate(constitutive_dotState(g,i,e)%p(constitutive_dislotwin_sizeDotState(matID))) + allocate(constitutive_deltaState(g,i,e)%p(constitutive_dislotwin_sizeDotState(matID))) + allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_dislotwin_sizeDotState(matID))) if (any(numerics_integrator == 1_pInt)) then - allocate(constitutive_previousDotState(g,i,e)%p(constitutive_dislotwin_sizeDotState(myInstance))) - allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_dislotwin_sizeDotState(myInstance))) + allocate(constitutive_previousDotState(g,i,e)%p(constitutive_dislotwin_sizeDotState(matID))) + allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_dislotwin_sizeDotState(matID))) endif if (any(numerics_integrator == 4_pInt)) then - allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_dislotwin_sizeDotState(myInstance))) + allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_dislotwin_sizeDotState(matID))) endif if (any(numerics_integrator == 5_pInt)) then do s = 1_pInt,6_pInt - allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_dislotwin_sizeDotState(myInstance))) + allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_dislotwin_sizeDotState(matID))) enddo endif - constitutive_state0(g,i,e)%p = constitutive_dislotwin_stateInit(myInstance) - constitutive_aTolState(g,i,e)%p = constitutive_dislotwin_aTolState(myInstance) - constitutive_sizeState(g,i,e) = constitutive_dislotwin_sizeState(myInstance) - constitutive_sizeDotState(g,i,e) = constitutive_dislotwin_sizeDotState(myInstance) - constitutive_sizePostResults(g,i,e) = constitutive_dislotwin_sizePostResults(myInstance) + constitutive_state0(g,i,e)%p = constitutive_dislotwin_stateInit(matID) + constitutive_aTolState(g,i,e)%p = constitutive_dislotwin_aTolState(matID) + constitutive_sizeState(g,i,e) = constitutive_dislotwin_sizeState(matID) + constitutive_sizeDotState(g,i,e) = constitutive_dislotwin_sizeDotState(matID) + constitutive_sizePostResults(g,i,e) = constitutive_dislotwin_sizePostResults(matID) case (constitutive_nonlocal_label) nonlocalConstitutionPresent = .true. if(myNgrains/=1_pInt) call IO_error(252_pInt, e,i,g) - allocate(constitutive_state0(g,i,e)%p(constitutive_nonlocal_sizeState(myInstance))) - allocate(constitutive_partionedState0(g,i,e)%p(constitutive_nonlocal_sizeState(myInstance))) - allocate(constitutive_subState0(g,i,e)%p(constitutive_nonlocal_sizeState(myInstance))) - allocate(constitutive_state(g,i,e)%p(constitutive_nonlocal_sizeState(myInstance))) - allocate(constitutive_state_backup(g,i,e)%p(constitutive_nonlocal_sizeState(myInstance))) - allocate(constitutive_aTolState(g,i,e)%p(constitutive_nonlocal_sizeState(myInstance))) - allocate(constitutive_dotState(g,i,e)%p(constitutive_nonlocal_sizeDotState(myInstance))) - allocate(constitutive_deltaState(g,i,e)%p(constitutive_nonlocal_sizeDotState(myInstance))) - allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_nonlocal_sizeDotState(myInstance))) + allocate(constitutive_state0(g,i,e)%p(constitutive_nonlocal_sizeState(matID))) + allocate(constitutive_partionedState0(g,i,e)%p(constitutive_nonlocal_sizeState(matID))) + allocate(constitutive_subState0(g,i,e)%p(constitutive_nonlocal_sizeState(matID))) + allocate(constitutive_state(g,i,e)%p(constitutive_nonlocal_sizeState(matID))) + allocate(constitutive_state_backup(g,i,e)%p(constitutive_nonlocal_sizeState(matID))) + allocate(constitutive_aTolState(g,i,e)%p(constitutive_nonlocal_sizeState(matID))) + allocate(constitutive_dotState(g,i,e)%p(constitutive_nonlocal_sizeDotState(matID))) + allocate(constitutive_deltaState(g,i,e)%p(constitutive_nonlocal_sizeDotState(matID))) + allocate(constitutive_dotState_backup(g,i,e)%p(constitutive_nonlocal_sizeDotState(matID))) if (any(numerics_integrator == 1_pInt)) then - allocate(constitutive_previousDotState(g,i,e)%p(constitutive_nonlocal_sizeDotState(myInstance))) - allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_nonlocal_sizeDotState(myInstance))) + allocate(constitutive_previousDotState(g,i,e)%p(constitutive_nonlocal_sizeDotState(matID))) + allocate(constitutive_previousDotState2(g,i,e)%p(constitutive_nonlocal_sizeDotState(matID))) endif if (any(numerics_integrator == 4_pInt)) then - allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_nonlocal_sizeDotState(myInstance))) + allocate(constitutive_RK4dotState(g,i,e)%p(constitutive_nonlocal_sizeDotState(matID))) endif if (any(numerics_integrator == 5_pInt)) then do s = 1_pInt,6_pInt - allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_nonlocal_sizeDotState(myInstance))) + allocate(constitutive_RKCK45dotState(s,g,i,e)%p(constitutive_nonlocal_sizeDotState(matID))) enddo endif - constitutive_aTolState(g,i,e)%p = constitutive_nonlocal_aTolState(myInstance) - constitutive_sizeState(g,i,e) = constitutive_nonlocal_sizeState(myInstance) - constitutive_sizeDotState(g,i,e) = constitutive_nonlocal_sizeDotState(myInstance) - constitutive_sizePostResults(g,i,e) = constitutive_nonlocal_sizePostResults(myInstance) + constitutive_aTolState(g,i,e)%p = constitutive_nonlocal_aTolState(matID) + constitutive_sizeState(g,i,e) = constitutive_nonlocal_sizeState(matID) + constitutive_sizeDotState(g,i,e) = constitutive_nonlocal_sizeDotState(matID) + constitutive_sizePostResults(g,i,e) = constitutive_nonlocal_sizePostResults(matID) case default call IO_error(201_pInt,ext_msg=trim(phase_plasticity(material_phase(g,i,e)))) ! unknown plasticity @@ -460,7 +460,7 @@ end subroutine constitutive_init !-------------------------------------------------------------------------------------------------- !> @brief returns the homogenize elasticity matrix !-------------------------------------------------------------------------------------------------- -pure function constitutive_homogenizedC(g,i,e) +pure function constitutive_homogenizedC(ipc,ip,el) use material, only: & phase_plasticity, & material_phase @@ -474,29 +474,29 @@ pure function constitutive_homogenizedC(g,i,e) implicit none real(pReal), dimension(6,6) :: constitutive_homogenizedC integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number - select case (phase_plasticity(material_phase(g,i,e))) + select case (phase_plasticity(material_phase(ipc,ip,el))) case (constitutive_none_label) - constitutive_homogenizedC = constitutive_none_homogenizedC(constitutive_state,g,i,e) + constitutive_homogenizedC = constitutive_none_homogenizedC(constitutive_state,ipc,ip,el) case (constitutive_j2_label) - constitutive_homogenizedC = constitutive_j2_homogenizedC(constitutive_state,g,i,e) + constitutive_homogenizedC = constitutive_j2_homogenizedC(constitutive_state,ipc,ip,el) case (constitutive_phenopowerlaw_label) - constitutive_homogenizedC = constitutive_phenopowerlaw_homogenizedC(constitutive_state,g,i,e) + constitutive_homogenizedC = constitutive_phenopowerlaw_homogenizedC(constitutive_state,ipc,ip,el) case (constitutive_titanmod_label) - constitutive_homogenizedC = constitutive_titanmod_homogenizedC(constitutive_state,g,i,e) + constitutive_homogenizedC = constitutive_titanmod_homogenizedC(constitutive_state,ipc,ip,el) case (constitutive_dislotwin_label) - constitutive_homogenizedC = constitutive_dislotwin_homogenizedC(constitutive_state,g,i,e) + constitutive_homogenizedC = constitutive_dislotwin_homogenizedC(constitutive_state,ipc,ip,el) case (constitutive_nonlocal_label) - constitutive_homogenizedC = constitutive_nonlocal_homogenizedC(constitutive_state,g,i,e) + constitutive_homogenizedC = constitutive_nonlocal_homogenizedC(constitutive_state,ipc,ip,el) end select @@ -504,9 +504,9 @@ end function constitutive_homogenizedC !-------------------------------------------------------------------------------------------------- -!> @brief returns average length of Burgers vector +!> @brief returns average length of Burgers vector (not material point model specific so far) !-------------------------------------------------------------------------------------------------- -real(pReal) function constitutive_averageBurgers(g,i,e) +real(pReal) function constitutive_averageBurgers(ipc,ip,el) use material, only: & phase_plasticity,material_phase use constitutive_none, only: & @@ -524,31 +524,12 @@ real(pReal) function constitutive_averageBurgers(g,i,e) implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number - select case (phase_plasticity(material_phase(g,i,e))) - - case (constitutive_none_label) - constitutive_averageBurgers = 2.5e-10_pReal ! constitutive_none_averageBurgers(constitutive_state,g,i,e) - - case (constitutive_j2_label) - constitutive_averageBurgers = 2.5e-10_pReal ! constitutive_j2_averageBurgers(constitutive_state,g,i,e) - - case (constitutive_phenopowerlaw_label) - constitutive_averageBurgers = 2.5e-10_pReal ! constitutive_phenopowerlaw_averageBurgers(constitutive_state,g,i,e) + constitutive_averageBurgers = 2.5e-10_pReal - case (constitutive_titanmod_label) - constitutive_averageBurgers = 2.5e-10_pReal ! constitutive_titanmod_averageBurgers(constitutive_state,g,i,e) - - case (constitutive_dislotwin_label) - constitutive_averageBurgers = 2.5e-10_pReal ! constitutive_dislotwin_averageBurgers(constitutive_state,g,i,e) - - case (constitutive_nonlocal_label) - constitutive_averageBurgers = 2.5e-10_pReal ! constitutive_nonlocal_averageBurgers(constitutive_state,g,i,e) - - end select end function constitutive_averageBurgers @@ -556,7 +537,7 @@ end function constitutive_averageBurgers !-------------------------------------------------------------------------------------------------- !> @brief calls microstructure function of the different constitutive models !-------------------------------------------------------------------------------------------------- -subroutine constitutive_microstructure(Temperature, Fe, Fp, g, i, e) +subroutine constitutive_microstructure(Temperature, Fe, Fp, ipc, ip, el) use material, only: & phase_plasticity, & material_phase @@ -581,34 +562,34 @@ subroutine constitutive_microstructure(Temperature, Fe, Fp, g, i, e) implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & Temperature real(pReal), intent(in), dimension(3,3) :: & Fe, & !< elastic deformation gradient Fp !< plastic deformation gradient - select case (phase_plasticity(material_phase(g,i,e))) + select case (phase_plasticity(material_phase(ipc,ip,el))) case (constitutive_none_label) - call constitutive_none_microstructure(Temperature,constitutive_state,g,i,e) + call constitutive_none_microstructure(Temperature,constitutive_state,ipc,ip,el) case (constitutive_j2_label) - call constitutive_j2_microstructure(Temperature,constitutive_state,g,i,e) + call constitutive_j2_microstructure(Temperature,constitutive_state,ipc,ip,el) case (constitutive_phenopowerlaw_label) - call constitutive_phenopowerlaw_microstructure(Temperature,constitutive_state,g,i,e) + call constitutive_phenopowerlaw_microstructure(Temperature,constitutive_state,ipc,ip,el) case (constitutive_titanmod_label) - call constitutive_titanmod_microstructure(Temperature,constitutive_state,g,i,e) + call constitutive_titanmod_microstructure(Temperature,constitutive_state,ipc,ip,el) case (constitutive_dislotwin_label) - call constitutive_dislotwin_microstructure(Temperature,constitutive_state,g,i,e) + call constitutive_dislotwin_microstructure(Temperature,constitutive_state,ipc,ip,el) case (constitutive_nonlocal_label) - call constitutive_nonlocal_microstructure(constitutive_state, Temperature, Fe, Fp, g, i, e) + call constitutive_nonlocal_microstructure(constitutive_state, Temperature, Fe, Fp, ipc,ip,el) end select @@ -616,9 +597,9 @@ end subroutine constitutive_microstructure !-------------------------------------------------------------------------------------------------- -!> @brief contains the constitutive equation for calculating the velocity gradient * +!> @brief contains the constitutive equation for calculating the velocity gradient !-------------------------------------------------------------------------------------------------- -subroutine constitutive_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, Temperature, g, i, e) +subroutine constitutive_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, Temperature, ipc, ip, el) use material, only: & phase_plasticity, & material_phase @@ -643,9 +624,9 @@ subroutine constitutive_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, Temperature, g, implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & Temperature real(pReal), intent(in), dimension(6) :: & @@ -655,25 +636,25 @@ subroutine constitutive_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, Temperature, g, real(pReal), intent(out), dimension(9,9) :: & dLp_dTstar !< derivative of Lp with respect to Tstar (4th-order tensor) - select case (phase_plasticity(material_phase(g,i,e))) + select case (phase_plasticity(material_phase(ipc,ip,el))) case (constitutive_none_label) - call constitutive_none_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,g,i,e) + call constitutive_none_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_j2_label) - call constitutive_j2_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,g,i,e) + call constitutive_j2_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_phenopowerlaw_label) - call constitutive_phenopowerlaw_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,g,i,e) + call constitutive_phenopowerlaw_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_titanmod_label) - call constitutive_titanmod_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,g,i,e) + call constitutive_titanmod_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_dislotwin_label) - call constitutive_dislotwin_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,g,i,e) + call constitutive_dislotwin_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_nonlocal_label) - call constitutive_nonlocal_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, Temperature, constitutive_state(g,i,e), g, i, e) + call constitutive_nonlocal_LpAndItsTangent(Lp, dLp_dTstar, Tstar_v, Temperature, constitutive_state(ipc,ip,el), ipc,ip,el) end select @@ -685,15 +666,15 @@ end subroutine constitutive_LpAndItsTangent !> @brief returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to !> the elastic deformation gradient depending on the selected elastic law !-------------------------------------------------------------------------------------------------- -pure subroutine constitutive_TandItsTangent(T, dT_dFe, Fe, g, i, e) +pure subroutine constitutive_TandItsTangent(T, dT_dFe, Fe, ipc, ip, el) use material, only: & phase_elasticity,material_phase implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in), dimension(3,3) :: & Fe !< elastic deformation gradient real(pReal), intent(out), dimension(3,3) :: & @@ -701,10 +682,10 @@ pure subroutine constitutive_TandItsTangent(T, dT_dFe, Fe, g, i, e) real(pReal), intent(out), dimension(3,3,3,3) :: & dT_dFe !< derivative of 2nd P-K stress with respect to elastic deformation gradient - select case (phase_elasticity(material_phase(g,i,e))) + select case (phase_elasticity(material_phase(ipc,ip,el))) case (constitutive_hooke_label) - call constitutive_hooke_TandItsTangent(T, dT_dFe, Fe, g, i, e) + call constitutive_hooke_TandItsTangent(T, dT_dFe, Fe, ipc, ip, el) end select @@ -715,19 +696,19 @@ end subroutine constitutive_TandItsTangent !> @brief returns the 2nd Piola-Kirchhoff stress tensor and its tangent with respect to !> the elastic deformation gradient depending for hookes law !-------------------------------------------------------------------------------------------------- -pure subroutine constitutive_hooke_TandItsTangent(T, dT_dFe, Fe, g, i, e) +pure subroutine constitutive_hooke_TandItsTangent(T, dT_dFe, Fe, ipc, ip, el) use math, only : & math_mul33x33, & math_mul3333xx33, & math_Mandel66to3333, & math_transpose33, & - math_I3 + MATH_I3 implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in), dimension(3,3) :: & Fe !< elastic deformation gradient real(pReal), intent(out), dimension(3,3) :: & @@ -740,10 +721,10 @@ use math, only : & real(pReal), dimension(3,3,3,3) :: C - C = math_Mandel66to3333(constitutive_homogenizedC(g,i,e)) + C = math_Mandel66to3333(constitutive_homogenizedC(ipc,ip,el)) FeT = math_transpose33(Fe) - T = 0.5_pReal*math_mul3333xx33(C,math_mul33x33(FeT,Fe)-math_I3) + T = 0.5_pReal*math_mul3333xx33(C,math_mul33x33(FeT,Fe)-MATH_I3) forall (o=1_pInt:3_pInt, p=1_pInt:3_pInt) dT_dFe(o,p,1:3,1:3) = math_mul33x33(C(o,p,1:3,1:3), FeT) ! dT*_ij/dFe_kl @@ -753,7 +734,7 @@ end subroutine constitutive_hooke_TandItsTangent !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the rate of change of microstructure !-------------------------------------------------------------------------------------------------- -subroutine constitutive_collectDotState(Tstar_v, Fe, Fp, Temperature, subdt, subfrac, g, i, e) +subroutine constitutive_collectDotState(Tstar_v, Fe, Fp, Temperature, subdt, subfrac, ipc, ip, el) use prec, only: & pLongInt use debug, only: & @@ -790,9 +771,9 @@ subroutine constitutive_collectDotState(Tstar_v, Fe, Fp, Temperature, subdt, sub implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & Temperature, & subdt !< timestep @@ -811,26 +792,26 @@ subroutine constitutive_collectDotState(Tstar_v, Fe, Fp, Temperature, subdt, sub if (iand(debug_level(debug_constitutive), debug_levelBasic) /= 0_pInt) & call system_clock(count=tick,count_rate=tickrate,count_max=maxticks) - select case (phase_plasticity(material_phase(g,i,e))) + select case (phase_plasticity(material_phase(ipc,ip,el))) case (constitutive_none_label) - constitutive_dotState(g,i,e)%p = constitutive_none_dotState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotState(ipc,ip,el)%p = constitutive_none_dotState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_j2_label) - constitutive_dotState(g,i,e)%p = constitutive_j2_dotState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotState(ipc,ip,el)%p = constitutive_j2_dotState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_phenopowerlaw_label) - constitutive_dotState(g,i,e)%p = constitutive_phenopowerlaw_dotState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotState(ipc,ip,el)%p = constitutive_phenopowerlaw_dotState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_titanmod_label) - constitutive_dotState(g,i,e)%p = constitutive_titanmod_dotState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotState(ipc,ip,el)%p = constitutive_titanmod_dotState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_dislotwin_label) - constitutive_dotState(g,i,e)%p = constitutive_dislotwin_dotState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotState(ipc,ip,el)%p = constitutive_dislotwin_dotState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_nonlocal_label) - constitutive_dotState(g,i,e)%p = constitutive_nonlocal_dotState(Tstar_v, Fe, Fp, Temperature, constitutive_state, & - constitutive_state0, subdt, subfrac, g, i, e) + constitutive_dotState(ipc,ip,el)%p = constitutive_nonlocal_dotState(Tstar_v, Fe, Fp, Temperature, constitutive_state, & + constitutive_state0, subdt, subfrac, ipc, ip, el) end select @@ -851,7 +832,7 @@ end subroutine constitutive_collectDotState !> @brief contains the constitutive equation for calculating the incremental change of !> microstructure based on the current stress and state !-------------------------------------------------------------------------------------------------- -subroutine constitutive_collectDeltaState(Tstar_v, Temperature, g, i, e) +subroutine constitutive_collectDeltaState(Tstar_v, Temperature, ipc, ip, el) use prec, only: & pLongInt use debug, only: & @@ -884,9 +865,9 @@ subroutine constitutive_collectDeltaState(Tstar_v, Temperature, g, i, e) implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & Temperature real(pReal), intent(in), dimension(6) :: & @@ -899,25 +880,25 @@ subroutine constitutive_collectDeltaState(Tstar_v, Temperature, g, i, e) if (iand(debug_level(debug_constitutive), debug_levelBasic) /= 0_pInt) & call system_clock(count=tick,count_rate=tickrate,count_max=maxticks) - select case (phase_plasticity(material_phase(g,i,e))) + select case (phase_plasticity(material_phase(ipc,ip,el))) case (constitutive_none_label) - constitutive_deltaState(g,i,e)%p = constitutive_none_deltaState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_deltaState(ipc,ip,el)%p = constitutive_none_deltaState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_j2_label) - constitutive_deltaState(g,i,e)%p = constitutive_j2_deltaState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_deltaState(ipc,ip,el)%p = constitutive_j2_deltaState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_phenopowerlaw_label) - constitutive_deltaState(g,i,e)%p = constitutive_phenopowerlaw_deltaState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_deltaState(ipc,ip,el)%p = constitutive_phenopowerlaw_deltaState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_titanmod_label) - constitutive_deltaState(g,i,e)%p = constitutive_titanmod_deltaState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_deltaState(ipc,ip,el)%p = constitutive_titanmod_deltaState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_dislotwin_label) - constitutive_deltaState(g,i,e)%p = constitutive_dislotwin_deltaState(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_deltaState(ipc,ip,el)%p = constitutive_dislotwin_deltaState(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_nonlocal_label) - call constitutive_nonlocal_deltaState(constitutive_deltaState(g,i,e),constitutive_state, Tstar_v,Temperature,g,i,e) + call constitutive_nonlocal_deltaState(constitutive_deltaState(ipc,ip,el),constitutive_state, Tstar_v,Temperature,ipc,ip,el) end select @@ -937,7 +918,7 @@ end subroutine constitutive_collectDeltaState !-------------------------------------------------------------------------------------------------- !> @brief contains the constitutive equation for calculating the rate of change of microstructure !-------------------------------------------------------------------------------------------------- -real(pReal) function constitutive_dotTemperature(Tstar_v,Temperature,g,i,e) +real(pReal) function constitutive_dotTemperature(Tstar_v,Temperature,ipc,ip,el) use prec, only: & pLongInt use debug, only: & @@ -968,9 +949,9 @@ real(pReal) function constitutive_dotTemperature(Tstar_v,Temperature,g,i,e) implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number + ipc, & !< grain number + ip, & !< integration point number + el !< element number real(pReal), intent(in) :: & Temperature real(pReal), intent(in), dimension(6) :: & @@ -983,25 +964,25 @@ real(pReal) function constitutive_dotTemperature(Tstar_v,Temperature,g,i,e) if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0_pInt) & call system_clock(count=tick,count_rate=tickrate,count_max=maxticks) - select case (phase_plasticity(material_phase(g,i,e))) + select case (phase_plasticity(material_phase(ipc,ip,el))) case (constitutive_none_label) - constitutive_dotTemperature = constitutive_none_dotTemperature(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotTemperature = constitutive_none_dotTemperature(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_j2_label) - constitutive_dotTemperature = constitutive_j2_dotTemperature(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotTemperature = constitutive_j2_dotTemperature(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_phenopowerlaw_label) - constitutive_dotTemperature = constitutive_phenopowerlaw_dotTemperature(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotTemperature = constitutive_phenopowerlaw_dotTemperature(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_titanmod_label) - constitutive_dotTemperature = constitutive_titanmod_dotTemperature(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotTemperature = constitutive_titanmod_dotTemperature(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_dislotwin_label) - constitutive_dotTemperature = constitutive_dislotwin_dotTemperature(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotTemperature = constitutive_dislotwin_dotTemperature(Tstar_v,Temperature,constitutive_state,ipc,ip,el) case (constitutive_nonlocal_label) - constitutive_dotTemperature = constitutive_nonlocal_dotTemperature(Tstar_v,Temperature,constitutive_state,g,i,e) + constitutive_dotTemperature = constitutive_nonlocal_dotTemperature(Tstar_v,Temperature,constitutive_state,ipc,ip,el) end select @@ -1021,7 +1002,7 @@ end function constitutive_dotTemperature !-------------------------------------------------------------------------------------------------- !> @brief returns array of constitutive results !-------------------------------------------------------------------------------------------------- -function constitutive_postResults(Tstar_v, Fe, Temperature, dt, g, i, e) +function constitutive_postResults(Tstar_v, Fe, Temperature, dt, ipc, ip, el) use mesh, only: & mesh_NcpElems, & mesh_maxNips @@ -1050,10 +1031,10 @@ function constitutive_postResults(Tstar_v, Fe, Temperature, dt, g, i, e) implicit none integer(pInt), intent(in) :: & - g, & !< grain number - i, & !< integration point number - e !< element number - real(pReal), dimension(constitutive_sizePostResults(g,i,e)) :: & + ipc, & !< grain number + ip, & !< integration point number + el !< element number + real(pReal), dimension(constitutive_sizePostResults(ipc,ip,el)) :: & constitutive_postResults real(pReal), intent(in) :: & Temperature, & @@ -1065,26 +1046,26 @@ function constitutive_postResults(Tstar_v, Fe, Temperature, dt, g, i, e) constitutive_postResults = 0.0_pReal - select case (phase_plasticity(material_phase(g,i,e))) + select case (phase_plasticity(material_phase(ipc,ip,el))) case (constitutive_none_label) - constitutive_postResults = constitutive_none_postResults(Tstar_v,Temperature,dt,constitutive_state,g,i,e) + constitutive_postResults = constitutive_none_postResults(Tstar_v,Temperature,dt,constitutive_state,ipc,ip,el) case (constitutive_j2_label) - constitutive_postResults = constitutive_j2_postResults(Tstar_v,Temperature,dt,constitutive_state,g,i,e) + constitutive_postResults = constitutive_j2_postResults(Tstar_v,Temperature,dt,constitutive_state,ipc,ip,el) case (constitutive_phenopowerlaw_label) - constitutive_postResults = constitutive_phenopowerlaw_postResults(Tstar_v,Temperature,dt,constitutive_state,g,i,e) + constitutive_postResults = constitutive_phenopowerlaw_postResults(Tstar_v,Temperature,dt,constitutive_state,ipc,ip,el) case (constitutive_titanmod_label) - constitutive_postResults = constitutive_titanmod_postResults(Tstar_v,Temperature,dt,constitutive_state,g,i,e) + constitutive_postResults = constitutive_titanmod_postResults(Tstar_v,Temperature,dt,constitutive_state,ipc,ip,el) case (constitutive_dislotwin_label) - constitutive_postResults = constitutive_dislotwin_postResults(Tstar_v,Temperature,dt,constitutive_state,g,i,e) + constitutive_postResults = constitutive_dislotwin_postResults(Tstar_v,Temperature,dt,constitutive_state,ipc,ip,el) case (constitutive_nonlocal_label) constitutive_postResults = constitutive_nonlocal_postResults(Tstar_v, Fe, Temperature, dt, constitutive_state, & - constitutive_dotstate(g,i,e), g, i, e) + constitutive_dotstate(ipc,ip,el), ipc, ip, el) end select end function constitutive_postResults