modelGasturbine_with_Gasport
Extends from TransiEnt.Producer.Electrical.Conventional.Components.NonlinearThreeStatePlant (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), TransiEnt.Producer.Electrical.Base.PartialNaturalGasUnit (Adds a gas interface with a mass flow defining boundary to child components), TransiEnt.Producer.Electrical.Base.PartialCDEUnit (Adds a gas interface with a mass flow defining boundary to child components), TransiEnt.Basics.Icons.GasTurbine.
Information
1. Purpose of model
Combined Cycle Gas turbine model with startup time and setpoint limits.
Preconfigured combined cycle gas plant model with gas port.
2. Level of detail, physical effects considered, and physical insight
(no remarks)
3. Limits of validity
4. Interfaces
P_el_set: input for electric power in [W] (setpoint for electric power)
P_SB_set: input for electric power in [W] (secondary balancing setpoint)
epp: active power port (choice of power port)
gasPortIn: inlet for real gas
gasPortIn_2: second gas port - only active if useSecondGasPort==true
gasPortOut_CDE: outlet port for CDE. only active if 'useCDEPort=true'
5. Nomenclature
(no remarks)
6. Governing Equations
The mass flow of gasPortIn is claculated via needed electrical power output and the efficiency of the power plant. If the second gasPort 'gasPortIn_2' is used, the mass flow of the first gas port is reduced depending on the enthalpy flow of the second gas port. The mass flow of the second gas port needs to be defined from outside.
7. Remarks for Usage
(no remarks)
8. Validation
(no remarks)
9. References
(no remarks)
10. Version History
Model created by Oliver Schülting (oliver.schuelting@tuhh.de) on Nov 2018
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 (from NonlinearThreeStatePlant) | P_min_star*P_el_n | |
| SI.Power | P_init (from NonlinearThreeStatePlant) | 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 (from NonlinearThreeStatePlant) | 0.2 | Fraction of nominal power (=20% of nominal power) |
| Real | P_max_star (from NonlinearThreeStatePlant) | 1 | Fraction of nominal power (=100% of nominal power) |
| Real | P_grad_max_star (from NonlinearThreeStatePlant) | 0.12/60 | Fraction of nominal power per second (12% per minute) |
| Base.PartloadEfficiency.PartloadEfficiencyCharacteristic | EfficiencyCharLine (from NonlinearThreeStatePlant) | TransiEnt.Producer.Electrical.Base.PartloadEfficiency.ConstantEfficiency() | choose characteristic efficiency line |
| SI.Time | H (from NonlinearThreeStatePlant) | 6 | Time constant of plant (For easy definition of J) |
| SI.Inertia | J (from NonlinearThreeStatePlant) | 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 (from NonlinearThreeStatePlant) | 0 | Startup time (P=0 during startup) |
| SI.Time | t_min_operating (from NonlinearThreeStatePlant) | 0 | Minimum operation time |
| Boolean | smoothShutDown (from NonlinearThreeStatePlant) | true | shut down process will be smoothed - power gradient will be limit by 'P_grad_operating' |
| SI.Time | MinimumDownTime (from NonlinearThreeStatePlant) | 0 | Minimum time the plant needs to be shut down before starting again |
| SI.Time | T_plant (from NonlinearThreeStatePlant) | 0.63/P_grad_max_star | Time constant of first order model representing plant dynamics |
| SI.MassFraction | CO2_Deposition_Rate (from NonlinearThreeStatePlant) | 0 | Fraction of CO2 that is deposited via CCS |
| Base.CCS.NoCCS | CCS_Characteristics (from NonlinearThreeStatePlant) | Base.CCS.NoCCS() | Choose characteristic efficiency losses due to CCS |
| Integer | quantity (from NonlinearThreeStatePlant) | 1 | amount of power plant blocks into which nominal power is split |
| Boolean | useSecondGasPort (from PartialNaturalGasUnit) | false | |
| 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 (from NonlinearThreeStatePlant) | 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 (from NonlinearThreeStatePlant) | true | Use of P_init or calculation of P_init from grid (CPP) |
| Real | P_init_set (from NonlinearThreeStatePlant) | P_el_n | Initial or guess value of turbine power |
| Expert Settings | |||
| TransiEnt.Components.Turbogroups.Base.GradientLimitingChoices | powerGradLimChoice (from NonlinearThreeStatePlant) | TransiEnt.Components.Turbogroups.Base.GradientLimitingChoices.GradLimInFirstOrder | options of gradient limitation |
| Boolean | fixedStartValue_w (from NonlinearThreeStatePlant) | false | Whether or not the start value of the angular velocity of the plants mechanical components is fixed |
| SI.Time | Td_GradientLimiter (from NonlinearThreeStatePlant) | simCenter.Td | Time constant of integrator |
| Boolean | useThresh (from NonlinearThreeStatePlant) | simCenter.useThresh | Use threshould for suppression of numerical noise |
| Real | thres (from NonlinearThreeStatePlant) | 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 (from NonlinearThreeStatePlant) | 1e-10 | Threshold for hysteresis for switch from halt to startup (chattering might occur, hysteresis might help avoiding this) |
| Boolean | useHomotopyVarSlewRateLim (from NonlinearThreeStatePlant) | 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) |
| Fundamental Definitions | |||
| TILMedia.VLEFluidTypes.BaseVLEFluid | mediumGas (from PartialNaturalGasUnit) | simCenter.gasModel1 | |
| Boolean | useCDEPort (from PartialCDEUnit) | false | |
| TILMedia.VLEFluidTypes.BaseVLEFluid | medium_CDE_deposited (from PartialCDEUnit) | simCenter.gasModel1 | |
| Configuration | |||
| Boolean | useGasPort (from PartialNaturalGasUnit) | true | True if gas port shall be used |
| Fuel properties | |||
| Boolean | useConstantHoC | false | if ticked, a constant heat of combustion for the fuel can be defined |
| Modelica.Units.SI.SpecificEnthalpy | HoC_gas | 40e6 | heat of combustion of natural gas |
| Numerical Stability | |||
| Boolean | useLeakageMassFlow | false | Constant leakage gas mass flow of 'm_flow_small' to avoid zero mass flow |
| Modelica.Units.SI.MassFlowRate | m_flow_small | simCenter.m_flow_small | leakage mass flow if useLeakageMassFlow=true |
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 (from NonlinearThreeStatePlant) | true, if CCS is used | |
| TransiEnt.Basics.Interfaces.Gas.RealGasPortIn | gasPortIn (from PartialNaturalGasUnit) | ||
| TransiEnt.Basics.Interfaces.General.MassFlowRateOut | m_flow_gas (from PartialNaturalGasUnit) | ||
| TransiEnt.Basics.Interfaces.Gas.RealGasPortIn | gasPortIn_2 (from PartialNaturalGasUnit) | ||
| TransiEnt.Basics.Interfaces.Gas.RealGasPortOut | gasPortOut_CDE (from PartialCDEUnit) | ||
| TransiEnt.Basics.Interfaces.Gas.EnthalpyFlowRateOut | H_flow_gas | Enthalpy flow rate of fuel |