diff --git a/src/modules/mesh/moduleMeshBoundary.f90 b/src/modules/mesh/moduleMeshBoundary.f90 index 6120111..4f72e10 100644 --- a/src/modules/mesh/moduleMeshBoundary.f90 +++ b/src/modules/mesh/moduleMeshBoundary.f90 @@ -156,8 +156,14 @@ MODULE moduleMeshBoundary newElectron%r = edge%randPos() newIon%r = newElectron%r - newElectron%cell = part%cell - newIon%cell = part%cell + IF (ASSOCIATED(edge%e1)) THEN + newElectron%cell = edge%e1%n + + ELSEIF (ASSOCIATED(edge%e2)) THEN + newElectron%cell = edge%e2%n + + END IF + newIon%cell = newElectron%cell newElectron%Xi = mesh%cells(part%cell)%obj%phy2log(newElectron%r) newIon%Xi = newElectron%Xi @@ -178,6 +184,9 @@ MODULE moduleMeshBoundary eRel = eRel - bound%eThreshold vRel = 2.D0*DSQRT(eRel)/mRel + !Reduce number of possible ionizations + nIonizations = nIonizations - 1 + END IF END DO