Reaktoro
A unified framework for modeling chemically reactive systems
FluidPhase Class Reference

Class that defines a fluid (gaseous or liquid) phase. More...

#include <FluidPhase.hpp>

Inheritance diagram for FluidPhase:
[legend]
Collaboration diagram for FluidPhase:
[legend]

Public Member Functions

 FluidPhase (const std::string &name, PhaseType type)
 Construct an FluidPhase instance with given name and PhaseType.
 
 FluidPhase (const FluidMixture &mixture, const std::string &name, PhaseType type)
 Construct an FluidPhase instance with given fluid (gaseous or liquid) mixture, name and type. More...
 
auto setChemicalModelIdeal () -> FluidPhase &
 Set the chemical model of the phase with the ideal gas equation of state. More...
 
auto setChemicalModelVanDerWaals () -> FluidPhase &
 Set the chemical model of the phase with the van der Waals equation of state. More...
 
auto setChemicalModelRedlichKwong () -> FluidPhase &
 Set the chemical model of the phase with the Redlich-Kwong equation of state. More...
 
auto setChemicalModelSoaveRedlichKwong () -> FluidPhase &
 Set the chemical model of the phase with the Soave-Redlich-Kwong equation of state. More...
 
auto setChemicalModelPengRobinson (CubicEOS::Params params={}) -> FluidPhase &
 Set the chemical model of the phase with the Peng-Robinson equation of state. More...
 
auto setChemicalModelCubicEOS (CubicEOS::Params params={}) -> FluidPhase &
 Set the chemical model of the phase with a Cubic equation of state. More...
 
auto setChemicalModelSpycherPruessEnnis () -> FluidPhase &
 Set the chemical model of the phase with the Spycher et al. More...
 
auto setChemicalModelSpycherReed () -> FluidPhase &
 Set the chemical model of the phase with the Spycher and Reed (1988) equation of state. More...
 
auto mixture () const -> const FluidMixture &
 Return a const reference of the FluidMixture instance.
 
auto mixture () -> FluidMixture &
 Return the FluidMixture instance.
 
- Public Member Functions inherited from Phase
 Phase ()
 Construct a default Phase instance.
 
 Phase (std::string name, PhaseType type)
 Construct a Phase instance with given fluid name and PhaseType.
 
auto setName (std::string name) -> void
 Set the name of the phase.
 
auto setType (PhaseType type) -> void
 Set the type of the phase.
 
auto setSpecies (const std::vector< Species > &species) -> void
 Set the species of the phase.
 
auto setThermoModel (const PhaseThermoModel &model) -> void
 Set the function that calculates the standard thermodynamic properties of the phase.
 
auto setChemicalModel (const PhaseChemicalModel &model) -> void
 Set the function that calculates the chemical properties of the phase.
 
auto numElements () const -> unsigned
 Return the number of elements in the phase.
 
auto numSpecies () const -> unsigned
 Return the number of species in the phase.
 
auto name () const -> std::string
 Return the name of the phase.
 
auto type () const -> PhaseType
 Return the type of the phase.
 
auto elements () const -> const std::vector< Element > &
 Return the elements of the phase.
 
auto elements () -> std::vector< Element > &
 Return the elements of the phase.
 
auto species () const -> const std::vector< Species > &
 Return the species of the phase.
 
auto species () -> std::vector< Species > &
 Return the species of the phase.
 
auto species (Index index) const -> const Species &
 Return the species of the phase with a given index.
 
auto isFluid () const -> bool
 Return true if the state of matter of the phase is fluid, i.e., liquid, gas, or plasma.
 
auto isSolid () const -> bool
 Return true if the phase type is solid.
 
auto thermoModel () const -> const PhaseThermoModel &
 Return the thermodynamic model function of the phase. More...
 
auto chemicalModel () const -> const PhaseChemicalModel &
 Return the chemical model function of the phase. More...
 
auto indexSpecies (std::string name) const -> Index
 Return the index of a species in the phase. More...
 
auto indexSpeciesWithError (std::string name) const -> Index
 Return the index of a species in the system. More...
 
auto indexSpeciesAny (const std::vector< std::string > &names) const -> Index
 Return the index of the first species in the phase with any of the given names. More...
 
auto indexSpeciesAnyWithError (const std::vector< std::string > &names) const -> Index
 Return the index of the first species in the phase with any of the given names. More...
 
auto properties (PhaseThermoModelResult &res, double T, double P) const -> void
 Calculate the standard thermodynamic properties of the species in the phase. More...
 
auto properties (PhaseChemicalModelResult &res, double T, double P, VectorConstRef n) const -> void
 Calculate the thermodynamic and chemical properties of the chemical system. More...
 

Detailed Description

Class that defines a fluid (gaseous or liquid) phase.

Constructor & Destructor Documentation

◆ FluidPhase()

FluidPhase ( const FluidMixture mixture,
const std::string &  name,
PhaseType  type 
)
explicit

Construct an FluidPhase instance with given fluid (gaseous or liquid) mixture, name and type.

The Peng-Robinson equation of state is chosen by default to calculate the thermodynamic and chemical properties of this FluidPhase object.

Member Function Documentation

◆ setChemicalModelIdeal()

auto setChemicalModelIdeal ( ) -> FluidPhase&

Set the chemical model of the phase with the ideal gas equation of state.

This model only supports a gaseous phase. Using it in a FluidPhase that is not a PhaseType::Gas will result in a runtime error.

◆ setChemicalModelVanDerWaals()

auto setChemicalModelVanDerWaals ( ) -> FluidPhase&

Set the chemical model of the phase with the van der Waals equation of state.

Reference: van der Waals, J.D. (1910). Nobel Lectures in Physics. pp. 254-265.

◆ setChemicalModelRedlichKwong()

auto setChemicalModelRedlichKwong ( ) -> FluidPhase&

Set the chemical model of the phase with the Redlich-Kwong equation of state.

Reference: Redlich, O., Kwong, J.N.S. (1949). On The Thermodynamics of Solutions. Chem. Rev. 44(1) 233–244.

◆ setChemicalModelSoaveRedlichKwong()

auto setChemicalModelSoaveRedlichKwong ( ) -> FluidPhase&

Set the chemical model of the phase with the Soave-Redlich-Kwong equation of state.

Reference: Soave, G. (1972). Equilibrium constants from a modified Redlich-Kwong equation of state, Chem. Eng. Sci., 27, 1197-1203.

◆ setChemicalModelPengRobinson()

auto setChemicalModelPengRobinson ( CubicEOS::Params  params = {}) -> FluidPhase&

Set the chemical model of the phase with the Peng-Robinson equation of state.

Reference: Peng, D.Y., Robinson, D.B. (1976). A New Two-Constant Equation of State. Industrial and Engineering Chemistry: Fundamentals 15: 59–64.

◆ setChemicalModelCubicEOS()

auto setChemicalModelCubicEOS ( CubicEOS::Params  params = {}) -> FluidPhase&

Set the chemical model of the phase with a Cubic equation of state.

The specific type can be passed as a parameter (the default in Peng-Robinson).

References: Peng, D.Y., Robinson, D.B. (1976). A New Two-Constant Equation of State. Industrial and Engineering Chemistry: Fundamentals 15: 59-64. Soave, G. (1972). Equilibrium constants from a modified Redlich-Kwong equation of state, Chem. Eng. Sci., 27, 1197-1203. Redlich, O., Kwong, J.N.S. (1949). On The Thermodynamics of Solutions. Chem. Rev. 44(1) 233-244. van der Waals, J.D. (1910). Nobel Lectures in Physics. pp. 254-265.

◆ setChemicalModelSpycherPruessEnnis()

auto setChemicalModelSpycherPruessEnnis ( ) -> FluidPhase&

Set the chemical model of the phase with the Spycher et al.

(2003) equation of state. This model only supports the gaseous species H2O(g) and CO2(g). Any other species will result in a runtime error.

Reference: Spycher, N., Pruess, K., Ennis-King, J. (2003). CO2-H2O mixtures in the geological sequestration of CO2. I. Assessment and calculation of mutual solubilities from 12 to 100°C and up to 600 bar. Geochimica et Cosmochimica Acta, 67(16), 3015–3031.

◆ setChemicalModelSpycherReed()

auto setChemicalModelSpycherReed ( ) -> FluidPhase&

Set the chemical model of the phase with the Spycher and Reed (1988) equation of state.

This model only supports the gaseous species H2O(g), CO2(g), and CH4(g). Any other species will result in a runtime error.

Reference: Spycher, N., Reed, M. (1988). Fugacity coefficients of H2, CO2, CH4, H2O and of H2O–CO2–CH4 mixtures: A virial equation treatment for moderate pressures and temperatures applicable to calculations of hydrothermal boiling. Geochimica et Cosmochimica Acta, 52(3), 739–749.


The documentation for this class was generated from the following files:
  • Reaktoro/Thermodynamics/Phases/FluidPhase.hpp
  • Reaktoro/Thermodynamics/Phases/FluidPhase.cpp