-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/BEAMS3D coll operators #196
Conversation
…BEAMS3D_collOperators
…BEAMS3D_collOperators
…niversity/STELLOPT into feature/BEAMS3D_collOperators
…BEAMS3D_collOperators
…BEAMS3D_collOperators
…BEAMS3D_collOperators
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor changes. I need to check against old cases.
BEAMS3D/Sources/beams3d_follow.f90
Outdated
mybeam = Beam(i) | ||
moment = mu_start(i) | ||
fact_pa = plasma_mass/(mymass*plasma_Zmean) | ||
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra un-necessary division.
BEAMS3D/Sources/beams3d_follow.f90
Outdated
mybeam = Beam(i) | ||
moment = mu_start(i) | ||
my_end = t_end(i) | ||
myline = i | ||
mytdex = 1 | ||
fact_pa = plasma_mass/(mymass*plasma_Zmean) | ||
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
extra unnecessary division.
mybeam = Beam(l) | ||
my_end = t_end(l) | ||
ltherm = .false. | ||
lneut = .false. | ||
! Collision parameters | ||
fact_pa = plasma_mass/(mymass*plasma_Zmean) | ||
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unnecessary divsion
mybeam = Beam(l) | ||
my_end = t_end(l) | ||
ltherm = .false. | ||
lneut = .false. | ||
! Collision parameters | ||
fact_pa = plasma_mass/(mymass*plasma_Zmean) | ||
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unnecessary division
mybeam = Beam(l) | ||
my_end = t_end(l) | ||
myqm = mycharge/mymass | ||
ltherm = .false. | ||
lneut = .false. | ||
! Collision parameters | ||
fact_pa = plasma_mass/(mymass*plasma_Zmean) | ||
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unnecessary division
mybeam = Beam(l) | ||
my_end = t_end(l) | ||
ltherm = .false. | ||
lneut = .false. | ||
lcollision = lbeam | ||
! Collision parameters | ||
fact_kick = 2*E_kick*mycharge/(mymass*pi2*pi2*freq_kick*freq_kick*SQRT(pi*1E-7*plasma_mass)) | ||
fact_pa = plasma_mass/(mymass*plasma_Zmean) | ||
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unnecessary division
@@ -191,8 +193,9 @@ SUBROUTINE beams3d_follow_gc | |||
lcollision = lbeam | |||
! Collision parameters | |||
fact_kick = 2*E_kick*mycharge/(mymass*pi2*pi2*freq_kick*freq_kick*SQRT(pi*1E-7*plasma_mass)) | |||
fact_pa = plasma_mass/(mymass*plasma_Zmean) | |||
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unnecessary division.
@@ -263,8 +266,9 @@ SUBROUTINE beams3d_follow_gc | |||
lcollision = lbeam .or. lcollision | |||
! Collision parameters | |||
fact_kick = 2*E_kick*mycharge/(mymass*pi2*pi2*freq_kick*freq_kick*SQRT(pi*1E-7*plasma_mass)) | |||
fact_pa = plasma_mass/(mymass*plasma_Zmean) | |||
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unnecessary division
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Running tests now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compared this with a develop run for W7-X and can confirm results are within statistical noise.
This improves and unifies the collision operators. Each operator function now calculates the spitzer time, the critical velocity and a pitch angle scattering factor independently for the code to use later. The nubeam function is improved but disabled for now. It calculates the collisions locally taking into account all present ion densities. The Locust function is untested.