Class PhaseWaterIAPWS

All Implemented Interfaces:
Serializable, Cloneable, PhaseEosInterface, PhaseInterface, ThermodynamicConstantsInterface

public class PhaseWaterIAPWS extends PhaseEos
Phase implementation using the IAPWS-IF97 reference equations for pure water.
Author:
esol
See Also:
  • Field Details

    • serialVersionUID

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

      private double enthalpy
    • entropy

      private double entropy
    • cp

      private double cp
    • cv

      private double cv
    • gibbsEnergy

      private double gibbsEnergy
    • internalEnergy

      private double internalEnergy
    • soundSpeed

      private double soundSpeed
  • Constructor Details

    • PhaseWaterIAPWS

      public PhaseWaterIAPWS()
      Default constructor.
  • Method Details

    • clone

      public PhaseWaterIAPWS clone()

      clone.

      Specified by:
      clone in interface PhaseInterface
      Overrides:
      clone in class PhaseEos
      Returns:
      a PhaseInterface object
    • addComponent

      public void addComponent(String name, double moles, double molesInPhase, int compNumber)

      Add component to component array and update moles variables.

      Parameters:
      name - Name of component.
      moles - Total number of moles of component.
      molesInPhase - Number of moles in phase.
      compNumber - Index number of component in phase object component array.
    • init

      public void init(double totalNumberOfMoles, int numberOfComponents, int initType, PhaseType pt, double beta)

      init.

      initType used in component.init()

      Calls component.init(initType)

      Specified by:
      init in interface PhaseInterface
      Overrides:
      init in class PhaseEos
      Parameters:
      totalNumberOfMoles - Total number of moles in all phases of Stream.
      numberOfComponents - Number of components in system.
      initType - a int. Use 0 to init, and 1 to reset.
      pt - Type of phase.
      beta - Mole fraction of this phase in system.
    • getEnthalpy

      public double getEnthalpy()
      method to return enthalpy of a phase in unit Joule.
      Specified by:
      getEnthalpy in interface PhaseInterface
      Overrides:
      getEnthalpy in class Phase
      Returns:
      a double
    • getEntropy

      public double getEntropy()
      method to return entropy of the phase.
      Specified by:
      getEntropy in interface PhaseInterface
      Overrides:
      getEntropy in class Phase
      Returns:
      a double
    • getGibbsEnergy

      public double getGibbsEnergy()

      getGibbsEnergy.

      Specified by:
      getGibbsEnergy in interface PhaseInterface
      Overrides:
      getGibbsEnergy in class Phase
      Returns:
      a double
    • getInternalEnergy

      public double getInternalEnergy()

      getInternalEnergy.

      Specified by:
      getInternalEnergy in interface PhaseInterface
      Overrides:
      getInternalEnergy in class Phase
      Returns:
      a double
    • getCp

      public double getCp()
      method to return specific heat capacity (Cp).
      Specified by:
      getCp in interface PhaseInterface
      Overrides:
      getCp in class Phase
      Returns:
      Cp in unit J/K
    • getCv

      public double getCv()
      method to return specific heat capacity (Cv).
      Specified by:
      getCv in interface PhaseInterface
      Overrides:
      getCv in class Phase
      Returns:
      Cv in unit J/K
    • getSoundSpeed

      public double getSoundSpeed()
      Get the speed of sound of a phase note: implemented in phaseEos.
      Specified by:
      getSoundSpeed in interface PhaseInterface
      Overrides:
      getSoundSpeed in class PhaseEos
      Returns:
      speed of sound in m/s
    • molarVolume

      public double molarVolume(double pressure, double temperature, double A, double B, PhaseType pt)

      molarVolume.

      Specified by:
      molarVolume in interface PhaseInterface
      Overrides:
      molarVolume in class PhaseEos
      Parameters:
      pressure - a double
      temperature - a double
      A - a double
      B - a double
      pt - the PhaseType of the phase
      Returns:
      a double
    • calcPressure

      public double calcPressure()

      calcPressure.

      Specified by:
      calcPressure in interface PhaseEosInterface
      Overrides:
      calcPressure in class PhaseEos
      Returns:
      a double
    • calcPressuredV

      public double calcPressuredV()

      calcPressuredV.

      Specified by:
      calcPressuredV in interface PhaseEosInterface
      Overrides:
      calcPressuredV in class PhaseEos
      Returns:
      a double