Class FuelGasSystem
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.util.FuelGasSystem
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, SimulationInterface, NamedInterface
Models fuel gas systems for process facilities.
Fuel gas systems provide conditioned gas for:
- Gas turbines - Power generation and compressor drivers
- Fired heaters - Process heating
- Flare pilots - Continuous ignition source
- Hot oil heaters - Heat transfer fluid heating
- Regeneration gas heaters - TEG/mol sieve regeneration
Design Standards
- API 618 - Reciprocating Compressors for Petroleum Industry
- NORSOK P-002 - Process System Design
- ISO 21789 - Gas Turbine Applications
Typical Fuel Gas Specifications
| Parameter | Gas Turbine | Fired Heater |
|---|---|---|
| Pressure | 20-50 barg | 2-5 barg |
| Superheat | 20-30°C above dew point | 10°C above dew point |
| Wobbe Index | ±5% of design | ±10% of design |
| H2S | <20 ppmv | <100 ppmv |
| Liquids | None | Minimal |
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumFuel gas consumer type with specific requirements.static classFuel gas consumer (equipment using fuel gas). -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List<FuelGasSystem.FuelGasConsumer> List of fuel gas consumers.private doubleGas dew point at outlet pressure [°C].private HeaterFuel gas heater for superheating.private doubleHeater duty required [kW].private doubleInlet pressure [barg].private StreamInterfaceInlet stream from fuel gas source.private doubleInlet temperature [°C].private doubleJT cooling across valve [°C].private SeparatorKnockout drum for liquid removal.private static final org.apache.logging.log4j.Loggerprivate doubleLower heating value [MJ/kg].private doubleRequired outlet pressure [barg].private StreamInterfaceConditioned fuel gas outlet stream.private doubleRequired outlet temperature [°C].private ThrottlingValvePressure letdown valve.private static final longprivate doubleSuperheat above dew point [°C].private doubleTotal fuel gas demand [kg/hr].private doubleWobbe index of fuel gas [MJ/Sm³].Fields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionFuelGasSystem(String name) Default constructor.FuelGasSystem(String name, StreamInterface inletStream) Constructor with inlet stream. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConsumer(String name, FuelGasSystem.ConsumerType type, double demandKgh) Add consumer by parameters.voidaddConsumer(FuelGasSystem.FuelGasConsumer consumer) Add a fuel gas consumer.doublegetAnnualConsumptionTonnes(double operatingHours) Calculate annual fuel consumption.Gets consumers list.doubleGets dew point.doubleGets heater duty.Gets inlet stream.doubleGets JT cooling.doubleGets lower heating value.doubleGets outlet pressure.Gets outlet stream.doubleGets outlet temperature.doubleGets superheat.doubleCalculate thermal power delivered.doubleGets total fuel demand.doubleGets Wobbe index.booleanisSuperheatAdequate(double minSuperheat) Checks if superheat is adequate.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidsetInletStream(StreamInterface stream) Sets inlet stream.voidsetOutletPressure(double pressure) Sets outlet pressure.voidsetOutletTemperature(double temperature) Sets outlet temperature.voidsetTotalDemand(double demand) Sets total fuel demand.toJson()Gets results as JSON.private voidUpdate total demand from consumers.Methods inherited from class ProcessEquipmentBaseClass
copy, displayResult, equals, getConditionAnalysisMessage, getController, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, getMassBalance, getMassBalance, getMechanicalDesign, getMinimumFlow, getPressure, getPressure, getProperty, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, hashCode, initMechanicalDesign, isActive, isActive, isCapacityAnalysisEnabled, isFailed, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, solved, toJsonMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagName, setName, setTagNameMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NamedInterface
getName, getTagName, setName, setTagNameMethods inherited from interface ProcessEquipmentInterface
getCapacityDuty, getCapacityMax, getExergyChange, getFluid, getOperatingEnvelopeViolation, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, needRecalculation, validateSetupMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
logger
private static final org.apache.logging.log4j.Logger logger -
inletStream
Inlet stream from fuel gas source. -
knockoutDrum
Knockout drum for liquid removal. -
fuelGasHeater
Fuel gas heater for superheating. -
pressureLetdown
Pressure letdown valve. -
outletStream
Conditioned fuel gas outlet stream. -
inletPressure
private double inletPressureInlet pressure [barg]. -
inletTemperature
private double inletTemperatureInlet temperature [°C]. -
outletPressure
private double outletPressureRequired outlet pressure [barg]. -
outletTemperature
private double outletTemperatureRequired outlet temperature [°C]. -
totalDemand
private double totalDemandTotal fuel gas demand [kg/hr]. -
dewPointAtOutletPressure
private double dewPointAtOutletPressureGas dew point at outlet pressure [°C]. -
superheatC
private double superheatCSuperheat above dew point [°C]. -
wobbeIndex
private double wobbeIndexWobbe index of fuel gas [MJ/Sm³]. -
lowerHeatingValueMJkg
private double lowerHeatingValueMJkgLower heating value [MJ/kg]. -
heaterDutyKW
private double heaterDutyKWHeater duty required [kW]. -
jtCoolingC
private double jtCoolingCJT cooling across valve [°C]. -
consumers
List of fuel gas consumers.
-
-
Constructor Details
-
FuelGasSystem
-
FuelGasSystem
Constructor with inlet stream.- Parameters:
name- system nameinletStream- fuel gas inlet
-
-
Method Details
-
setInletStream
Sets inlet stream.- Parameters:
stream- inlet stream
-
getInletStream
-
getOutletStream
-
addConsumer
Add a fuel gas consumer.- Parameters:
consumer- fuel gas consumer
-
addConsumer
Add consumer by parameters.- Parameters:
name- consumer nametype- consumer typedemandKgh- fuel demand [kg/hr]
-
updateTotalDemand
private void updateTotalDemand()Update total demand from consumers. -
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Parameters:
id- UUID
-
getHeaterDutyKW
public double getHeaterDutyKW()Gets heater duty.- Returns:
- heater duty [kW]
-
getJTCooling
public double getJTCooling()Gets JT cooling.- Returns:
- JT cooling [°C]
-
getWobbeIndex
public double getWobbeIndex()Gets Wobbe index.- Returns:
- Wobbe index [MJ/Sm³]
-
getLowerHeatingValue
public double getLowerHeatingValue()Gets lower heating value.- Returns:
- LHV [MJ/kg]
-
getDewPoint
public double getDewPoint()Gets dew point.- Returns:
- dew point [°C]
-
getSuperheat
public double getSuperheat()Gets superheat.- Returns:
- superheat above dew point [°C]
-
isSuperheatAdequate
public boolean isSuperheatAdequate(double minSuperheat) Checks if superheat is adequate.- Parameters:
minSuperheat- minimum required superheat [°C]- Returns:
- true if adequate
-
getThermalPowerMW
public double getThermalPowerMW()Calculate thermal power delivered.- Returns:
- thermal power [MW]
-
getAnnualConsumptionTonnes
public double getAnnualConsumptionTonnes(double operatingHours) Calculate annual fuel consumption.- Parameters:
operatingHours- annual operating hours- Returns:
- annual consumption [tonnes]
-
toJson
Gets results as JSON.- Specified by:
toJsonin interfaceProcessEquipmentInterface- Overrides:
toJsonin classProcessEquipmentBaseClass- Returns:
- JSON string
-
getOutletPressure
public double getOutletPressure()Gets outlet pressure.- Returns:
- pressure [barg]
-
setOutletPressure
public void setOutletPressure(double pressure) Sets outlet pressure.- Parameters:
pressure- pressure [barg]
-
getOutletTemperature
public double getOutletTemperature()Gets outlet temperature.- Returns:
- temperature [°C]
-
setOutletTemperature
public void setOutletTemperature(double temperature) Sets outlet temperature.- Parameters:
temperature- temperature [°C]
-
getTotalDemand
public double getTotalDemand()Gets total fuel demand.- Returns:
- demand [kg/hr]
-
setTotalDemand
public void setTotalDemand(double demand) Sets total fuel demand.- Parameters:
demand- demand [kg/hr]
-
getConsumers
Gets consumers list.- Returns:
- list of consumers
-