Class FuelGasSystem

All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, SimulationInterface, NamedInterface

public class FuelGasSystem extends ProcessEquipmentBaseClass
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

Fuel gas quality requirements
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:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • logger

      private static final org.apache.logging.log4j.Logger logger
    • inletStream

      private StreamInterface inletStream
      Inlet stream from fuel gas source.
    • knockoutDrum

      private Separator knockoutDrum
      Knockout drum for liquid removal.
    • fuelGasHeater

      private Heater fuelGasHeater
      Fuel gas heater for superheating.
    • pressureLetdown

      private ThrottlingValve pressureLetdown
      Pressure letdown valve.
    • outletStream

      private StreamInterface outletStream
      Conditioned fuel gas outlet stream.
    • inletPressure

      private double inletPressure
      Inlet pressure [barg].
    • inletTemperature

      private double inletTemperature
      Inlet temperature [°C].
    • outletPressure

      private double outletPressure
      Required outlet pressure [barg].
    • outletTemperature

      private double outletTemperature
      Required outlet temperature [°C].
    • totalDemand

      private double totalDemand
      Total fuel gas demand [kg/hr].
    • dewPointAtOutletPressure

      private double dewPointAtOutletPressure
      Gas dew point at outlet pressure [°C].
    • superheatC

      private double superheatC
      Superheat above dew point [°C].
    • wobbeIndex

      private double wobbeIndex
      Wobbe index of fuel gas [MJ/Sm³].
    • lowerHeatingValueMJkg

      private double lowerHeatingValueMJkg
      Lower heating value [MJ/kg].
    • heaterDutyKW

      private double heaterDutyKW
      Heater duty required [kW].
    • jtCoolingC

      private double jtCoolingC
      JT cooling across valve [°C].
    • consumers

      private final List<FuelGasSystem.FuelGasConsumer> consumers
      List of fuel gas consumers.
  • Constructor Details

    • FuelGasSystem

      public FuelGasSystem(String name)
      Default constructor.
      Parameters:
      name - system name
    • FuelGasSystem

      public FuelGasSystem(String name, StreamInterface inletStream)
      Constructor with inlet stream.
      Parameters:
      name - system name
      inletStream - fuel gas inlet
  • Method Details

    • setInletStream

      public void setInletStream(StreamInterface stream)
      Sets inlet stream.
      Parameters:
      stream - inlet stream
    • getInletStream

      public StreamInterface getInletStream()
      Gets inlet stream.
      Returns:
      inlet stream
    • getOutletStream

      public StreamInterface getOutletStream()
      Gets outlet stream.
      Returns:
      conditioned fuel gas stream
    • addConsumer

      public void addConsumer(FuelGasSystem.FuelGasConsumer consumer)
      Add a fuel gas consumer.
      Parameters:
      consumer - fuel gas consumer
    • addConsumer

      public void addConsumer(String name, FuelGasSystem.ConsumerType type, double demandKgh)
      Add consumer by parameters.
      Parameters:
      name - consumer name
      type - consumer type
      demandKgh - fuel demand [kg/hr]
    • updateTotalDemand

      private void updateTotalDemand()
      Update total demand from consumers.
    • run

      public void run(UUID id)

      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

      public String toJson()
      Gets results as JSON.
      Specified by:
      toJson in interface ProcessEquipmentInterface
      Overrides:
      toJson in class ProcessEquipmentBaseClass
      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

      public List<FuelGasSystem.FuelGasConsumer> getConsumers()
      Gets consumers list.
      Returns:
      list of consumers