File braginskii_collisions.hxx#
Defines
-
COLLISIONS_H#
-
struct BraginskiiCollisions : public Component#
- #include <braginskii_collisions.hxx>
Calculates the collision rate of each species with all other species, using the Braginskii equation.
Important: Be careful when including both ion_neutral collisions and reactions such as charge exchange, since that may result in double counting. Similarly for electron_neutral collisions and ionization reactions.
Public Functions
-
BraginskiiCollisions(const std::string &name, Options &alloptions, Solver*)#
The following boolean options under alloptions[name] control which collisions are calculated:
electron_electron
electron_ion
electron_neutral
ion_ion
ion_neutral
neutral_neutral
The user can also set
ei_multiplier arbitrary multiplier on electron-ion collision rate
- Parameters:
alloptions – Settings, which should include:
units
eV
inv_meters_cubed
meters
seconds
-
virtual void outputVars(Options &state) override#
Add extra fields for output, or set attributes e.g docstrings.
Private Functions
-
virtual void transform_impl(GuardedOptions &state) override#
The implementation of the transform method. Modify the given simulation state. All components must implement this function. It will only allow the reading from/writing to state variables with the appropriate permissiosn in
state_variable_access.
-
void collide(GuardedOptions &species1, GuardedOptions &species2, const Field3D &nu_12)#
Update collision frequencies, momentum and energy exchange nu_12 normalised frequency
Calculate apply collision data for the two species. nu_12 normalised frequency
Modifies species1 and species2
collision_frequency
Note: A* variables are used for atomic mass numbers; mass* variables are species masses in kg
Private Members
-
BoutReal Tnorm#
-
BoutReal Nnorm#
-
BoutReal rho_s0#
-
BoutReal Omega_ci#
-
bool electron_electron#
Which types of collisions to include?
-
bool electron_ion#
-
bool electron_neutral#
-
bool ion_ion#
-
bool ion_neutral#
-
bool neutral_neutral#
-
BoutReal ei_multiplier#
-
Options collision_rates#
Calculated collision rates saved for post-processing and use by other components Saved in options, the BOUT++ dictionary-like object
-
bool diagnose#
Save more diagnostics?
-
BraginskiiCollisions(const std::string &name, Options &alloptions, Solver*)#