modelMeritOrderDispatcherStatePrediction

Forward-looking control (for plant status z as well as load), min, max and gradient constraints

Extends from Modelica.Blocks.Interfaces.DiscreteBlock (Base class of discrete control blocks), TransiEnt.Basics.Icons.SystemOperator.

Information

1. Purpose of model

This model extends the functionality of the basic MeritOrderDispatcher by taking into account a prediction for the (boolean) operating state.

This is needed because if a unit is commited it has to produce a minimum amount of power (P_min). If the prediction indicates that a unit will be started in the near future the other units production is reduced and thereby a smooth load following is possible (see TestMeritOrderDispatcherStatePrediction for an example).

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

(no remarks)

3. Limits of validity

(no remarks)

4. Interfaces

u[ntime]: RealInput

y[nout]: RealOutput

z[nout, ntime]: BooleanInput

P_R_pos[nout]: input for electric power in [W] "Upwards reserve constraint, reduces maximum production (values are supposed to be positive)"

P_R_neg[nout]: input for electric power in [W] "Downwards reserve constraint, increases minimum production (values are supposed to be positive)"

5. Nomenclature

(no remarks)

6. Governing Equations

(no remarks)

7. Remarks for Usage

(no remarks)

8. Validation

Tested in check model "TransiEnt.Grid.Electrical.EconomicDispatch.Check.TestMeritOrderDispatcherStatePrediction"

9. References

(no remarks)

10. Version History

Parameters

TypeNameDefaultDescription
SI.TimesamplePeriod (from DiscreteBlock)Sample period of component
SI.TimestartTime (from DiscreteBlock)0First sample time instant
IntegernoutsimCenter.generationPark.nMODPlantsNumber of plants
Integerntime20Number of future points in time to be considered
Modelica.Units.SI.Power[nout]P_initzeros(nout)
Real[nout]P_grad_max_starsimCenter.generationPark.P_grad_max_star_MODSpecific Power gradient in 1/s
Modelica.Units.SI.Power[nout]P_min_constsimCenter.generationPark.P_min_MOD
Modelica.Units.SI.Power[nout]P_max_constP_n
TransiEnt.Basics.Units.MonetaryUnitPerEnergy[nout]C_varsimCenter.generationPark.C_var_MOD
SI.Power[nout]P_nsimCenter.generationPark.P_max_MOD
Time varying operating boundaries
BooleanuseVarLimitsfalse
IntegernVarLimits1
Integer[nVarLimits]iVarLimits1:nVarLimits

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInput[ntime]uLoad Prediction
Modelica.Blocks.Interfaces.RealOutput[nout]y
Modelica.Blocks.Interfaces.BooleanInput[nout,ntime]zPlant status (true=on) for each time step
TransiEnt.Basics.Interfaces.Electrical.ElectricPowerIn[nout]P_R_posUpwards reserve constraint, reduces maximum production (values are supposed to be positive)
TransiEnt.Basics.Interfaces.Electrical.ElectricPowerIn[nout]P_R_negDownwards reserve constraint, increases minimum production (values are supposed to be positive)

Components

TypeNameDefaultDescription
TransiEnt.SimCentersimCenter
Modelica.Units.SI.Power[ntime]P_load
RealC_varsorted
Integermerit_order
Integercommitment_orderOrder in which additional units are commited, if load can not be matched otherwise
Modelica.Units.SI.Power[nout]P_0Current operating point
Modelica.Units.SI.Power[nout,ntime]P_rcbl_maxMax reachable operating point
Modelica.Units.SI.Power[nout,ntime]P_rcbl_minMin reachable operating point
Modelica.Units.SI.Power[nout]P_rcbl_max_backMax operating point to reach next timestep operating point
Modelica.Units.SI.Power[nout]P_rcbl_min_backMin operating point to reach next timestep operating point
Modelica.Units.SI.PowerP_mustrun_residualMustrun power of plants that are more expensive than me
Modelica.Units.SI.PowerP_set_totalsum(y)
Modelica.Units.SI.PowerP_max_totalsum(P_max)
Modelica.Units.SI.PowerP_min_totalsum(P_min)
Modelica.Units.SI.PowerP_init_totalsum(P_init)
Modelica.Units.SI.Power[nout]P_max
Modelica.Units.SI.Power[nout]P_min
Modelica.Units.SI.Power[nVarLimits]P_max_varP_max[iVarLimits]
Modelica.Units.SI.Power[nVarLimits]P_min_varP_min[iVarLimits]
Modelica.Units.SI.PowerP_min_var_totalsum(P_min_var)
Modelica.Units.SI.PowerP_max_var_totalsum(P_max_var)
Modelica.Units.SI.PowerP_rcbl_max_totalsum(P_rcbl_max[:, 1])
Modelica.Units.SI.PowerP_rcbl_min_totalsum(P_rcbl_min[:, 1])
Modelica.Units.SI.PowerP_rcbl_max_back_total
Modelica.Units.SI.PowerP_rcbl_min_back_total
TransiEnt.Basics.Units.MonetaryUnitC_var_totalTotal cost estimation (specific production cost multiplied by set points
Booleanis_commitment_mode