Class PlusFractionModel.WhitsonGammaModel

java.lang.Object
neqsim.thermo.characterization.PlusFractionModel.PedersenPlusModel
neqsim.thermo.characterization.PlusFractionModel.WhitsonGammaModel
All Implemented Interfaces:
Serializable, Cloneable, PlusFractionModelInterface
Enclosing class:
PlusFractionModel

class PlusFractionModel.WhitsonGammaModel extends PlusFractionModel.PedersenPlusModel
Version:
$Id: $Id
Author:
ESOL
  • Field Details

    • serialVersionUID

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

      public double[] zValues
    • molarMasses

      public double[] molarMasses
    • densities

      public double[] densities
    • eta

      public double eta
      Minimum molecular weight (eta) in g/mol, default 90 for C7+.
    • model

      public String model
      Calculation model type.
    • alfa

      public double alfa
      Shape parameter (alpha) of the gamma distribution.
    • betta

      public double betta
      Scale parameter (beta) of the gamma distribution, calculated from MPlus, eta, alfa.
    • densityModel

      private String densityModel
      Density model: "UOP" (Watson K-factor) or "Soreide" (Søreide 1989 correlation).
    • autoEstimateAlpha

      private boolean autoEstimateAlpha
      Flag to auto-estimate alpha from fluid properties.
  • Constructor Details

    • WhitsonGammaModel

      public WhitsonGammaModel()
  • Method Details

    • setCalculationModel

      public void setCalculationModel(String model)
      Set the calculation model type.
      Parameters:
      model - calculation model name
    • setDensityModel

      public void setDensityModel(String densityModel)
      Set the density correlation model.
      Parameters:
      densityModel - "UOP" for Watson K-factor or "Soreide" for Søreide (1989) correlation
    • getDensityModel

      public String getDensityModel()
      Get the current density model.
      Returns:
      density model name
    • setAutoEstimateAlpha

      public void setAutoEstimateAlpha(boolean autoEstimate)
      Enable or disable automatic estimation of the alpha (shape) parameter.
      Parameters:
      autoEstimate - true to auto-estimate alpha based on fluid properties
    • estimateAlpha

      public double estimateAlpha(double Mplus, double density)
      Estimate the gamma shape parameter (alpha) based on plus fraction properties. Typical values: - Gas condensates: 0.5 - 1.0 - Black oils: 1.0 - 2.0 - Heavy oils: 2.0 - 4.0 Uses Watson K-factor as indicator of fluid character.
      Parameters:
      Mplus - plus fraction molecular weight (kg/mol)
      density - plus fraction density (kg/m³)
      Returns:
      estimated alpha value
    • getWatsonKFactor

      public double getWatsonKFactor()
      Get the Watson K-factor for the plus fraction.
      Returns:
      Watson K-factor
    • characterizePlusFractionWhitsonGamma

      public void characterizePlusFractionWhitsonGamma()
    • gamma

      public double gamma(double X)
    • P0P1

      public double[] P0P1(double MWB)
    • densityUOP

      public void densityUOP()
    • densitySoreide

      public void densitySoreide()
      Calculate densities using Søreide (1989) correlation. More accurate for heavy fractions (C20+) compared to the UOP method. Reference: Søreide, I. (1989). "Improved Phase Behavior Predictions of Petroleum Reservoir Fluids from a Cubic Equation of State." Dr.Ing. Thesis, Norwegian Institute of Technology.
    • calculateDensities

      public void calculateDensities()
      Calculate densities using the selected density model.
    • characterizePlusFraction

      public boolean characterizePlusFraction(TBPModelInterface TBPModel)

      characterizePlusFraction.

      Specified by:
      characterizePlusFraction in interface PlusFractionModelInterface
      Overrides:
      characterizePlusFraction in class PlusFractionModel.PedersenPlusModel
      Parameters:
      TBPModel - a TBPModelInterface object
      Returns:
      a boolean
    • setGammaParameters

      public void setGammaParameters(double shape, double minMW)
      Set gamma distribution parameters.
      Parameters:
      shape - alpha (shape) parameter, typical values: 0.5-1.0 gas condensates, 1.0-2.0 black oils, 2.0-4.0 heavy oils
      minMW - eta (minimum molecular weight) in g/mol, typically 84-90 for C7+
    • setAlpha

      public void setAlpha(double alpha)
      Set the gamma shape parameter (alpha).
      Parameters:
      alpha - shape parameter
    • getAlpha

      public double getAlpha()
      Get the gamma shape parameter (alpha).
      Returns:
      alpha value
    • setEta

      public void setEta(double eta)
      Set the minimum molecular weight (eta) in g/mol.
      Parameters:
      eta - minimum MW in g/mol
    • getEta

      public double getEta()
      Get the minimum molecular weight (eta) in g/mol.
      Returns:
      eta value in g/mol
    • getBeta

      public double getBeta()
      Get the calculated scale parameter (beta).
      Returns:
      beta value, or NaN if not yet calculated
    • getGammaParameters

      public double[] getGammaParameters()
    • getCoefs

      public double[] getCoefs()

      getCoefs.

      Specified by:
      getCoefs in interface PlusFractionModelInterface
      Overrides:
      getCoefs in class PlusFractionModel.PedersenPlusModel
      Returns:
      an array of type double
    • getCoef

      public double getCoef(int i)

      getCoef.

      Specified by:
      getCoef in interface PlusFractionModelInterface
      Overrides:
      getCoef in class PlusFractionModel.PedersenPlusModel
      Parameters:
      i - a int
      Returns:
      a double
    • getZ

      public double[] getZ()

      getZ.

      Specified by:
      getZ in interface PlusFractionModelInterface
      Overrides:
      getZ in class PlusFractionModel.PedersenPlusModel
      Returns:
      an array of type double
    • getM

      public double[] getM()

      getM.

      Specified by:
      getM in interface PlusFractionModelInterface
      Overrides:
      getM in class PlusFractionModel.PedersenPlusModel
      Returns:
      an array of type double
    • getDens

      public double[] getDens()

      getDens.

      Specified by:
      getDens in interface PlusFractionModelInterface
      Overrides:
      getDens in class PlusFractionModel.PedersenPlusModel
      Returns:
      an array of type double