File ion_viscosity.hxx#
Defines
-
ION_VISCOSITY_H#
-
struct IonViscosity : public Component#
- #include <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
-
IonViscosity(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 transform(Options &state) override#
Inputs
species
<name> (skips “e”)
pressure (skips if not present)
velocity (skips if not present)
collision_frequency
Sets in the state
species
<name>
momentum_source
-
virtual void outputVars(Options &state) override#
Save variables to the output.
Private Members
-
BoutReal eta_limit_alpha#
Flux limit coefficient.
-
bool perpendicular#
Include perpendicular flow? (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.
-
bool diagnose#
Output additional diagnostics?
-
std::map<std::string, Diagnostics> diagnostics#
Store diagnostics for each species.
-
struct Diagnostics#
Per-species diagnostics.
-
IonViscosity(std::string name, Options &alloptions, Solver*)#