Class SystemGERG2008Eos

All Implemented Interfaces:
Serializable, Cloneable, SystemInterface

public class SystemGERG2008Eos extends SystemEos
This class defines a thermodynamic system using the GERG2008Eos equation of state.

The system can use either the standard GERG-2008 model or the GERG-2008-H2 variant with improved hydrogen parameters. The default is the standard GERG-2008 model.

Version:
$Id: $Id
Author:
victorigi
See Also:
  • Field Details

    • serialVersionUID

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

      private GERG2008Type gergModelType
      The GERG-2008 model variant to use. Default is STANDARD.
  • Constructor Details

    • SystemGERG2008Eos

      public SystemGERG2008Eos()

      Constructor for SystemGERG2008Eos.

    • SystemGERG2008Eos

      public SystemGERG2008Eos(double T, double P)

      Constructor for SystemGERG2008Eos.

      Parameters:
      T - The temperature in unit Kelvin
      P - The pressure in unit bara (absolute pressure)
    • SystemGERG2008Eos

      public SystemGERG2008Eos(double T, double P, boolean checkForSolids)

      Constructor for SystemGERG2008Eos.

      Parameters:
      T - The temperature in unit Kelvin
      P - The pressure in unit bara (absolute pressure)
      checkForSolids - Set true to do solid phase check and calculations
  • Method Details

    • clone

      public SystemGERG2008Eos clone()

      clone.

      Specified by:
      clone in interface SystemInterface
      Overrides:
      clone in class SystemThermo
      Returns:
      a SystemInterface object
    • commonInitialization

      public void commonInitialization()

      commonInitialization.

    • getGergModelType

      public GERG2008Type getGergModelType()
      Get the current GERG-2008 model type.
      Returns:
      the GERG model type (STANDARD or HYDROGEN_ENHANCED)
    • setGergModelType

      public void setGergModelType(GERG2008Type modelType)
      Set the GERG-2008 model type.

      Use GERG2008Type.STANDARD for the original GERG-2008 model, or GERG2008Type.HYDROGEN_ENHANCED for the GERG-2008-H2 model with improved hydrogen parameters from Beckmüller et al. (2022).

      Parameters:
      modelType - the GERG model type to use
    • useHydrogenEnhancedModel

      public void useHydrogenEnhancedModel()
      Enable the GERG-2008-H2 model with improved hydrogen parameters.

      This is a convenience method equivalent to calling setGergModelType(GERG2008Type.HYDROGEN_ENHANCED).

      Reference: Beckmüller, R., Thol, M., Sampson, I., Lemmon, E.W., Span, R. (2022). "Extension of the equation of state for natural gases GERG-2008 with improved hydrogen parameters". Fluid Phase Equilibria, 557, 113411.

    • isUsingHydrogenEnhancedModel

      public boolean isUsingHydrogenEnhancedModel()
      Check if the hydrogen-enhanced GERG-2008-H2 model is being used.
      Returns:
      true if using GERG-2008-H2, false if using standard GERG-2008