Neutral passive momentum#543
Conversation
…rom = ion_name, also assuming Ni=Ne for now.
…al_mix.cxx (like radiation.cxx); add nu_* and Nn_eq to diagnostics.
| @@ -40,21 +42,28 @@ NeutralMixed::NeutralMixed(const std::string& name, Options& alloptions, Solver* | |||
| evolve_momentum = options["evolve_momentum"] | |||
| .doc("Evolve parallel neutral momentum?") | |||
| .withDefault<bool>(true); | |||
| passive_momentum = options["passive_momentum"] | |||
There was a problem hiding this comment.
@Vandoo Thanks for this PR, I'd like to try it as well in my SOLPS comparison if I have the time. I have a few questions. First one - is there some reason why you lumped in the passive momentum and Tn = Ti together into one option? is it possible to separate them?
| // Equilibrium neutral density: | ||
| // Nn_eq = Ni * (Nn * nu_cx + Ne * nu_rec) / (Ni * nu_cx + Ne * nu_iz) | ||
| // Quasineutrality: Ni = Ne | ||
| Field3D Nn_eq = (Nnlim * nu_cx + Ne * nu_rec) |
There was a problem hiding this comment.
How come you can't use the existing collisionality block? I wrote this collisionality thing, it's really messy and seeing it twice in one file makes it even worse! I need to refactor it when I have the time, but in the meantime maybe the first block can be reused?
dschwoerer
left a comment
There was a problem hiding this comment.
There is also some commented out code, that should be removed.
| logPnlim.applyBoundary(); | ||
| /////////////////////////////////////////////////////// | ||
| // Calculate cross-field diffusion from collision frequency |
There was a problem hiding this comment.
| logPnlim.applyBoundary(); | |
| /////////////////////////////////////////////////////// | |
| // Calculate cross-field diffusion from collision frequency | |
| logPnlim.applyBoundary(); | |
| /////////////////////////////////////////////////////// | |
| // Calculate cross-field diffusion from collision frequency |
Add an option to solve only the neutral density equation, with ( Td = Td+ ) as described in https://doi.org/10.1016/j.nme.2024.101824 (the definition of D_n remains unchanged). The parallel mometum is passively given by the local reaction balance (Nn_eq) * U(the ion parallel velocity), assuming a highly collisional regime.
Initial tests in an early transition phase indicate that, for the same simulated physical time, this approach could reduce computational cost by ~60%.