modelNonlinearThreeStatePlant
Extends from TransiEnt.Producer.Electrical.Base.PartialDispatchablePowerPlant (Abstract model of an electric power plant with a power setpoint input connector), TransiEnt.Producer.Electrical.Base.ControlPower.PartialBalancingPowerProvider (Abstract model of any kind of electric balancing power provider with statistics and control input).
Information
1. Purpose of model
Slew Rate limited (=nonlinear), Minimum power limited (shuts down below minimum power), with primary and secondary balancing controller where secondary balancing power is lumped inside.
2. Level of detail, physical effects considered, and physical insight
Carbon Capture & Storage (CCS):
Via parameter 'CO2_Deposition_Rate' the fraction of CO2 that shall be deposited can be defined. The efficiency losses due to CCS can be defined via characterstic lines which are stored in records and which can be chosen via 'CCS_Characteristics'. If 'NoCCS' is chosen there will be no efficiency losses. Though CO2 will still be depositied if COS_DepostionRate>0.
3. Limits of validity
(no remarks)
4. Interfaces
epp: type of electrical power port can be chosen
P_el_set: input for electric power in W (electric power setpoint)
P_SB_set: input for electric power in W (secondary balancing setpoint)
UseCCS: if true: CCS is deposited - if false: CCS is not deposited
5. Nomenclature
(no remarks)
6. Governing Equations
(no remarks)
7. Remarks for Usage
If 0/0 occurs at initialization, try setting useHomotopyVarSlewRateLim to false.
If circular equalities appear, try setting Evaluate=true in the model.
8. Validation
(no remarks)
9. References
(no remarks)
10. Version History
Model created by Pascal Dubucq (dubucq@tuhh.de) on 01.10.2014
Model generalized for different electrical power ports by Jan-Peter Heckel (jan.heckel@tuhh.de) in July 2018
Model modified by Oliver Schülting (oliver.schuelting@tuhh.de) on Dez 2018: added CCS
Model modified by Robert Flesch (flesch@xrg-simulation.de) in Feb 2021: adapted parameter interface to use limiting in firstOrders - this is the new default as it performs much better numerically
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | nSubgrids (from PartialElectricPowerPlant) | simCenter.iDetailedGrid | For calculation of statistics in subgrids (=1 local grid, e.g. hamburg, =2 surrounding grid, e.g. UCTE grid |
| Modelica.Units.SI.Power | P_min | P_min_star*P_el_n | |
| SI.Power | P_init | Start value for P | |
| Physical Constraints | |||
| Modelica.Units.SI.Power | P_el_n (from PartialElectricPowerPlant) | 300e6 | Nominal power of plant |
| SI.Power | P_n (from PartialBalancingPowerProvider) | 300e6 | Nominal power of plant |
| Real | P_min_star | 0.2 | Fraction of nominal power (=20% of nominal power) |
| Real | P_max_star | 1 | Fraction of nominal power (=100% of nominal power) |
| Real | P_grad_max_star | 0.12/60 | Fraction of nominal power per second (12% per minute) |
| Base.PartloadEfficiency.PartloadEfficiencyCharacteristic | EfficiencyCharLine | TransiEnt.Producer.Electrical.Base.PartloadEfficiency.ConstantEfficiency() | choose characteristic efficiency line |
| SI.Time | H | 6 | Time constant of plant (For easy definition of J) |
| SI.Inertia | J | P_el_n*2*H/(2*simCenter.f_n*Modelica.Constants.pi)^2 | Lumped moment of inertia of whole power plant |
| SI.Time | t_startup | 0 | Startup time (P=0 during startup) |
| SI.Time | t_min_operating | 0 | Minimum operation time |
| Boolean | smoothShutDown | true | shut down process will be smoothed - power gradient will be limit by 'P_grad_operating' |
| SI.Time | MinimumDownTime | 0 | Minimum time the plant needs to be shut down before starting again |
| SI.Time | T_plant | 0.63/P_grad_max_star | Time constant of first order model representing plant dynamics |
| SI.MassFraction | CO2_Deposition_Rate | 0 | Fraction of CO2 that is deposited via CCS |
| Base.CCS.NoCCS | CCS_Characteristics | Base.CCS.NoCCS() | Choose characteristic efficiency losses due to CCS |
| Integer | quantity | 1 | amount of power plant blocks into which nominal power is split |
| Statistics | |||
| Modelica.Units.SI.Efficiency | eta_total (from PartialElectricPowerPlant) | 0.6 | Total efficiency of plant for emission calculation |
| EnergyResource | typeOfResource (from PartialElectricPowerPlant) | EnergyResource.Conventional | Type of energy resource for global model statistics |
| PrimaryEnergyCarrier | typeOfPrimaryEnergyCarrier (from PartialElectricPowerPlant) | PrimaryEnergyCarrier.BlackCoal | Type of primary energy carrier for co2 emissions global statistics |
| Boolean | integrateElPower (from PartialElectricPowerPlant) | simCenter.integrateElPower | true if electric powers shall be integrated |
| Boolean | integrateCDE (from PartialElectricPowerPlant) | simCenter.integrateCDE | true if CDE shall be integrated |
| Boolean | calculateCost (from PartialElectricPowerPlant) | simCenter.calculateCost | true if costs shall be calculated |
| EnergyResource | typeOfBalancingPowerResource (from PartialBalancingPowerProvider) | EnergyResource.Conventional | Type of energy resource for global model statistics |
| Integer | nSubgrid | 1 | Index of subgrid for moment of inertia statistics |
| Block control › Frequency Control | |||
| Boolean | isPrimaryControlActive (from PartialBalancingPowerProvider) | true | |
| Boolean | isSecondaryControlActive (from PartialBalancingPowerProvider) | false | |
| Boolean | isExternalSecondaryController (from PartialBalancingPowerProvider) | true | False, provider generates its own control setpoint (only for lumped plants) |
| SI.Time | t_SB_act (from PartialBalancingPowerProvider) | simCenter.t_SB_act | Maximum reaction time for SB |
| Modelica.Units.SI.Power | P_el_grad_max_SB (from PartialBalancingPowerProvider) | 0.02*P_n/60 | Maximum power gradient for secondary balancing (default: 2%/min) |
| Initialization | |||
| Boolean | set_P_init | true | Use of P_init or calculation of P_init from grid (CPP) |
| Real | P_init_set | P_el_n | Initial or guess value of turbine power |
| Expert Settings | |||
| TransiEnt.Components.Turbogroups.Base.GradientLimitingChoices | powerGradLimChoice | TransiEnt.Components.Turbogroups.Base.GradientLimitingChoices.GradLimInFirstOrder | options of gradient limitation |
| Boolean | fixedStartValue_w | false | Whether or not the start value of the angular velocity of the plants mechanical components is fixed |
| SI.Time | Td_GradientLimiter | simCenter.Td | Time constant of integrator |
| Boolean | useThresh | simCenter.useThresh | Use threshould for suppression of numerical noise |
| Real | thres | simCenter.thres | If 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. For too small values, the power plant is never turned off. |
| Real | thres_hyst | 1e-10 | Threshold for hysteresis for switch from halt to startup (chattering might occur, hysteresis might help avoiding this) |
| Boolean | useHomotopyVarSlewRateLim | simCenter.useHomotopy | true if homotopy shall be used in variableSlewRateLimiter in turbine (true might avoid circular equalities, false might help if 0/0 occurs in power plant) |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| TransiEnt.Basics.Interfaces.Electrical.ActivePowerPort | epp (from PartialElectricPowerPlant) | ||
| TransiEnt.Basics.Interfaces.Electrical.ElectricPowerIn | P_el_set (from PartialDispatchablePowerPlant) | Electric power setpoint | |
| TransiEnt.Basics.Interfaces.Electrical.ElectricPowerIn | P_SB_set (from PartialBalancingPowerProvider) | Secondary balancing setpoint | |
| Modelica.Blocks.Interfaces.BooleanInput | useCCS | true, if CCS is used |