Fixed an issue with reflection of particles in all geometries and also

assigning the normal vector in 2D and 3D.

3D Cartesian geometry is working properly, although it needs testing.

Still issue with ionization boundary.
This commit is contained in:
Jorge Gonzalez 2021-03-22 12:39:34 +01:00
commit db6b0a2c03
15 changed files with 349 additions and 265 deletions

View file

@ -148,7 +148,6 @@ MODULE moduleMesh1DCart
self%x = r1(1)
self%normal = (/ 1.D0, 0.D0, 0.D0 /)
self%normal = self%normal/NORM2(self%normal)
!Boundary index
self%boundary => boundary(bt)
@ -176,11 +175,11 @@ MODULE moduleMesh1DCart
END FUNCTION getNodes1DCart
PURE FUNCTION intersection1DCart(self, r0, v0) RESULT(r)
PURE FUNCTION intersection1DCart(self, r0) RESULT(r)
IMPLICIT NONE
CLASS(meshEdge1DCart), INTENT(in):: self
REAL(8), DIMENSION(1:3), INTENT(in):: r0, v0
REAL(8), DIMENSION(1:3), INTENT(in):: r0
REAL(8), DIMENSION(1:3):: r
r = (/ self%x, 0.D0, 0.D0 /)
@ -383,7 +382,7 @@ MODULE moduleMesh1DCart
END FUNCTION insideSegm
SUBROUTINE scatterSegm(self, part)
USE moduleOutput
USE moduleMath
USE moduleSpecies
IMPLICIT NONE