modelPumpstorageStates

Limits input signal by value and gradient depending on active state out of three possible operating states (halt, startup, operating)
Diagram of PumpstorageStates

Extends from TransiEnt.Components.Turbogroups.OperatingStates.PartialStateDynamic (State graph model with state-depentend maximum values and gradients).

Information

1. Purpose of model

Full documentation is not available yet. Please see comments in code or contact author per mail.

2. Level of detail, physical effects considered, and physical insight

(no remarks)

3. Limits of validity

(no remarks)

4. Interfaces

P_set_star: input for electric power in W

P_set_star_lim: output for electric power in W

5. Nomenclature

(no remarks)

6. Governing Equations

(no remarks)

7. Remarks for Usage

slewRateLimiter: set P_grad_operating =-1, if slewRateLimiter is not needed.

8. Validation

Tested in check model "TestPumpstorageStates"

9. References

(no remarks)

10. Version History

Model modified by Oliver Schülting (oliver.schuelting@tuhh.de) on April 2019: added option to deactivate slewRateLimiter

Parameters

TypeNameDefaultDescription
SI.Timet_eps (from PartialStateDynamic)10Threshold time for transitions
RealP_star_init (from PartialStateDynamic)0Power at startup (p.u.)
SI.FrequencyP_grad_inf (from PartialStateDynamic)1Numerical value for unlimited gradients during shutdown
SI.TimeT_thresh (from PartialStateDynamic)simCenter.thresTime constant of numerical element between saturation and gradient limiter
RealTd (from PartialStateDynamic)simCenter.TdTime constant of derivative approximation in slew rate limiter
BooleanuseThresh (from PartialStateDynamic)simCenter.useThreshUse threshould for suppression of numerical noise
Realthres (from PartialStateDynamic)simCenter.thresIf abs(u-y)< thres, y becomes a simple pass through of u. Increasing thres can improve simulation speed. However to large values can make the simulation unstable. A good starting point is the choice thres = tolerance/1000.
SI.FrequencyP_grad_operating (from PartialStateDynamic)0.02/60Maximum Gradient during operation
BooleanuseSlewRateLimiter (from PartialStateDynamic)truechoose if slewRateLimiter is activated
BooleanuseHomotopyVarSlewRateLim (from PartialStateDynamic)simCenter.useHomotopytrue if homotopy shall be used in variableSlewRateLimiter
TransiEnt.Basics.Types.OnOffPumpstorageStatusinit_stateTransiEnt.Basics.Types.offState of Pumpstorage at initialization
SI.Timet_startup120Startup time
RealP_min_operating_pump0.1Minimum power pump operation (p.u.)
RealP_min_operating_turb0.1Minimum power turbine operation (p.u.)
RealP_max_operating_pump1Maximum power pump operation (p.u.)
RealP_max_operating_turb1Maximum power turbine operation (p.u.)
SI.FrequencyP_grad_startup1/max(t_startup, 1)Maximum Gradient during startup

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealOutputP_grad_star_max_out (from PartialStateDynamic)Relative maximum gradient in operation
Modelica.Blocks.Interfaces.RealOutputP_grad_star_min_out (from PartialStateDynamic)Relative minium gradient in operation
TransiEnt.Basics.Interfaces.Electrical.ElectricPowerInP_set_star (from PartialStateDynamic)Connector of setpoint input signal
TransiEnt.Basics.Interfaces.Electrical.ElectricPowerOutP_set_star_lim (from PartialStateDynamic)Limited output signal
Basics.Interfaces.Electrical.ElectricPowerInP_actual_star (from PartialStateDynamic)Connector of actual power

Components

TypeNameDefaultDescription
SimCentersimCenter (from PartialStateDynamic)
Modelica.StateGraph.StateGraphRootstateGraphRoot (from PartialStateDynamic)
Modelica.Blocks.Nonlinear.VariableLimitervariableLimiter (from PartialStateDynamic)
Basics.Blocks.VariableSlewRateLimitervariableSlewRateLimiter (from PartialStateDynamic)
Modelica.Blocks.Sources.RealExpressionP_min_of_state (from PartialStateDynamic)
Modelica.Blocks.Sources.RealExpressionP_max_of_state (from PartialStateDynamic)
Modelica.Blocks.Sources.RealExpressionP_grad_min_of_state (from PartialStateDynamic)
Modelica.Blocks.Sources.RealExpressionP_grad_max_of_state (from PartialStateDynamic)
Modelica.Blocks.Logical.SwitchdeactivatePower (from PartialStateDynamic)
BooleanisOperating (from PartialStateDynamic)
Modelica.Blocks.Sources.RealExpressionzeroPower (from PartialStateDynamic)
Modelica.Blocks.Sources.BooleanExpressiondeactivationSignal (from PartialStateDynamic)
Modelica.StateGraph.StepWithSignalhalt
Modelica.StateGraph.TransitionstartupPumpSuccess
Modelica.StateGraph.StepWithSignaloperatingPump
Modelica.StateGraph.StepWithSignalstartupPump
Modelica.StateGraph.TransitionthresholdPump
Modelica.StateGraph.TransitionnoThreshold
Modelica.StateGraph.TransitionnoThreshold2
Modelica.StateGraph.TransitionthresholdTurb
Modelica.StateGraph.StepWithSignalstartupTurb
Modelica.StateGraph.TransitionnoThreshold1
Modelica.StateGraph.TransitionstartupTurbSuccess
Modelica.StateGraph.StepWithSignaloperatingTurb
Modelica.StateGraph.TransitionnoThreshold3
Modelica.StateGraph.InitialStepinit
Modelica.StateGraph.TransitioninitHalt
Modelica.StateGraph.TransitioninitOperatingPump
Modelica.StateGraph.TransitioninitOperatingTurb