Class FlareStack

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

public class FlareStack extends ProcessEquipmentBaseClass
FlareStack: Combusts relief gas and computes heat release, emissions, radiation and tip backpressure. Radiation models:
  • POINT_SOURCE: q = chi_r * Q / (4 pi R^2)
  • CHAMBERLAIN: line-source style with emissive power, flame length, wind tilt, and atmospheric attenuation.
Tip ΔP/backpressure:
  • ΔP_tip = K_tip * 0.5 * rho_exit * u_exit^2
NOTES:
  • Coefficients for Chamberlain are exposed so you can calibrate to your standard/vendor.
  • This is an engineering model; validate before use for regulatory work.
Author:
esol
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • reliefInlet

      private StreamInterface reliefInlet
    • airAssist

      private StreamInterface airAssist
    • steamAssist

      private StreamInterface steamAssist
    • tipDiameter_m

      private double tipDiameter_m
    • tipElevation_m

      private double tipElevation_m
    • ambientTempK

      private double ambientTempK
    • ambientPressBar

      private double ambientPressBar
    • windSpeed10m

      private double windSpeed10m
    • burningEfficiency

      private double burningEfficiency
    • radiantFraction

      private double radiantFraction
    • so2Conversion

      private double so2Conversion
    • unburnedTHCFraction

      private double unburnedTHCFraction
    • coFraction

      private double coFraction
    • excessAirFrac

      private double excessAirFrac
    • inletMassKgPerSec

      private double inletMassKgPerSec
    • airAssistMassKgPerSec

      private double airAssistMassKgPerSec
    • steamAssistMassKgPerSec

      private double steamAssistMassKgPerSec
    • oxygenConsumedKmolPerSec

      private double oxygenConsumedKmolPerSec
    • emissionsMassKgPerSec

      private double emissionsMassKgPerSec
    • tipLossK

      private double tipLossK
    • tipBackpressureBar

      private double tipBackpressureBar
    • radiationModel

      private FlareStack.RadiationModel radiationModel
    • ch_epC_kWm2

      private double ch_epC_kWm2
    • ch_epA

      private double ch_epA
    • ch_lfC

      private double ch_lfC
    • ch_lfA

      private double ch_lfA
    • ch_lfB

      private double ch_lfB
    • ch_kTilt

      private double ch_kTilt
    • ch_kAtten

      private double ch_kAtten
    • ch_lineSegments

      private int ch_lineSegments
    • heatReleaseMW

      private double heatReleaseMW
    • emissionsKgPerHr

      private Map<String,Double> emissionsKgPerHr
  • Constructor Details

    • FlareStack

      public FlareStack(String name)

      Constructor for FlareStack.

      Parameters:
      name - a String object
  • Method Details

    • setReliefInlet

      public void setReliefInlet(StreamInterface s)

      Setter for the field reliefInlet.

      Parameters:
      s - a StreamInterface object
    • getReliefInlet

      public StreamInterface getReliefInlet()

      Getter for the field reliefInlet.

      Returns:
      a StreamInterface object
    • setAirAssist

      public void setAirAssist(StreamInterface s)

      Setter for the field airAssist.

      Parameters:
      s - a StreamInterface object
    • getAirAssist

      public StreamInterface getAirAssist()

      Getter for the field airAssist.

      Returns:
      a StreamInterface object
    • setSteamAssist

      public void setSteamAssist(StreamInterface s)

      Setter for the field steamAssist.

      Parameters:
      s - a StreamInterface object
    • getSteamAssist

      public StreamInterface getSteamAssist()

      Getter for the field steamAssist.

      Returns:
      a StreamInterface object
    • setTipDiameter

      public void setTipDiameter(double m)

      setTipDiameter.

      Parameters:
      m - a double
    • setTipElevation

      public void setTipElevation(double m)

      setTipElevation.

      Parameters:
      m - a double
    • setBurningEfficiency

      public void setBurningEfficiency(double eff)

      Setter for the field burningEfficiency.

      Parameters:
      eff - a double
    • setRadiantFraction

      public void setRadiantFraction(double f)

      Setter for the field radiantFraction.

      Parameters:
      f - a double
    • setSO2Conversion

      public void setSO2Conversion(double f)

      setSO2Conversion.

      Parameters:
      f - a double
    • setUnburnedTHCFraction

      public void setUnburnedTHCFraction(double f)

      Setter for the field unburnedTHCFraction.

      Parameters:
      f - a double
    • setCOFraction

      public void setCOFraction(double f)

      setCOFraction.

      Parameters:
      f - a double
    • setExcessAirFrac

      public void setExcessAirFrac(double f)

      Setter for the field excessAirFrac.

      Parameters:
      f - a double
    • setAmbient

      public void setAmbient(double tempK, double pressBar)

      setAmbient.

      Parameters:
      tempK - a double
      pressBar - a double
    • setWindSpeed10m

      public void setWindSpeed10m(double u)

      Setter for the field windSpeed10m.

      Parameters:
      u - a double
    • setTipLossK

      public void setTipLossK(double k)

      Setter for the field tipLossK.

      Parameters:
      k - a double
    • setRadiationModel

      public void setRadiationModel(FlareStack.RadiationModel m)

      Setter for the field radiationModel.

      Parameters:
      m - a FlareStack.RadiationModel object
    • setChamberlainEmissivePower

      public void setChamberlainEmissivePower(double epC_kWm2, double epA)

      setChamberlainEmissivePower.

      Parameters:
      epC_kWm2 - a double
      epA - a double
    • setChamberlainFlameLength

      public void setChamberlainFlameLength(double lfC, double lfA, double lfB)

      setChamberlainFlameLength.

      Parameters:
      lfC - a double
      lfA - a double
      lfB - a double
    • setChamberlainTilt

      public void setChamberlainTilt(double kTilt)

      setChamberlainTilt.

      Parameters:
      kTilt - a double
    • setChamberlainAttenuation

      public void setChamberlainAttenuation(double kAtten_1_per_m)

      setChamberlainAttenuation.

      Parameters:
      kAtten_1_per_m - a double
    • setChamberlainSegments

      public void setChamberlainSegments(int n)

      setChamberlainSegments.

      Parameters:
      n - a int
    • getHeatReleaseMW

      public double getHeatReleaseMW()

      Getter for the field heatReleaseMW.

      Returns:
      a double
    • getEmissionsKgPerHr

      public Map<String,Double> getEmissionsKgPerHr()

      Getter for the field emissionsKgPerHr.

      Returns:
      a Map object
    • getTipBackpressureBar

      public double getTipBackpressureBar()

      Getter for the field tipBackpressureBar.

      Returns:
      a double
    • 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
    • getMassBalance

      public double getMassBalance(String unit)

      getMassBalance.

      Specified by:
      getMassBalance in interface ProcessEquipmentInterface
      Overrides:
      getMassBalance in class ProcessEquipmentBaseClass
      Parameters:
      unit - a String object
      Returns:
      a double
    • heatFlux_W_m2

      public double heatFlux_W_m2(double groundRange_m)
      Heat flux at ground point located downwind distance R (m) from the flare base. Uses the currently selected radiation model.
      Parameters:
      groundRange_m - a double
      Returns:
      a double
    • pointSourceHeatFlux

      public double pointSourceHeatFlux(double groundRange_m)
      Simple point-source radiation from flame centroid at height tipElevation.
      Parameters:
      groundRange_m - a double
      Returns:
      a double
    • chamberlainHeatFlux

      public double chamberlainHeatFlux(double groundRange_m)
      Chamberlain-style line source with tilt, emissive power and attenuation.
      Parameters:
      groundRange_m - a double
      Returns:
      a double
    • getMoleFrac

      private static double getMoleFrac(SystemInterface s, String comp)
    • clamp01

      private static double clamp01(double v)
    • safeRate

      private static double safeRate(double v)