File braginskii_ion_viscosity.hxx#
Defines
-
ION_VISCOSITY_H#
-
struct BraginskiiIonViscosity : public Component#
- #include <braginskii_ion_viscosity.hxx>
Ion viscosity terms
Adds a viscosity to all species which are not electrons
Uses Braginskii collisional form, combined with a SOLPS-like flux limiter.
Needs to be calculated after collisions, because collision frequency is used to calculate parallel viscosity
The ion stress tensor Pi_ci is split into perpendicular and parallel pieces:
Pi_ci = Pi_ciperp + Pi_cipar
In the parallel ion momentum equation the Pi_cipar term is solved as a parallel diffusion, so is treated separately All other terms are added to Pi_ciperp, even if they are not really parallel parts
Public Functions
-
BraginskiiIonViscosity(const std::string &name, Options &alloptions, Solver*)#
Inputs
<name>
eta_limit_alpha: float, default -1 Flux limiter coefficient. < 0 means off.
perpendicular: bool, default false Include perpendicular flows? Requires curvature vector and phi potential
-
virtual void outputVars(Options &state) override#
Save variables to the output.
Private Functions
-
virtual void transform_impl(GuardedOptions &state) override#
Inputs
species
<name> (skips “e”)
charge
pressure (skips if not present)
velocity (skips if not present)
collision_frequency
fields
phi
Sets in the state
species
<name>
momentum_source
energy_source
fields
DivJextra
Private Members
-
BoutReal eta_limit_alpha#
Flux limit coefficient.
-
bool parallel#
Include parallel viscosity (requires parallel velocity)
-
bool perpendicular#
Include perpendicular viscosity? (Requires phi)
-
std::map<std::string, std::vector<std::string>> collision_names#
Collisions used for collisionality.
-
std::string viscosity_collisions_mode#
Collision selection, either multispecies or braginskii
-
Field3D nu#
Collision frequency for conduction.
-
Vector2D Curlb_B#
Curvature vector Curl(b/B)
-
bool bounce_frequency#
Modify the collision time with the bounce frequency?
-
BoutReal bounce_frequency_q95#
Input q95 for when including bounce frequency change.
-
BoutReal bounce_frequency_epsilon#
Input inverse aspect ratio for including bounce frequency change
-
BoutReal bounce_frequency_R#
Input major radius.
-
BoutReal density_floor#
Minimum density used in calculating Pi_ciperp.
-
bool diagnose#
Output additional diagnostics?
-
std::map<std::string, Diagnostics> diagnostics#
Store diagnostics for each species.
-
struct Diagnostics#
Per-species diagnostics.
-
BraginskiiIonViscosity(const std::string &name, Options &alloptions, Solver*)#