15 std::shared_ptr<Base::TurbineParameters> parameters) {
17 std::dynamic_pointer_cast<Signal::HydroTurbineParameters>(parameters);
21 "Type of parameters class of {} has to be HydroTurbineParameters!",
25 if (params->Tw == 0) {
26 SPDLOG_LOGGER_ERROR(
mSLog,
"Tw must not be zero for {}", this->
name());
31 SPDLOG_LOGGER_INFO(
mSLog,
32 "Hydro turbine parameters:"
39 if (Pminit < 0 || Pminit > 1) {
42 "Initial mechanical power of hydro turbine {} must be in [0, 1] pu",
50 SPDLOG_LOGGER_INFO(
mSLog,
51 "Hydro turbine initial values:"
63 mX1_next = **mX1 + (2.0 * dt / mParameters->Tw) * (Pgv - **mX1);
66 **mPm = 3.0 * **mX1 - 2.0 * Pgv;
AttributeList::Ptr mAttributes
Attribute List.
spdlog::level::level_enum Level
void initializeStates(Real Pminit) final
Set steady-state initial values (call after setParameters, before first step)
Real step(Real Pgv, Real dt) final
Step the turbine with valve/gate opening Pgv and return mechanical power Pm.
void setParameters(std::shared_ptr< Base::TurbineParameters > parameters) final
HydroTurbine(const String &name, CPS::Logger::Level logLevel=CPS::Logger::Level::off)
SimSignalComp(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Logger::Log mSLog
Component logger.