File evolve_energy.hxx#

Defines

EVOLVE_ENERGY_H#
struct EvolveEnergy : public Component#
#include <evolve_energy.hxx>

Evolves species internal energy in time

Mesh inputs

P<name>_src A source of pressure, in Pascals per second This can be over-ridden by the source option setting.

Public Functions

EvolveEnergy(std::string name, Options &options, Solver *solver)#

Inputs

  • <name>

    • bndry_flux Allow flows through radial boundaries? Default is true

    • density_floor Minimum density floor. Default 1e-5 normalised units.

    • diagnose Output additional diagnostic fields?

    • evolve_log Evolve logarithm of pressure? Default is false

    • hyper_z Hyper-diffusion in Z

    • poloidal_flows Include poloidal ExB flows? Default is true

    • precon Enable preconditioner? Note: solver may not use it even if enabled.

  • E<name> e.g. “Ee”, “Ed+”

    • source Source of energy [W / s]. NOTE: This overrides mesh input P<name>_src

    • source_only_in_core Zero the source outside the closed field-line region?

    • neumann_boundary_average_z Apply Neumann boundaries with Z average?

virtual void finally(const Options &state) override#

Optional inputs

  • species

    • <name>

      • velocity. Must have sound_speed or temperature

      • energy_source

  • fields

    • phi Electrostatic potential -> ExB drift

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 Functions

virtual void transform_impl(GuardedOptions &state) override#

Inputs

  • species

    • <name>

      • AA

      • density

      • velocity

Sets

  • species

    • <name>

      • pressure

      • temperature

Private Members

std::string name#

Short name of the species e.g. h+.

Field3D E#

Energy (normalised): P + 1/2 m n v^2.

Field3D P#

Pressure (normalised)

Field3D T#
Field3D N#

Temperature, density.

BoutReal adiabatic_index#

Ratio of specific heats, γ = Cp / Cv.

BoutReal Cv#
bool bndry_flux#

Heat capacity at constant volume (3/2 for ideal monatomic gas)

bool neumann_boundary_average_z#

Apply neumann boundary with Z average?

bool poloidal_flows#
bool thermal_conduction#

Include thermal conduction?

Field3D nu#

Collision frequency for conduction.

bool evolve_log#

Evolve logarithm of E?

Field3D logE#

Natural logarithm of E.

BoutReal density_floor#

Minimum density for calculating T.

Field3D source#

External power source.

Field3D Se#

Total energy source.

BoutReal hyper_z#

Hyper-diffusion.

bool diagnose#

Output additional diagnostics?

bool enable_precon#

Enable preconditioner?

Field3D flow_xlow#
Field3D flow_ylow#

Energy flow diagnostics.