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

Neutral velocity space coordinates #242

Open
mrhardman opened this issue Aug 11, 2024 · 2 comments
Open

Neutral velocity space coordinates #242

mrhardman opened this issue Aug 11, 2024 · 2 comments

Comments

@mrhardman
Copy link
Collaborator

Neutrals currently have support for 3V velocity space with the vz vr vzeta coordinates. This choice seems natural when using cylindrical coordinates, but with require interpolation when mapping from the charged particle vpa vperp gyrophase coordinates. There are currently no differential velocity space operators envisaged for the neutral pdf. This means that we could avoid costly 3V interpolation by using vpa vperp gyrophase coordinates for the neutral velocity space.

This change would require refactoring some loops, the mpi, and require some functions for mapping vpa vperp gyrophase to vz vr vzeta for the advection routines.

@johnomotani @mabarnes @LucasMontoya4 Would this rewrite be of interest for (or before) the generalisation from 1D1V to 1D2V moment kinetics?

@LucasMontoya4
Copy link
Collaborator

@mrhardman How difficult would it be to make these mapping functions? That sounds like a good idea to me..

@mrhardman
Copy link
Collaborator Author

For vpa, vperp, gyrophase -> vz, vr, vzeta, the transformation is written here

vz_val = vpa.grid[ivpa]*bzed - vperp.grid[ivperp]*sin(gyrophase.grid[igyro])*bzeta
vr_val = vperp.grid[ivperp]*cos(gyrophase.grid[igyro])
vzeta_val = vpa.grid[ivpa]*bzeta + vperp.grid[ivperp]*sin(gyrophase.grid[igyro])*bzed
, for the inverse transformation, it is written here:
vpa_val = bzed*vz.grid[ivz] + bzeta*vzeta.grid[ivzeta]
vperp_val = sqrt( vr.grid[ivr]^2.0 + (bzed*vzeta.grid[ivzeta] - bzeta*vz.grid[ivz])^2.0)
.

@johnomotani @LucasMontoya4 Do moment-kinetic neutrals already have "acceleration" terms with velocity derivatives on the neutral pdf? (because of the change of variables).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants