File temperature_feedback.hxx

Defines

temperature_feedback_H
struct TemperatureFeedback : public Component
#include <temperature_feedback.hxx>

Adds a time-varying temperature source, depending on the difference between the upstream temperature at y=0 and the specified value

Public Functions

inline TemperatureFeedback(std::string name, Options &alloptions, Solver*)

Inputs

  • <name> (e.g. “d+”)

    • temperature_setpoint Desired temperature in eV

    • control_target_temperature Adjust the pressure source to match the upstream (if false) or target (if true) temperature

    • temperature_controller_p Feedback proportional to error

    • temperature_controller_i Feedback proportional to error integral

    • temperature_integral_positive Force integral term to be positive? (default: false)

    • temperature_source_positive Force temperature source to be positive? (default: true)

    • diagnose Output diagnostic information?

  • T<name> (e.g. “Td+”)

    • source_shape The initial source that is scaled by a time-varying factor

virtual void transform(Options &state) override

Inputs

  • <name>

    • temperature

Outputs

  • <name>

    • temperature_source

inline virtual void outputVars(Options &state) override

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

inline virtual void restartVars(Options &state) override

Add extra fields to restart files.

Private Members

std::string name

The species name.

std::list<std::string> species_list

Which species to apply the factor to.

std::list<std::string> scaling_factors_list

Factor to apply.

BoutReal temperature_setpoint

Normalised setpoint temperature.

BoutReal temperature_controller_p
BoutReal temperature_controller_i

PI controller parameters.

BoutReal error
BoutReal temperature_error_integral = {0.0}

Time integral of the error.

bool control_target_temperature

Adjust the pressure source to match the upstream (if false) or target (if true) temperature.

bool temperature_integral_positive

Force integral term to be positive?

bool temperature_source_positive

Force source to be positive?

BoutReal temperature_error_lasttime = {-1.0}
BoutReal temperature_error_last = {0.0}
Field3D source_shape

This shape source is scaled up and down.

BoutReal source_multiplier

Factor to multiply source.

BoutReal proportional_term
BoutReal integral_term

Components of resulting source for diagnostics.

bool diagnose

Output diagnostic information?