From 4585390b5018340fc27008108a7e2e0b6aec1351 Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Tue, 21 Nov 2023 09:53:36 +0100 Subject: [PATCH] Fixing issue Fixing an issue with reading tables led me to other issues with collisions that I think are fixed right now. I am testing with the 1D ionization model for ALPHIE and things seems to be working properly. --- src/modules/common/moduleTable.f90 | 2 +- src/modules/mesh/moduleMesh.f90 | 2 ++ src/modules/moduleCollisions.f90 | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/common/moduleTable.f90 b/src/modules/common/moduleTable.f90 index e4da335..2dc1c75 100644 --- a/src/modules/common/moduleTable.f90 +++ b/src/modules/common/moduleTable.f90 @@ -93,7 +93,7 @@ MODULE moduleTable f = self%fMax ELSE - i = MINLOC(x - self%x, 1) + i = MINLOC(ABS(x - self%x), 1) deltaX = x - self%x(i) IF (deltaX < 0 ) THEN i = i - 1 diff --git a/src/modules/mesh/moduleMesh.f90 b/src/modules/mesh/moduleMesh.f90 index 7e30326..e96ff2a 100644 --- a/src/modules/mesh/moduleMesh.f90 +++ b/src/modules/mesh/moduleMesh.f90 @@ -911,7 +911,9 @@ MODULE moduleMesh !Loop over collisions DO c = 1, interactionMatrix(k)%amount IF (rnd_real <= probabilityColl(c)) THEN + !$OMP CRITICAL CALL interactionMatrix(k)%collisions(c)%obj%collide(part_i, part_j, vRel) + !$OMP END CRITICAL !If collisions are gonna be output, count the collision IF (collOutput) THEN diff --git a/src/modules/moduleCollisions.f90 b/src/modules/moduleCollisions.f90 index ccca930..fec4c8d 100644 --- a/src/modules/moduleCollisions.f90 +++ b/src/modules/moduleCollisions.f90 @@ -362,7 +362,7 @@ MODULE moduleCollisions CALL sp%ionize(neutral) CLASS DEFAULT - ! CALL criticalError(sp%name // " is not a neutral", 'collideBinaryIonization') + CALL criticalError(sp%name // " is not a neutral", 'collideBinaryIonization') RETURN END SELECT