diff --git a/code/constitutive_nonlocal.f90 b/code/constitutive_nonlocal.f90 index 01e492daf..8e2c9b2c1 100644 --- a/code/constitutive_nonlocal.f90 +++ b/code/constitutive_nonlocal.f90 @@ -1683,10 +1683,12 @@ do s = 1_pInt,ns if (abs(tau(s)) < 1.0e-15_pReal) tau(s) = 1.0e-15_pReal enddo dLower = constitutive_nonlocal_minimumDipoleHeight(1:ns,1:2,myInstance) -dUpper(1:ns,2) = min(1.0_pReal / sqrt(sum(abs(rhoSgl),2) + sum(rhoDip,2)), & - constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & - / (8.0_pReal * pi * abs(tau))) -dUpper(1:ns,1) = dUpper(1:ns,2) / (1.0_pReal - constitutive_nonlocal_nu(myInstance)) +dUpper(1:ns,1) = constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & + / (8.0_pReal * pi * (1.0_pReal - constitutive_nonlocal_nu(myInstance)) * abs(tau)) +dUpper(1:ns,2) = constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & + / (4.0_pReal * pi * abs(tau)) +forall (c = 1_pInt:2_pInt) & + dUpper(1:ns,c) = min(1.0_pReal / sqrt(sum(abs(rhoSgl),c) + sum(rhoDip,c)), dUpper(1:ns,c)) dUpper = max(dUpper,dLower) deltaDUpper = dUpper - dUpperOld @@ -1946,10 +1948,12 @@ do s = 1_pInt,ns ! loop over slip systems enddo dLower = constitutive_nonlocal_minimumDipoleHeight(1:ns,1:2,myInstance) -dUpper(1:ns,2) = min( 1.0_pReal / sqrt( sum(abs(rhoSgl),2)+sum(rhoDip,2) ), & - constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & - / ( 8.0_pReal * pi * abs(tau) ) ) -dUpper(1:ns,1) = dUpper(1:ns,2) / ( 1.0_pReal - constitutive_nonlocal_nu(myInstance) ) +dUpper(1:ns,1) = constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & + / (8.0_pReal * pi * (1.0_pReal - constitutive_nonlocal_nu(myInstance)) * abs(tau)) +dUpper(1:ns,2) = constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & + / (4.0_pReal * pi * abs(tau)) +forall (c = 1_pInt:2_pInt) & + dUpper(1:ns,c) = min(1.0_pReal / sqrt(sum(abs(rhoSgl),c) + sum(rhoDip,c)), dUpper(1:ns,c)) dUpper = max(dUpper,dLower) @@ -2876,10 +2880,12 @@ do s = 1_pInt,ns enddo dLower = constitutive_nonlocal_minimumDipoleHeight(1:ns,1:2,myInstance) -dUpper(1:ns,2) = min( constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & - / (8.0_pReal * pi * abs(tau)), & - 1.0_pReal / sqrt(sum(abs(rhoSgl),2)+sum(rhoDip,2)) ) -dUpper(1:ns,1) = dUpper(1:ns,2) / (1.0_pReal - constitutive_nonlocal_nu(myInstance)) +dUpper(1:ns,1) = constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & + / (8.0_pReal * pi * (1.0_pReal - constitutive_nonlocal_nu(myInstance)) * abs(tau)) +dUpper(1:ns,2) = constitutive_nonlocal_Gmod(myInstance) * constitutive_nonlocal_burgers(1:ns,myInstance) & + / (4.0_pReal * pi * abs(tau)) +forall (c = 1_pInt:2_pInt) & + dUpper(1:ns,c) = min(1.0_pReal / sqrt(sum(abs(rhoSgl),c) + sum(rhoDip,c)), dUpper(1:ns,c)) !*** dislocation motion