File evolve_momentum.hxx

Defines

EVOLVE_MOMENTUM_H
struct EvolveMomentum : public Component
#include <evolve_momentum.hxx>

Evolve parallel momentum.

Public Functions

EvolveMomentum(std::string name, Options &options, Solver *solver)
virtual void transform(Options &state) override

This sets in the state

  • species

    • <name>

      • momentum

      • velocity if density is defined

virtual void finally(const Options &state) override

Calculate ddt(NV).

Inputs

  • species

    • <name>

      • density

      • velocity

      • pressure (optional)

      • momentum_source (optional)

      • sound_speed (optional, used for numerical dissipation)

      • temperature (only needed if sound_speed not provided)

  • fields

    • phi (optional)

virtual void outputVars(Options &state) override

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

Private Members

std::string name

Short name of species e.g “e”.

Field3D NV

Species parallel momentum (normalised, evolving)

Field3D NV_err

Difference from momentum as input from solver.

Field3D NV_solver

Momentum as calculated in the solver.

Field3D V

Species parallel velocity.

Field3D momentum_source

From other components. Stored for diagnostic output.

bool bndry_flux
bool poloidal_flows
BoutReal density_floor
bool low_n_diffuse_perp

Cross-field diffusion at low density?

BoutReal pressure_floor
bool low_p_diffuse_perp

Cross-field diffusion at low pressure?

BoutReal hyper_z

Hyper-diffusion.

bool diagnose

Output additional diagnostics?

bool fix_momentum_boundary_flux

Fix momentum flux to boundary condition?

Field3D flow_xlow
Field3D flow_ylow

Momentum flow diagnostics.