File neutral_mixed.hxx#

Defines

NEUTRAL_MIXED_H#
struct NeutralMixed : public Component#
#include <neutral_mixed.hxx>

Evolve density, parallel momentum and pressure for a neutral gas species with cross-field diffusion

Public Functions

NeutralMixed(const std::string &name, Options &options, Solver *solver)#
Parameters:
  • name – The name of the species e.g. “h”

  • options – Top-level options. Settings will be taken from options[name]

  • solver – Time-integration solver to be used

virtual void transform(Options &state) override#

Modify the given simulation state.

virtual void finally(const Options &state) override#

Use the final simulation state to update internal state (e.g. time derivatives)

virtual void outputVars(Options &state) override#

Add extra fields for output, or set attributes e.g docstrings.

virtual void precon(const Options &state, BoutReal gamma) override#

Preconditioner.

Private Members

std::string name#

Species name.

Field3D Nn#
Field3D Pn#
Field3D NVn#
Field3D Vn#

Neutral parallel velocity.

Field3D Tn#

Neutral temperature.

Field3D Nnlim#
Field3D Pnlim#
Field3D logPnlim#
BoutReal AA#

Atomic mass (proton = 1)

std::vector<std::string> collision_names#

Collisions used for collisionality.

std::string diffusion_collisions_mode#

Collision selection, either afn or multispecies.

Field3D nu#

Collisionality to use for diffusion.

Field3D Dnn#

Diffusion coefficient.

Field3D DnnNn#
Field3D DnnPn#
Field3D DnnTn#
Field3D DnnNVn#

Used for operators.

BoutReal flux_limit#

Diffusive flux limit.

BoutReal diffusion_limit#

Maximum diffusion coefficient.

bool sheath_ydown#
bool sheath_yup#
BoutReal density_floor#

Minimum Nn used when dividing NVn by Nn to get Vn.

BoutReal temperature_floor#
BoutReal pressure_floor#

Minimum Pn used when dividing Pn by Nn to get Tn.

bool freeze_low_density#

Freeze evolution in low density regions?

bool neutral_viscosity#

include viscosity?

bool neutral_conduction#

Include heat conduction?

bool evolve_momentum#

Evolve parallel momentum?

Field3D kappa_n#
Field3D eta_n#

Neutral conduction and viscosity.

bool precondition = {true}#

Enable preconditioner?

bool precon_laplacexy = {false}#

Use LaplaceXY?

bool lax_flux#

Use Lax flux for advection terms.

std::unique_ptr<Laplacian> inv#

Laplacian inversion used for preconditioning.

Field3D density_source#
Field3D pressure_source#

External input source.

Field3D Sn#
Field3D Sp#
Field3D Snv#

Particle, pressure and momentum source.

Field3D sound_speed#

Sound speed for use with Lax flux.

bool output_ddt#

Save time derivatives?

bool diagnose#

Save additional diagnostics?

Field3D pf_adv_perp_xlow#
Field3D pf_adv_perp_ylow#
Field3D pf_adv_par_ylow#
Field3D mf_adv_perp_xlow#
Field3D mf_adv_perp_ylow#
Field3D mf_adv_par_ylow#
Field3D mf_visc_perp_xlow#
Field3D mf_visc_perp_ylow#
Field3D mf_visc_par_ylow#
Field3D ef_adv_perp_xlow#
Field3D ef_adv_perp_ylow#
Field3D ef_adv_par_ylow#
Field3D ef_cond_perp_xlow#
Field3D ef_cond_perp_ylow#
Field3D ef_cond_par_ylow#