always use the current state for leaving flux calculation when no neighbor is present

This commit is contained in:
Christoph Kords 2012-12-09 12:24:32 +00:00
parent 726d1173e5
commit 37028455e9
1 changed files with 11 additions and 7 deletions

View File

@ -2411,14 +2411,18 @@ if (.not. phase_localPlasticity(material_phase(g,ip,el))) then
endif endif
if (considerLeavingFlux) then if (considerLeavingFlux) then
if(numerics_timeSyncing .and. (subfrac(g,neighboring_ip,neighboring_el) == 0.0_pReal & if(numerics_timeSyncing .and. neighboring_n > 0_pInt) then
.or. subfrac(g,ip,el) == 0.0_pReal)) then if(subfrac(g,neighboring_ip,neighboring_el) == 0.0_pReal .or. subfrac(g,ip,el) == 0.0_pReal) then
rhoSglMe = rhoSgl0 rhoSglMe = rhoSgl0
vMe = v0 vMe = v0
else else
rhoSglMe = rhoSgl rhoSglMe = rhoSgl
vMe = v vMe = v
endif endif
else
rhoSglMe = rhoSgl
vMe = v
endif
normal_me2neighbor_defConf = math_det33(Favg) * math_mul33x3(math_inv33(math_transpose33(Favg)), & normal_me2neighbor_defConf = math_det33(Favg) * math_mul33x3(math_inv33(math_transpose33(Favg)), &
mesh_ipAreaNormal(1:3,n,ip,el)) ! calculate the normal of the interface in (average) deformed configuration (pointing from me to my neighbor!!!) mesh_ipAreaNormal(1:3,n,ip,el)) ! calculate the normal of the interface in (average) deformed configuration (pointing from me to my neighbor!!!)
normal_me2neighbor = math_mul33x3(math_transpose33(my_Fe), normal_me2neighbor_defConf) / math_det33(my_Fe) ! interface normal in my lattice configuration normal_me2neighbor = math_mul33x3(math_transpose33(my_Fe), normal_me2neighbor_defConf) / math_det33(my_Fe) ! interface normal in my lattice configuration
@ -2540,9 +2544,9 @@ endif
write(6,'(a,/,2(12x,12(e12.5,1x),/))') '<< CONST >> thermally activated dipole annihilation', & write(6,'(a,/,2(12x,12(e12.5,1x),/))') '<< CONST >> thermally activated dipole annihilation', &
rhoDotThermalAnnihilation(1:ns,9:10) * timestep rhoDotThermalAnnihilation(1:ns,9:10) * timestep
write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> total density change', rhoDot * timestep write(6,'(a,/,10(12x,12(e12.5,1x),/))') '<< CONST >> total density change', rhoDot * timestep
write(6,'(a,/,10(12x,12(f12.7,1x),/))') '<< CONST >> relative density change', & write(6,'(a,/,10(12x,12(f12.5,1x),/))') '<< CONST >> relative density change', &
rhoDot(1:ns,1:8) * timestep / (abs(rhoSgl)+1.0e-10), & rhoDot(1:ns,1:8) * timestep / (abs(rhoSglOriginal)+1.0e-10), &
rhoDot(1:ns,9:10) * timestep / (rhoDip+1.0e-10) rhoDot(1:ns,9:10) * timestep / (rhoDipOriginal+1.0e-10)
write(6,*) write(6,*)
endif endif
#endif #endif