Class SteamTurbineDriver
java.lang.Object
neqsim.process.equipment.compressor.driver.DriverCurveBase
neqsim.process.equipment.compressor.driver.SteamTurbineDriver
- All Implemented Interfaces:
Serializable, DriverCurve
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumTurbine type enumeration. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleExhaust pressure in bara.private doubleExtraction flow rate in kg/s.private doubleExtraction pressure in bara (for extraction turbines).private doubleIncremental steam rate in kg/kWh.private doubleInlet steam pressure in bara.private doubleInlet steam temperature in Celsius.private doubleSteam rate at no-load in kg/kWh.private static final longSerialization version UID.private doubleSpeed turndown capability.private SteamTurbineDriver.TurbineTypeTurbine type.Fields inherited from class DriverCurveBase
altitude, ambientTemperature, designEfficiency, maxSpeed, minSpeed, ratedPower, ratedSpeed -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.SteamTurbineDriver(double ratedPowerKW, double designEfficiency) Constructor with rated power and efficiency.SteamTurbineDriver(double ratedPowerKW, double ratedSpeedRPM, double designEfficiency) Constructor with full parameters. -
Method Summary
Modifier and TypeMethodDescriptionprivate doubleCalculates approximate enthalpy drop across turbine.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.doubleGets the exhaust pressure.doubleGets the extraction flow rate.doubleGets the extraction pressure.doublegetFuelConsumption(double powerOutput, double speed) Gets the fuel or energy consumption for the given power output.doubleGets the inlet pressure.doubleGets the inlet temperature.doublegetSteamConsumption(double powerOutput, double speed) Gets the steam consumption for given power output.doubleGets the theoretical steam rate.Gets the turbine type.voidsetExhaustPressure(double pressureBara) Sets the exhaust pressure.voidsetExtractionFlow(double flowKgPerSec) Sets the extraction flow rate.voidsetExtractionPressure(double pressureBara) Sets the extraction pressure.voidsetInletPressure(double pressureBara) Sets the inlet pressure.voidsetInletTemperature(double temperatureCelsius) Sets the inlet temperature.voidsetTurbineType(SteamTurbineDriver.TurbineType turbineType) Sets the turbine type.voidsetWillansLineParameters(double noLoadRate, double incrementalRate) Sets the Willans line parameters.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:
-
turbineType
Turbine type. -
inletPressure
private double inletPressureInlet steam pressure in bara. -
inletTemperature
private double inletTemperatureInlet steam temperature in Celsius. -
exhaustPressure
private double exhaustPressureExhaust pressure in bara. -
extractionPressure
private double extractionPressureExtraction pressure in bara (for extraction turbines). -
extractionFlow
private double extractionFlowExtraction flow rate in kg/s. -
noLoadSteamRate
private double noLoadSteamRateSteam rate at no-load in kg/kWh. -
incrementalSteamRate
private double incrementalSteamRateIncremental steam rate in kg/kWh. -
speedTurndown
private double speedTurndownSpeed 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 kWdesignEfficiency- 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 kWratedSpeedRPM- rated speed in RPMdesignEfficiency- design efficiency at rated conditions (0-1)
-
-
Method Details
-
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
-
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 kWspeed- 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
-
setTurbineType
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/kWhincrementalRate- incremental steam rate in kg/kWh
-