Class GasTurbineDriver
- All Implemented Interfaces:
Serializable, DriverCurve
Models gas turbine performance including:
- Ambient temperature derating (typically ~0.7% per °C above ISO)
- Altitude derating (due to reduced air density)
- Part-load efficiency characteristics
- Fuel gas consumption
Temperature Derating
Gas turbines experience reduced power output at higher ambient temperatures due to reduced air density and compressor work increase. The typical derating is approximately 0.7% per °C above the ISO reference temperature of 15°C.
Altitude Derating
At higher altitudes, reduced air density decreases mass flow through the turbine, reducing power output. Typical derating is about 3.5% per 305m (1000 ft) of elevation.
Example Usage
GasTurbineDriver driver = new GasTurbineDriver(10000, 7500, 0.35); driver.setAmbientTemperature(35.0); // 35°C ambient driver.setAltitude(500); // 500m elevation double availablePower = driver.getAvailablePower(7500); // ~8200 kW after derating double fuelRate = driver.getFuelConsumption(8000, 7500); // kg/hr or kW thermal
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleAltitude derating factor (fraction per 305m / 1000ft).private double[]Part-load efficiency curve coefficients.private doubleFuel gas lower heating value in kJ/kg.private static final doubleISO reference temperature in Celsius.private doubleHeat rate at rated conditions in kJ/kWh.private static final doubleSea level reference altitude in meters.private static final longSerialization version UID.private doubleSpeed turndown capability (minimum speed as fraction of rated).private doubleTemperature derating factor (fraction per °C above ISO).Fields inherited from class DriverCurveBase
altitude, ambientTemperature, designEfficiency, maxSpeed, minSpeed, ratedPower, ratedSpeed -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.GasTurbineDriver(double ratedPowerKW, double designEfficiency) Constructor with rated power and efficiency.GasTurbineDriver(double ratedPowerKW, double ratedSpeedRPM, double designEfficiency) Constructor with full parameters. -
Method Summary
Modifier and TypeMethodDescriptiondoubleGets the altitude derating factor.doubleGets the power derating factor due to ambient conditions.doublegetAvailablePower(double speed) Gets the available power at the specified speed.Gets the type of driver.doublegetEfficiency(double speed, double loadFraction) Gets the driver efficiency at the specified speed and load.doublegetExhaustMassFlow(double speed) Gets the exhaust mass flow rate.doublegetExhaustTemperature(double loadFraction) Gets the exhaust gas temperature.doublegetFuelConsumption(double powerOutput, double speed) Gets the fuel or energy consumption for the given power output.doubleGets the fuel lower heating value.doublegetHeatRate(double speed, double loadFraction) Gets the heat rate at the specified operating point.doubleGets the speed turndown capability.doubleGets the temperature derating factor.voidsetAltitudeDeratingFactor(double factor) Sets the altitude derating factor.private voidvoidsetEfficiencyCurve(double a, double b, double c) Sets the part-load efficiency curve coefficients.voidsetFuelLHV(double lhv) Sets the fuel lower heating value.voidsetSpeedTurndown(double turndown) Sets the speed turndown capability.voidsetTemperatureDeratingFactor(double factor) Sets the temperature derating factor.Methods inherited from class DriverCurveBase
canSupplyPower, getAltitude, getAmbientTemperature, getAvailableTorque, getDesignEfficiency, getMaxSpeed, getMinSpeed, getRatedPower, getRatedSpeed, setAltitude, setAmbientTemperature, setDesignEfficiency, setMaxSpeed, setMinSpeed, setRatedPower, setRatedSpeedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface DriverCurve
getPowerMargin
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
ISO_REFERENCE_TEMP
private static final double ISO_REFERENCE_TEMPISO reference temperature in Celsius.- See Also:
-
SEA_LEVEL_ALTITUDE
private static final double SEA_LEVEL_ALTITUDESea level reference altitude in meters.- See Also:
-
temperatureDeratingFactor
private double temperatureDeratingFactorTemperature derating factor (fraction per °C above ISO). -
altitudeDeratingFactor
private double altitudeDeratingFactorAltitude derating factor (fraction per 305m / 1000ft). -
ratedHeatRate
private double ratedHeatRateHeat rate at rated conditions in kJ/kWh. -
fuelLHV
private double fuelLHVFuel gas lower heating value in kJ/kg. -
speedTurndown
private double speedTurndownSpeed turndown capability (minimum speed as fraction of rated). -
efficiencyCoeffs
private double[] efficiencyCoeffsPart-load efficiency curve coefficients.
-
-
Constructor Details
-
GasTurbineDriver
public GasTurbineDriver()Default constructor. -
GasTurbineDriver
public GasTurbineDriver(double ratedPowerKW, double designEfficiency) Constructor with rated power and efficiency.- Parameters:
ratedPowerKW- rated power in kW at ISO conditionsdesignEfficiency- design efficiency at rated conditions (0-1)
-
GasTurbineDriver
public GasTurbineDriver(double ratedPowerKW, double ratedSpeedRPM, double designEfficiency) Constructor with full parameters.- Parameters:
ratedPowerKW- rated power in kW at ISO conditionsratedSpeedRPM- rated speed in RPMdesignEfficiency- design efficiency at rated conditions (0-1)
-
-
Method Details
-
setDriverType
private void setDriverType() -
getDriverType
-
getAvailablePower
public double getAvailablePower(double speed) Gets the available power at the specified speed.For gas turbines, this accounts for ambient temperature derating. For electric motors with VFD, this may be constant torque (power proportional to speed) or constant power.
- Parameters:
speed- operating speed in RPM- Returns:
- available power in kW
-
getEfficiency
public double getEfficiency(double speed, double loadFraction) Gets the driver efficiency at the specified speed and load.- Parameters:
speed- operating speed in RPMloadFraction- load as fraction of available power (0-1)- Returns:
- efficiency as fraction (0-1)
-
getAmbientDeratingFactor
public double getAmbientDeratingFactor()Gets the power derating factor due to ambient conditions.Returns a factor between 0 and 1 that is applied to the rated power to get the available power at current ambient conditions.
- Returns:
- derating factor (0-1)
-
getFuelConsumption
public double getFuelConsumption(double powerOutput, double speed) Gets the fuel or energy consumption for the given power output.For gas turbines, returns fuel gas consumption in kg/hr or kW. For electric motors, returns electrical power input in kW.
- Parameters:
powerOutput- power output in kWspeed- operating speed in RPM- Returns:
- fuel or energy consumption
-
getHeatRate
public double getHeatRate(double speed, double loadFraction) Gets the heat rate at the specified operating point.- Parameters:
speed- operating speed in RPMloadFraction- load as fraction of available power- Returns:
- heat rate in kJ/kWh
-
getExhaustTemperature
public double getExhaustTemperature(double loadFraction) Gets the exhaust gas temperature.Exhaust temperature typically increases at part load due to reduced turbine work extraction.
- Parameters:
loadFraction- load as fraction of available power- Returns:
- exhaust temperature in Celsius
-
getExhaustMassFlow
public double getExhaustMassFlow(double speed) Gets the exhaust mass flow rate.- Parameters:
speed- operating speed in RPM- Returns:
- exhaust mass flow in kg/s
-
getTemperatureDeratingFactor
public double getTemperatureDeratingFactor()Gets the temperature derating factor.- Returns:
- temperature derating factor (fraction per °C)
-
setTemperatureDeratingFactor
public void setTemperatureDeratingFactor(double factor) Sets the temperature derating factor.- Parameters:
factor- derating factor (fraction per °C above ISO)
-
getAltitudeDeratingFactor
public double getAltitudeDeratingFactor()Gets the altitude derating factor.- Returns:
- altitude derating factor (fraction per 305m)
-
setAltitudeDeratingFactor
public void setAltitudeDeratingFactor(double factor) Sets the altitude derating factor.- Parameters:
factor- derating factor (fraction per 305m)
-
getFuelLHV
public double getFuelLHV()Gets the fuel lower heating value.- Returns:
- LHV in kJ/kg
-
setFuelLHV
public void setFuelLHV(double lhv) Sets the fuel lower heating value.- Parameters:
lhv- LHV in kJ/kg
-
getSpeedTurndown
public double getSpeedTurndown()Gets the speed turndown capability.- Returns:
- minimum speed as fraction of rated speed
-
setSpeedTurndown
public void setSpeedTurndown(double turndown) Sets the speed turndown capability.- Parameters:
turndown- minimum speed as fraction of rated speed
-
setEfficiencyCurve
public void setEfficiencyCurve(double a, double b, double c) Sets the part-load efficiency curve coefficients.The efficiency at part load is calculated as: design_eff * (a + b*load + c*load^2) where load is the load fraction (0-1).
- Parameters:
a- constant termb- linear termc- quadratic term
-