New and improved method to calculate collisions per iteration:

In each iteration, number of collisions are calculate as a REAL variable
(collFrac) and stored in each cell. The number of collisions is
calculated as FLOOR(collFrac) and, if it is >1 collisions are computed
as usual. Per each collision calculated, 1.0 is removed from collFrac
This commit is contained in:
Jorge Gonzalez 2021-01-02 14:09:27 +01:00
commit 874d573e89
7 changed files with 26 additions and 52 deletions

View file

@ -295,16 +295,15 @@ MODULE moduleSolver
END SUBROUTINE push1DRadCharged
!Do the collisions in all the cells
SUBROUTINE doCollisions(t)
SUBROUTINE doCollisions()
USE moduleMesh
IMPLICIT NONE
INTEGER, INTENT(in):: t
INTEGER:: e
!$OMP DO SCHEDULE(DYNAMIC)
DO e=1, mesh%numVols
CALL mesh%vols(e)%obj%collision(t)
CALL mesh%vols(e)%obj%collision()
END DO
!$OMP END DO