You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Cyclotron velocity scale: negative velocity and time units for a negatively charged bulk species #825
Units.derive_units (src/struphy/physics/physics.py) sets the velocity unit for velocity_scale="cyclotron" with the signed cyclotron frequency of the bulk species:
For a negatively charged bulk species (e.g. electrons, Z_bulk = -1) the velocity unit and the time unit t = x / v are therefore negative. Everything derived from them inherits the sign: the current-density unit j = e n v, the time grid in physical units (Output.time_scale), and the equation parameter epsilon = 1 / (Omega_c * t) is +1 for both signs of the charge (the sign of the force then sits in the units instead of in epsilon).
Models with velocity_scale="cyclotron" currently use positive bulk species, so this does not show up in the examples; electron runs set the charge sign through epsilon=-1 with the default charge number.
Possible fix: use abs(Z_bulk) in the velocity unit, so that v and t are always positive and epsilon = 1 / (Omega_c t) carries the sign of the charge (as for the other velocity scales). This changes the normalization of cyclotron-scale models with negative bulk charge, so it needs a check of those models and of the docs (doc/sections/subsections/models-normalization.rst).
Found while setting up the cyclotron normalization of VlasovMaxwellQuasiNeutral (#821).
Activity
VlasovMaxwellCoupling: implicit energy-conserving Vlasov-Maxwell step…
VlasovMaxwellCoupling: implicit energy-conserving Vlasov-Maxwell step…