slight change in flux formulation: no flux to neighbor, not only if there is a sign change in the velocity, but also if the neighboring velocity is exactly zero

This commit is contained in:
Christoph Kords 2013-05-10 08:42:42 +00:00
parent 193c77f526
commit d9cc42daef
1 changed files with 2 additions and 2 deletions

View File

@ -2406,7 +2406,7 @@ if (.not. phase_localPlasticity(material_phase(g,ip,el))) then
c = (t + 1_pInt) / 2
topp = t + mod(t,2_pInt) - mod(t+1_pInt,2_pInt)
if (neighboring_v(s,t) * math_mul3x3(m(1:3,s,t), normal_neighbor2me) > 0.0_pReal & ! flux from my neighbor to me == entering flux for me
.and. v(s,t) * neighboring_v(s,t) >= 0.0_pReal ) then ! ... only if no sign change in flux density
.and. v(s,t) * neighboring_v(s,t) > 0.0_pReal ) then ! ... only if no sign change in flux density
lineLength = neighboring_rhoSgl(s,t) * neighboring_v(s,t) * math_mul3x3(m(1:3,s,t), normal_neighbor2me) * area ! positive line length that wants to enter through this interface
where (constitutive_nonlocal_compatibility(c,1_pInt:ns,s,n,ip,el) > 0.0_pReal) & ! positive compatibility...
rhoDotFlux(1_pInt:ns,t) = rhoDotFlux(1_pInt:ns,t) + lineLength / mesh_ipVolume(ip,el) & ! ... transferring to equally signed mobile dislocation type
@ -2463,7 +2463,7 @@ if (.not. phase_localPlasticity(material_phase(g,ip,el))) then
do t = 1_pInt,4_pInt
c = (t + 1_pInt) / 2_pInt
if (vMe(s,t) * math_mul3x3(m(1:3,s,t), normal_me2neighbor) > 0.0_pReal ) then ! flux from me to my neighbor == leaving flux for me (might also be a pure flux from my mobile density to dead density if interface not at all transmissive)
if (vMe(s,t) * neighboring_v(s,t) >= 0.0_pReal) then ! no sign change in flux density
if (vMe(s,t) * neighboring_v(s,t) > 0.0_pReal) then ! no sign change in flux density
transmissivity = sum(constitutive_nonlocal_compatibility(c,1_pInt:ns,s,n,ip,el)**2.0_pReal) ! overall transmissivity from this slip system to my neighbor
else ! sign change in flux density means sign change in stress which does not allow for dislocations to arive at the neighbor
transmissivity = 0.0_pReal