Coulomb Scattering fully conservative
Coulomb scattering is now fully conservative thanks to the method in lemos2009small. The trick was to conserve the momentum and energy of ALL particles involved in the scattering in each cell. The substeps in Coulomb collisions have been removed as they are no longer necessary. Still some issues with e-i, but I don't know right now.
This commit is contained in:
parent
c3a6f77ffc
commit
e05c0d4635
3 changed files with 175 additions and 115 deletions
|
|
@ -14,8 +14,6 @@ MODULE moduleCoulomb
|
|||
REAL(8):: A_j
|
||||
REAL(8):: l2_j
|
||||
REAL(8):: l2_i
|
||||
REAL(8):: tauSub
|
||||
INTEGER:: nSubSteps
|
||||
CONTAINS
|
||||
PROCEDURE, PASS:: init => initInteractionCoulomb
|
||||
|
||||
|
|
@ -48,7 +46,7 @@ MODULE moduleCoulomb
|
|||
|
||||
END FUNCTION H
|
||||
|
||||
SUBROUTINE initInteractionCoulomb(self, i, j, subSteps)
|
||||
SUBROUTINE initInteractionCoulomb(self, i, j)
|
||||
USE moduleSpecies
|
||||
USE moduleErrors
|
||||
USE moduleConstParam
|
||||
|
|
@ -56,14 +54,10 @@ MODULE moduleCoulomb
|
|||
IMPLICIT NONE
|
||||
|
||||
CLASS(interactionsCoulomb), INTENT(out):: self
|
||||
INTEGER, INTENT(in):: subSteps
|
||||
INTEGER, INTENT(in):: i, j
|
||||
REAL(8):: Z_i, Z_j
|
||||
REAL(8):: scaleFactor
|
||||
|
||||
self%nSubSteps = subSteps
|
||||
self%tauSub = tauMin / REAL(self%nSubSteps)
|
||||
|
||||
self%sp_i => species(i)%obj
|
||||
self%sp_j => species(j)%obj
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue