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
Field3D Vnlim
Field3D Tnlim
BoutReal AA

Atomic mass (proton = 1)

Field3D Dnn

Diffusion coefficient.

Field3D DnnNn
Field3D DnnPn
Field3D DnnTn
Field3D DnnNVn

Used for operators.

bool sheath_ydown
bool sheath_yup
BoutReal nn_floor

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

BoutReal flux_limit

Diffusive flux limit.

BoutReal diffusion_limit

Maximum diffusion coefficient.

bool neutral_viscosity

include viscosity?

bool evolve_momentum

Evolve parallel momentum?

bool precondition = {true}

Enable preconditioner?

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.

bool output_ddt

Save time derivatives?

bool diagnose

Save additional diagnostics?