Huge improvement in reset (by increasing a little bit push time) using

OMP locks to assign particles to cells in the pushing step.

Trying to combine push+reset and  collision+scatter did not work.
This commit is contained in:
Jorge Gonzalez 2020-10-17 18:46:10 +02:00
commit fd42e0f3f9
7 changed files with 101 additions and 92 deletions

View file

@ -2,6 +2,7 @@
MODULE moduleMesh
USE moduleList
USE moduleOutput
USE OMP_LIB
IMPLICIT NONE
!Parent of Node element
@ -90,6 +91,8 @@ MODULE moduleMesh
REAL(8):: volume = 0.D0
!List of particles inside the volume
TYPE(listNode):: listPart_in
!Lock indicator for listPart_in
INTEGER(KIND=OMP_LOCK_KIND):: lock
!Number of collisions per volume
INTEGER:: nColl = 0
CONTAINS
@ -131,7 +134,7 @@ MODULE moduleMesh
IMPORT:: meshVol
CLASS(meshVol), INTENT(inout):: self
CLASS(meshVol), OPTIONAL, INTENT(in):: oldCell
CLASS(particle), INTENT(inout):: part
CLASS(particle), INTENT(inout), TARGET:: part
END SUBROUTINE findCell_interface