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.