Class SteamTurbineDriver

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

public class SteamTurbineDriver extends DriverCurveBase
Steam turbine driver model.

Models steam turbine performance including:

  • Inlet steam conditions (pressure, temperature)
  • Exhaust pressure (condensing or back-pressure)
  • Extraction steam for process use
  • Willans line efficiency characteristics

Steam Turbine Types

  • Back-pressure: Exhaust at process steam pressure
  • Condensing: Exhaust to condenser at vacuum
  • Extraction: Steam taken from intermediate stage

Example Usage

SteamTurbineDriver turbine = new SteamTurbineDriver(5000, 6000, 0.75);
turbine.setInletPressure(42.0); // 42 bara inlet
turbine.setInletTemperature(400.0); // 400°C inlet
turbine.setExhaustPressure(0.1); // 0.1 bara condensing

double power = turbine.getAvailablePower(6000);
double steamRate = turbine.getSteamConsumption(4000, 6000); // kg/hr
Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

    • serialVersionUID

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

      private SteamTurbineDriver.TurbineType turbineType
      Turbine type.
    • inletPressure

      private double inletPressure
      Inlet steam pressure in bara.
    • inletTemperature

      private double inletTemperature
      Inlet steam temperature in Celsius.
    • exhaustPressure

      private double exhaustPressure
      Exhaust pressure in bara.
    • extractionPressure

      private double extractionPressure
      Extraction pressure in bara (for extraction turbines).
    • extractionFlow

      private double extractionFlow
      Extraction flow rate in kg/s.
    • noLoadSteamRate

      private double noLoadSteamRate
      Steam rate at no-load in kg/kWh.
    • incrementalSteamRate

      private double incrementalSteamRate
      Incremental steam rate in kg/kWh.
    • speedTurndown

      private double speedTurndown
      Speed turndown capability.
  • Constructor Details

    • SteamTurbineDriver

      public SteamTurbineDriver()
      Default constructor.
    • SteamTurbineDriver

      public SteamTurbineDriver(double ratedPowerKW, double designEfficiency)
      Constructor with rated power and efficiency.
      Parameters:
      ratedPowerKW - rated power in kW
      designEfficiency - design efficiency at rated conditions (0-1)
    • SteamTurbineDriver

      public SteamTurbineDriver(double ratedPowerKW, double ratedSpeedRPM, double designEfficiency)
      Constructor with full parameters.
      Parameters:
      ratedPowerKW - rated power in kW
      ratedSpeedRPM - rated speed in RPM
      designEfficiency - design efficiency at rated conditions (0-1)
  • Method Details

    • 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
    • getSteamConsumption

      public double getSteamConsumption(double powerOutput, double speed)
      Gets the steam consumption for given power output.

      Uses Willans line: Steam = no_load_rate * P_rated + incremental_rate * P_actual

      Parameters:
      powerOutput - power output in kW
      speed - operating speed in RPM
      Returns:
      steam consumption in kg/hr
    • getTheoreticalSteamRate

      public double getTheoreticalSteamRate()
      Gets the theoretical steam rate.
      Returns:
      theoretical steam rate in kg/kWh
    • calculateEnthalpyDrop

      private double calculateEnthalpyDrop()
      Calculates approximate enthalpy drop across turbine.
      Returns:
      enthalpy drop in kJ/kg
    • getTurbineType

      public SteamTurbineDriver.TurbineType getTurbineType()
      Gets the turbine type.
      Returns:
      turbine type
    • setTurbineType

      public void setTurbineType(SteamTurbineDriver.TurbineType turbineType)
      Sets the turbine type.
      Parameters:
      turbineType - turbine type
    • getInletPressure

      public double getInletPressure()
      Gets the inlet pressure.
      Returns:
      inlet pressure in bara
    • setInletPressure

      public void setInletPressure(double pressureBara)
      Sets the inlet pressure.
      Parameters:
      pressureBara - inlet pressure in bara
    • getInletTemperature

      public double getInletTemperature()
      Gets the inlet temperature.
      Returns:
      inlet temperature in Celsius
    • setInletTemperature

      public void setInletTemperature(double temperatureCelsius)
      Sets the inlet temperature.
      Parameters:
      temperatureCelsius - inlet temperature in Celsius
    • getExhaustPressure

      public double getExhaustPressure()
      Gets the exhaust pressure.
      Returns:
      exhaust pressure in bara
    • setExhaustPressure

      public void setExhaustPressure(double pressureBara)
      Sets the exhaust pressure.
      Parameters:
      pressureBara - exhaust pressure in bara
    • getExtractionPressure

      public double getExtractionPressure()
      Gets the extraction pressure.
      Returns:
      extraction pressure in bara
    • setExtractionPressure

      public void setExtractionPressure(double pressureBara)
      Sets the extraction pressure.
      Parameters:
      pressureBara - extraction pressure in bara
    • getExtractionFlow

      public double getExtractionFlow()
      Gets the extraction flow rate.
      Returns:
      extraction flow in kg/s
    • setExtractionFlow

      public void setExtractionFlow(double flowKgPerSec)
      Sets the extraction flow rate.
      Parameters:
      flowKgPerSec - extraction flow in kg/s
    • setWillansLineParameters

      public void setWillansLineParameters(double noLoadRate, double incrementalRate)
      Sets the Willans line parameters.
      Parameters:
      noLoadRate - no-load steam rate in kg/kWh
      incrementalRate - incremental steam rate in kg/kWh