File upstream_density_feedback.hxx
Defines
-
UPSTREAM_DENSITY_FEEDBACK_H
-
struct UpstreamDensityFeedback : public Component
- #include <upstream_density_feedback.hxx>
Adds a time-varying density source, depending on the difference between the upstream density at y=0 and the specified value
Public Functions
-
inline UpstreamDensityFeedback(std::string name, Options &alloptions, Solver*)
Inputs
<name> (e.g. “d+”)
density_upstream Upstream density (y=0) in m^-3
density_controller_p Feedback proportional to error
density_controller_i Feedback proportional to error integral
density_integral_positive Force integral term to be positive? (default: false)
density_source_positive Force density source to be positive? (default: true)
diagnose Output diagnostic information?
N<name> (e.g. “Nd+”)
source_shape The initial source that is scaled by a time-varying factor
-
virtual void transform(Options &state) override
Inputs
<name>
density
Outputs
<name>
density_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.
-
BoutReal density_upstream
Normalised upstream density.
-
BoutReal density_controller_p
-
BoutReal density_controller_i
PI controller parameters.
-
BoutReal error
-
BoutReal density_error_integral = {0.0}
Time integral of the error.
-
bool density_integral_positive
Force integral term to be positive?
-
bool density_source_positive
Force source to be positive?
-
BoutReal density_error_lasttime = {-1.0}
-
BoutReal density_error_last = {0.0}
-
Field3D density_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?
-
inline UpstreamDensityFeedback(std::string name, Options &alloptions, Solver*)