From ff0c09242dfff42ed2536577c12f37d3bcb075b9 Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Thu, 11 Mar 2021 12:56:15 +0100 Subject: [PATCH] Fixed an issue with normal vector not being norm unit, which was causing reflected particle velocities to increase. --- src/modules/mesh/1DCart/moduleMesh1DCart.f90 | 1 + src/modules/mesh/1DRad/moduleMesh1DRad.f90 | 1 + src/modules/mesh/2DCart/moduleMesh2DCart.f90 | 2 ++ src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 | 1 + src/modules/mesh/3DCart/moduleMesh3DCart.f90 | 1 + 5 files changed, 6 insertions(+) diff --git a/src/modules/mesh/1DCart/moduleMesh1DCart.f90 b/src/modules/mesh/1DCart/moduleMesh1DCart.f90 index 647d974..d45c7a0 100644 --- a/src/modules/mesh/1DCart/moduleMesh1DCart.f90 +++ b/src/modules/mesh/1DCart/moduleMesh1DCart.f90 @@ -145,6 +145,7 @@ 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) diff --git a/src/modules/mesh/1DRad/moduleMesh1DRad.f90 b/src/modules/mesh/1DRad/moduleMesh1DRad.f90 index 3f67f15..1d2bdba 100644 --- a/src/modules/mesh/1DRad/moduleMesh1DRad.f90 +++ b/src/modules/mesh/1DRad/moduleMesh1DRad.f90 @@ -146,6 +146,7 @@ MODULE moduleMesh1DRad self%r = r1(1) self%normal = (/ 1.D0, 0.D0, 0.D0 /) + self%normal = self%normal/NORM2(self%normal) !Boundary index self%boundary => boundary(bt) diff --git a/src/modules/mesh/2DCart/moduleMesh2DCart.f90 b/src/modules/mesh/2DCart/moduleMesh2DCart.f90 index cc2369a..ac22b28 100644 --- a/src/modules/mesh/2DCart/moduleMesh2DCart.f90 +++ b/src/modules/mesh/2DCart/moduleMesh2DCart.f90 @@ -193,6 +193,8 @@ MODULE moduleMesh2DCart self%normal = (/ self%y(2)-self%y(1), & self%x(2)-self%x(1), & 0.D0 /) + self%normal = self%normal/NORM2(self%normal) + !Boundary index self%boundary => boundary(bt) ALLOCATE(self%fboundary(1:nSpecies)) diff --git a/src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 b/src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 index 9303c1b..8ef5c6d 100644 --- a/src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 +++ b/src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 @@ -194,6 +194,7 @@ MODULE moduleMesh2DCyl self%normal = (/ self%r(2)-self%r(1), & self%z(2)-self%z(1), & 0.D0 /) + self%normal = self%normal/NORM2(self%normal) !Boundary index self%boundary => boundary(bt) ALLOCATE(self%fboundary(1:nSpecies)) diff --git a/src/modules/mesh/3DCart/moduleMesh3DCart.f90 b/src/modules/mesh/3DCart/moduleMesh3DCart.f90 index d01e820..1c713c9 100644 --- a/src/modules/mesh/3DCart/moduleMesh3DCart.f90 +++ b/src/modules/mesh/3DCart/moduleMesh3DCart.f90 @@ -159,6 +159,7 @@ MODULE moduleMesh3DCart self%normal = (/ (self%y(2)-self%y(1))*(self%z(3)-self%z(1)) - (self%z(2)-self%z(1))*(self%y(3)-self%y(1)), & (self%x(2)-self%x(1))*(self%z(3)-self%z(1)) - (self%z(2)-self%z(1))*(self%x(3)-self%x(1)), & (self%x(2)-self%x(1))*(self%y(3)-self%y(1)) - (self%z(2)-self%z(1))*(self%y(3)-self%y(1)) /) + self%normal = self%normal/NORM2(self%normal) !Boundary index self%boundary => boundary(bt)