Method to divide collisions from a collisional iteration into multiple
pushing iterations.
This commit is contained in:
parent
a45df9de22
commit
4ba08e74af
7 changed files with 110 additions and 64 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue