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
|
|
@ -172,17 +172,6 @@ MODULE moduleInput
|
|||
END IF
|
||||
tauMin = MINVAL(tau)
|
||||
|
||||
!Calculates iterations between collisions
|
||||
IF (tauCollisions /= 0.D0) THEN
|
||||
everyCollisions = INT(tauCollisions/tauMin)
|
||||
|
||||
ELSE
|
||||
CALL warningError('Using minimum time step for collisions')
|
||||
tauCollisions = tauMin
|
||||
everyCollisions = 1
|
||||
|
||||
END IF
|
||||
|
||||
!Gets the simulation time
|
||||
CALL config%get(object // '.time', time, found)
|
||||
IF (.NOT. found) CALL criticalError('Required parameter time not found','readCase')
|
||||
|
|
@ -221,7 +210,6 @@ MODULE moduleInput
|
|||
!Makes tau(s) non-dimensional
|
||||
tau = tau / ti_ref
|
||||
tauMin = tauMin / ti_ref
|
||||
tauCollisions = tauCollisions / ti_ref
|
||||
|
||||
!Sets the format of output files accordint to iteration number
|
||||
iterationDigits = INT(LOG10(REAL(tmax))) + 1
|
||||
|
|
@ -520,8 +508,6 @@ MODULE moduleInput
|
|||
|
||||
!Path for collision cross-section data files
|
||||
CALL config%get('interactions.folderCollisions', pathCollisions, found)
|
||||
!Collisional time step
|
||||
CALL config%get('interactions.tauCollisions', tauCollisions, found)
|
||||
|
||||
!Inits lock for list of particles
|
||||
CALL OMP_INIT_LOCK(lockCollisions)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue