pointers for better readability

This commit is contained in:
Martin Diehl 2019-12-01 08:55:24 +01:00
parent afad2f2dce
commit 33c090d2ac
1 changed files with 28 additions and 14 deletions

View File

@ -189,7 +189,11 @@ module plastic_nonlocal
rho_dip_scr, &
rho_forest, &
accumulatedshear, &
v
v, &
v_edg_pos, &
v_edg_neg, &
v_scr_pos, &
v_scr_neg
end type tNonlocalState
type(tNonlocalState), allocatable, dimension(:), private :: &
@ -595,6 +599,10 @@ subroutine plastic_nonlocal_init
stt%rho_forest => plasticState(p)%state (11*prm%totalNslip + 1:12*prm%totalNslip ,1:NofMyPhase)
stt%v => plasticState(p)%state (12*prm%totalNslip + 1:16*prm%totalNslip ,1:NofMyPhase)
stt%v_edg_pos => plasticState(p)%state (12*prm%totalNslip + 1:13*prm%totalNslip ,1:NofMyPhase)
stt%v_edg_neg => plasticState(p)%state (13*prm%totalNslip + 1:14*prm%totalNslip ,1:NofMyPhase)
stt%v_scr_pos => plasticState(p)%state (14*prm%totalNslip + 1:15*prm%totalNslip ,1:NofMyPhase)
stt%v_scr_neg => plasticState(p)%state (15*prm%totalNslip + 1:16*prm%totalNslip ,1:NofMyPhase)
allocate(dst%tau_Threshold(prm%totalNslip,NofMyPhase),source=0.0_pReal)
allocate(dst%tau_Back(prm%totalNslip,NofMyPhase), source=0.0_pReal)
@ -1159,7 +1167,7 @@ subroutine plastic_nonlocal_LpAndItsTangent(Lp, dLp_dMp, &
of = material_phasememberAt(1,ip,el)
instance = phase_plasticityInstance(ph)
associate(prm => param(instance),dst=>microstructure(instance))
associate(prm => param(instance),dst=>microstructure(instance),stt=>state(instance))
ns = prm%totalNslip
!*** shortcut to state variables
@ -1210,11 +1218,8 @@ subroutine plastic_nonlocal_LpAndItsTangent(Lp, dLp_dMp, &
2 , Temperature, instance, of)
enddo
endif
!*** store velocity in state
forall (t = 1:4) &
plasticState(ph)%state(iV(1:ns,t,instance),of) = v(1:ns,t)
stt%v(:,of) = pack(v,.true.)
!*** Bauschinger effect
forall (s = 1:ns, t = 5:8, rhoSgl(s,t) * v(s,t-4) < 0.0_pReal) &
@ -1975,8 +1980,6 @@ function plastic_nonlocal_postResults(ph,instance,of) result(postResults)
real(pReal), dimension(param(instance)%totalNslip,8) :: &
rhoSgl, &
rhoDotSgl !< evolution rate of single dislocation densities (positive/negative screw and edge without dipoles)
real(pReal), dimension(param(instance)%totalNslip,4) :: &
v !< velocities
real(pReal), dimension(param(instance)%totalNslip,2) :: &
rhoDotDip !< evolution rate of dipole dislocation densities (screw and edge dipoles)
@ -1989,7 +1992,6 @@ associate(prm => param(instance),dst => microstructure(instance),stt=>state(inst
forall (s = 1:ns, t = 1:4)
rhoSgl(s,t+4) = plasticState(ph)%State(iRhoB(s,t,instance),of)
v(s,t) = plasticState(ph)%State(iV(s,t,instance),of)
rhoDotSgl(s,t+4) = plasticState(ph)%dotState(iRhoB(s,t,instance),of)
endforall
forall (s = 1:ns, c = 1:2)
@ -2065,19 +2067,19 @@ outputsLoop: do o = 1,size(param(instance)%outputID)
cs = cs + ns
case (v_edg_pos_ID)
postResults(cs+1:cs+ns) = v(1:ns,1)
postResults(cs+1:cs+ns) = stt%v_edg_pos(:,of)
cs = cs + ns
case (v_edg_neg_ID)
postResults(cs+1:cs+ns) = v(1:ns,2)
postResults(cs+1:cs+ns) = stt%v_edg_neg(:,of)
cs = cs + ns
case (v_scr_pos_ID)
postResults(cs+1:cs+ns) = v(1:ns,3)
postResults(cs+1:cs+ns) = stt%v_scr_pos(:,of)
cs = cs + ns
case (v_scr_neg_ID)
postResults(cs+1:cs+ns) = v(1:ns,4)
postResults(cs+1:cs+ns) = stt%v_scr_neg(:,of)
cs = cs + ns
case(accumulatedshear_ID)
@ -2163,6 +2165,18 @@ subroutine plastic_nonlocal_results(instance,group)
case (rho_forest_ID)
call results_writeDataset(group,stt%rho_forest, 'rho_forest',&
'forest density','1/m²')
case (v_edg_pos_ID)
call results_writeDataset(group,stt%v_edg_pos, 'v_edg_pos',&
'positive edge velocity','m/s')
case (v_edg_neg_ID)
call results_writeDataset(group,stt%v_edg_neg, 'v_edg_neg',&
'negative edge velocity','m/s')
case (v_scr_pos_ID)
call results_writeDataset(group,stt%v_scr_pos, 'v_scr_pos',&
'positive srew velocity','m/s')
case (v_scr_neg_ID)
call results_writeDataset(group,stt%v_scr_neg, 'v_scr_neg',&
'negative screw velocity','m/s')
end select
enddo outputsLoop
end associate