Skip to content
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

Merged
merged 40 commits into from
Jan 28, 2024
Merged

Conversation

kudav
Copy link
Collaborator

@kudav kudav commented Sep 7, 2023

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.

@kudav kudav requested a review from lazersos September 7, 2023 14:01
@kudav kudav added the enhancement New feature or request label Sep 7, 2023
@kudav kudav self-assigned this Sep 8, 2023
Copy link
Collaborator

@lazersos lazersos left a 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.

mybeam = Beam(i)
moment = mu_start(i)
fact_pa = plasma_mass/(mymass*plasma_Zmean)
fact_pa = 1/(mymass*plasma_Zmean/plasma_mass)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extra un-necessary division.

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)
Copy link
Collaborator

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)
Copy link
Collaborator

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)
Copy link
Collaborator

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)
Copy link
Collaborator

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)
Copy link
Collaborator

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)
Copy link
Collaborator

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)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unnecessary division

Copy link
Collaborator

@lazersos lazersos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running tests now.

Copy link
Collaborator

@lazersos lazersos left a 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.

@lazersos lazersos merged commit 9cf3913 into develop Jan 28, 2024
2 checks passed
@lazersos lazersos deleted the feature/BEAMS3D_collOperators branch January 28, 2024 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants