18 std::shared_ptr<Base::TurbineParameters> parameters) {
20 std::dynamic_pointer_cast<Signal::SteamTurbineParameters>(parameters);
24 "Type of parameters class of {} has to be SteamTurbineParameters!",
28 Real fractionSum = params->Fhp + params->Fip + params->Flp;
29 if (std::abs(fractionSum - 1.0) > 1e-9) {
32 "The sum of power fractions Fhp+Fip+Flp of steam turbine {} must equal "
34 this->
name(), fractionSum);
39 SPDLOG_LOGGER_INFO(
mSLog,
40 "Steam turbine parameters:"
47 mParameters->Fhp, mParameters->Fip, mParameters->Flp,
48 mParameters->Tch, mParameters->Trh, mParameters->Tco);
53 if (Pminit < 0 || Pminit > 1) {
56 "Initial mechanical power of steam turbine {} must be in [0, 1] pu",
68 SPDLOG_LOGGER_INFO(
mSLog,
69 "Turbine initial values:"
74 **mPhp, **mPip, **mPlp, **mPm);
85 if (mParameters->Tch == 0)
88 mPhp_next = **mPhp + (dt / mParameters->Tch) * (Pgv - **mPhp);
91 if (mParameters->Trh == 0)
94 mPip_next = **mPip + (dt / mParameters->Trh) * (**mPhp - **mPip);
97 if (mParameters->Tco == 0)
100 mPlp_next = **mPlp + (dt / mParameters->Tco) * (**mPip - **mPlp);
102 **mPm = mParameters->Fhp * **mPhp + mParameters->Fip * **mPip +
103 mParameters->Flp * **mPlp;
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
SteamTurbine(const String &name)
SimSignalComp(String uid, String name, Logger::Level logLevel=Logger::Level::off)
Logger::Log mSLog
Component logger.