diff --git a/src/modules/moduleMeshCyl.f95 b/src/modules/moduleMeshCyl.f95 index 17689c4..2175119 100644 --- a/src/modules/moduleMeshCyl.f95 +++ b/src/modules/moduleMeshCyl.f95 @@ -484,6 +484,16 @@ MODULE moduleMeshCyl CLASS IS (meshEdgeCyl) !Particle encountered an edge, execute boundary CALL nextElement%fBoundary(part) + !If particle is still inside the domain, call findCell + IF (part%n_in) THEN + IF(PRESENT(oldCell)) THEN + CALL self%findCell(part, oldCell) + + ELSE + CALL self%findCell(part) + + END IF + END IF CLASS DEFAULT WRITE(*,*) "ERROR, CHECK findCellCylQuad" diff --git a/src/modules/moduleMeshCylBoundary.f95 b/src/modules/moduleMeshCylBoundary.f95 index fafe56d..4298193 100644 --- a/src/modules/moduleMeshCylBoundary.f95 +++ b/src/modules/moduleMeshCylBoundary.f95 @@ -49,6 +49,8 @@ MODULE moduleMeshCylBoundary part%v(1) = cosT*vpp(1) + sinT*vpp(2) part%v(2) = -sinT*vpp(1) + cosT*vpp(2) + part%n_in = .TRUE. + END SUBROUTINE reflection !Absoption in a surface