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:
parent
4ba08e74af
commit
874d573e89
7 changed files with 26 additions and 52 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue