Class GasTurbineDriver

java.lang.Object
neqsim.process.equipment.compressor.driver.DriverCurveBase
neqsim.process.equipment.compressor.driver.GasTurbineDriver
All Implemented Interfaces:
Serializable, DriverCurve

public class GasTurbineDriver extends DriverCurveBase
Gas turbine driver model with ambient derating.

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 Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • ISO_REFERENCE_TEMP

      private static final double ISO_REFERENCE_TEMP
      ISO reference temperature in Celsius.
      See Also:
    • SEA_LEVEL_ALTITUDE

      private static final double SEA_LEVEL_ALTITUDE
      Sea level reference altitude in meters.
      See Also:
    • temperatureDeratingFactor

      private double temperatureDeratingFactor
      Temperature derating factor (fraction per °C above ISO).
    • altitudeDeratingFactor

      private double altitudeDeratingFactor
      Altitude derating factor (fraction per 305m / 1000ft).
    • ratedHeatRate

      private double ratedHeatRate
      Heat rate at rated conditions in kJ/kWh.
    • fuelLHV

      private double fuelLHV
      Fuel gas lower heating value in kJ/kg.
    • speedTurndown

      private double speedTurndown
      Speed turndown capability (minimum speed as fraction of rated).
    • efficiencyCoeffs

      private double[] efficiencyCoeffs
      Part-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 conditions
      designEfficiency - 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 conditions
      ratedSpeedRPM - rated speed in RPM
      designEfficiency - design efficiency at rated conditions (0-1)
  • Method Details

    • setDriverType

      private void setDriverType()
    • getDriverType

      public String getDriverType()
      Gets the type of driver.
      Returns:
      driver type string
    • 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 RPM
      loadFraction - 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 kW
      speed - 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 RPM
      loadFraction - 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 term
      b - linear term
      c - quadratic term