Class LNGBOGHandlingNetwork

java.lang.Object
neqsim.process.equipment.lng.LNGBOGHandlingNetwork
All Implemented Interfaces:
Serializable

public class LNGBOGHandlingNetwork extends Object implements Serializable
Models the BOG handling network on an LNG carrier or terminal.

The BOG handling network determines the fate of boil-off gas generated in the cargo tanks. On a modern LNG carrier, BOG can be:

  • Fuel for propulsion: Used as fuel in DFDE (dual fuel diesel electric) engines or steam boilers
  • Reliquefied: Compressed and cooled to return to the cargo tanks as liquid
  • Burned in GCU: Gas Combustion Unit for excess BOG disposal
  • Vented: Emergency only — environmental regulations prohibit routine venting

The network acts as a sink for BOG and determines the net cargo loss rate. The reliquefaction return reduces the effective boil-off, while fuel consumption increases it. The split between handling modes affects both the economic outcome and the compositional ageing rate.

Version:
1.0
Author:
NeqSim
See Also:
  • Field Details

    • serialVersionUID

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

      private static final org.apache.logging.log4j.Logger logger
      Logger object.
    • handlingMode

      private LNGBOGHandlingNetwork.HandlingMode handlingMode
      Current handling mode.
    • fuelGasConsumptionRate

      private double fuelGasConsumptionRate
      Fuel gas consumption rate (kg/hr). Vessel propulsion demand.
    • reliquefactionCapacity

      private double reliquefactionCapacity
      Reliquefaction plant capacity (kg/hr). Typical range 3000-8000 kg/hr.
    • reliquefactionEfficiency

      private double reliquefactionEfficiency
      Reliquefaction efficiency (fraction of BOG successfully reliquefied).
    • reliquefactionSpecificPower

      private double reliquefactionSpecificPower
      Reliquefaction power consumption (kW per kg/hr of reliquefied gas).
    • gcuCapacity

      private double gcuCapacity
      GCU capacity (kg/hr).
    • loadedVoyage

      private boolean loadedVoyage
      Whether the loaded voyage is in progress (true) or ballast voyage (false).
    • vesselSpeed

      private double vesselSpeed
      Vessel speed (knots). Affects fuel consumption.
    • baseFuelConsumption

      private double baseFuelConsumption
      Base fuel gas consumption at design speed (kg/hr).
    • speedExponent

      private double speedExponent
      Speed exponent for fuel consumption (Q ~ V^n, typically n=2.5-3.0).
    • designSpeed

      private double designSpeed
      Design speed (knots).
  • Constructor Details

    • LNGBOGHandlingNetwork

      public LNGBOGHandlingNetwork()
      Default constructor.
    • LNGBOGHandlingNetwork

      public LNGBOGHandlingNetwork(LNGBOGHandlingNetwork.HandlingMode mode)
      Constructor with handling mode.
      Parameters:
      mode - BOG handling mode
  • Method Details

    • calculateDisposition

      public LNGBOGHandlingNetwork.BOGDisposition calculateDisposition(double bogGeneratedKgHr)
      Calculate the disposition of BOG across all handling modes.

      Priority order: fuel consumption first, then reliquefaction (if available), then GCU for excess.

      Parameters:
      bogGeneratedKgHr - total BOG generated (kg/hr)
      Returns:
      BOG disposition breakdown
    • calculateFuelDemand

      public double calculateFuelDemand()
      Calculate current fuel gas demand based on vessel speed.

      Fuel consumption scales approximately with the cube of speed (due to cubic relationship between hull resistance and speed): Q_fuel = Q_base * (V / V_design)^n

      Returns:
      fuel demand (kg/hr)
    • getHandlingMode

      public LNGBOGHandlingNetwork.HandlingMode getHandlingMode()
      Get handling mode.
      Returns:
      current handling mode
    • setHandlingMode

      public void setHandlingMode(LNGBOGHandlingNetwork.HandlingMode mode)
      Set handling mode.
      Parameters:
      mode - handling mode
    • getFuelGasConsumptionRate

      public double getFuelGasConsumptionRate()
      Get fuel gas consumption rate.
      Returns:
      fuel consumption (kg/hr)
    • setFuelGasConsumptionRate

      public void setFuelGasConsumptionRate(double rate)
      Set fuel gas consumption rate.
      Parameters:
      rate - fuel consumption (kg/hr)
    • getReliquefactionCapacity

      public double getReliquefactionCapacity()
      Get reliquefaction capacity.
      Returns:
      capacity (kg/hr)
    • setReliquefactionCapacity

      public void setReliquefactionCapacity(double capacity)
      Set reliquefaction capacity.
      Parameters:
      capacity - capacity (kg/hr)
    • getReliquefactionEfficiency

      public double getReliquefactionEfficiency()
      Get reliquefaction efficiency.
      Returns:
      efficiency (0-1)
    • setReliquefactionEfficiency

      public void setReliquefactionEfficiency(double efficiency)
      Set reliquefaction efficiency.
      Parameters:
      efficiency - efficiency (0-1)
    • getGcuCapacity

      public double getGcuCapacity()
      Get GCU capacity.
      Returns:
      capacity (kg/hr)
    • setGcuCapacity

      public void setGcuCapacity(double capacity)
      Set GCU capacity.
      Parameters:
      capacity - capacity (kg/hr)
    • isLoadedVoyage

      public boolean isLoadedVoyage()
      Check if loaded voyage.
      Returns:
      true if loaded voyage
    • setLoadedVoyage

      public void setLoadedVoyage(boolean loaded)
      Set whether loaded voyage.
      Parameters:
      loaded - true if loaded voyage
    • getVesselSpeed

      public double getVesselSpeed()
      Get vessel speed.
      Returns:
      speed (knots)
    • setVesselSpeed

      public void setVesselSpeed(double speed)
      Set vessel speed.
      Parameters:
      speed - speed (knots)
    • getBaseFuelConsumption

      public double getBaseFuelConsumption()
      Get base fuel consumption.
      Returns:
      base consumption (kg/hr)
    • setBaseFuelConsumption

      public void setBaseFuelConsumption(double consumption)
      Set base fuel consumption at design speed.
      Parameters:
      consumption - base consumption (kg/hr)
    • getDesignSpeed

      public double getDesignSpeed()
      Get design speed.
      Returns:
      design speed (knots)
    • setDesignSpeed

      public void setDesignSpeed(double speed)
      Set design speed.
      Parameters:
      speed - design speed (knots)
    • getReliquefactionSpecificPower

      public double getReliquefactionSpecificPower()
      Get reliquefaction specific power.
      Returns:
      specific power (kW per kg/hr)
    • setReliquefactionSpecificPower

      public void setReliquefactionSpecificPower(double power)
      Set reliquefaction specific power.
      Parameters:
      power - specific power (kW per kg/hr)