Method to divide collisions from a collisional iteration into multiple

pushing iterations.
This commit is contained in:
Jorge Gonzalez 2021-01-02 12:50:22 +01:00
commit 4ba08e74af
7 changed files with 110 additions and 64 deletions

View file

@ -297,20 +297,16 @@ MODULE moduleSolver
!Do the collisions in all the cells
SUBROUTINE doCollisions(t)
USE moduleMesh
USE moduleCollisions
IMPLICIT NONE
INTEGER, INTENT(in):: t
INTEGER:: e
IF (MOD(t, everyCollisions) == 0) THEN
!$OMP DO SCHEDULE(DYNAMIC)
DO e=1, mesh%numVols
CALL mesh%vols(e)%obj%collision()
END DO
!$OMP END DO
END IF
!$OMP DO SCHEDULE(DYNAMIC)
DO e=1, mesh%numVols
CALL mesh%vols(e)%obj%collision(t)
END DO
!$OMP END DO
END SUBROUTINE doCollisions
@ -417,6 +413,7 @@ MODULE moduleSolver
!$OMP SECTION
!Erase the list of particles inside the cell
DO e = 1, mesh%numVols
mesh%vols(e)%obj%totalWeight = 0.D0
CALL mesh%vols(e)%obj%listPart_in%erase()
END DO