File recycling.hxx#

Defines

RECYCLING_H#
struct Recycling : public Component#
#include <recycling.hxx>

Convert fluxes of species at boundaries

Since this must be calculated after boundary fluxes (e.g. sheath), it is included as a top-level component

Public Functions

Recycling(std::string name, Options &alloptions, Solver*)#

Inputs

  • <name>

    • species A comma-separated list of species to recycle

  • <species>

    • recycle_as The species to recycle into

    • recycle_multiplier The recycled flux multiplier, between 0 and 1

    • recycle_energy The energy of the recycled particles [eV]

virtual void transform(Options &state) override#

Inputs

  • species

    • <species>

      • density

      • velocity

Outputs

  • species

    • <species>

      • density_source

virtual void outputVars(Options &state) override#

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

Private Members

std::vector<RecycleChannel> channels#
bool target_recycle#
bool sol_recycle#
bool pfr_recycle#
bool neutral_pump#

Flags for enabling recycling in different regions.

bool diagnose#

Save additional post-processing variables?

BoutReal density_floor#
BoutReal pressure_floor#

minimum values for Nn, Pn to avoid divide by zero

Field3D density_source#
Field3D energy_source#

Recycling particle and energy sources for all locations.

Field3D energy_flow_ylow#
Field3D energy_flow_xlow#

Cell edge fluxes used for calculating fast recycling energy source.

Field3D particle_flow_xlow#

Radial wall particle fluxes for recycling calc. No need to get poloidal from here, it’s calculated from sheath velocity.

Field2D is_pump#

1 = pump, 0 = no pump. Works only in SOL/PFR. Provided by user in grid file.

struct RecycleChannel#

Public Members

std::string from#

The species name to recycle.

std::string to#

Species to recycle to.

BoutReal target_multiplier#

Flux multiplier (recycling fraction). Combination of recycling fraction and species change e.g h+ -> h2 results in 0.5 multiplier

BoutReal sol_multiplier#
BoutReal pfr_multiplier#
BoutReal pump_multiplier#
BoutReal target_energy#
BoutReal sol_energy#
BoutReal pfr_energy#

Energy of recycled particle (normalised to Tnorm)

BoutReal target_fast_recycle_fraction#
BoutReal pfr_fast_recycle_fraction#
BoutReal sol_fast_recycle_fraction#

Fraction of ions undergoing fast reflection.

BoutReal target_fast_recycle_energy_factor#
BoutReal sol_fast_recycle_energy_factor#
BoutReal pfr_fast_recycle_energy_factor#

Fraction of energy retained by fast recycled neutrals.

Field3D target_recycle_density_source = 0.0#

Recycling density source for target recycling.

Field3D target_recycle_energy_source = 0.0#

Recycling energy source for target recycling.

Field3D wall_recycle_density_source = 0.0#

Recycling density source for pfr + sol recycling.

Field3D wall_recycle_energy_source = 0.0#

Recycling energy source for pfr + sol recycling.

Field3D pump_density_source = 0.0#

Recycling density source for pump recycling.

Field3D pump_energy_source = 0.0#

Recycling energy source for pump recycling.