Reaktoro 
A unified framework for modeling chemically reactive systems
Reaktoro::ChemicalPropertiesAqueousPhase Class Reference

Detailed Description

A class for querying aqueous thermodynamic and chemical properties in a chemical system.

#include <ChemicalPropertiesAqueousPhase.hpp>

Public Member Functions

 ChemicalPropertiesAqueousPhase (const ChemicalProperties &properties)
 Construct a custom ChemicalPropertiesAqueousPhase instance with given ChemicalProperties.
 
auto ionicStrength () const -> ChemicalScalar
 Return the ionic strength of the aqueous phase. More...
 
auto pH () const -> ChemicalScalar
 Return the pH of the system. More...
 
auto pE () const -> ChemicalScalar
 Return the pE of the system. More...
 
auto pE (std::string reaction) const -> ChemicalScalar
 Return the pE of the system calculated using a given half reaction. More...
 
auto Eh () const -> ChemicalScalar
 Return the reduction potential of the system (in units of V). More...
 
auto Eh (std::string reaction) const -> ChemicalScalar
 Return the reduction potential of the system calculated using a given half reaction (in units of V). More...
 
auto alkalinity () const -> ChemicalScalar
 Return the total alkalinity of the aqueous phase (in units of eq/L). More...
 

Member Function Documentation

auto Reaktoro::ChemicalPropertiesAqueousPhase::ionicStrength ( ) const -> ChemicalScalar

Return the ionic strength of the aqueous phase.

If the chemical system has no aqueous phase, then zero is returned.

auto Reaktoro::ChemicalPropertiesAqueousPhase::pH ( ) const -> ChemicalScalar

Return the pH of the system.

The aqueous phase must have a hydron species named either H+, H+(aq), or H[+]. If the chemical system has no aqueous phase, then zero is returned.

auto Reaktoro::ChemicalPropertiesAqueousPhase::pE ( ) const -> ChemicalScalar

Return the pE of the system.

This methods calculates pE using the dual chemical potential of charge element. This is an alternative approach to using a half reaction (Kulik, 2006). If the chemical system has no aqueous phase, then zero is returned.

auto Reaktoro::ChemicalPropertiesAqueousPhase::pE ( std::string  reaction) const -> ChemicalScalar

Return the pE of the system calculated using a given half reaction.

Use this method to specify a half reaction for the calculation of pE. For example:

ChemicalProperties properties(system);
properties.update(T, P, n);
properties.aqueous().pE("Fe++ = Fe+++ + e-");
properties.aqueous().pE("0.5*O2(aq) + 2*H+ + 2*e- = H2O(l)");

Note that the electro species e- must be present in the half reaction. If the chemical system has no aqueous phase, then zero is returned.

auto Reaktoro::ChemicalPropertiesAqueousPhase::Eh ( ) const -> ChemicalScalar

Return the reduction potential of the system (in units of V).

This methods calculates Eh using the dual chemical potential of charge element. This is an alternative approach to using a half reaction (Kulik, 2006). If the chemical system has no aqueous phase, then zero is returned.

auto Reaktoro::ChemicalPropertiesAqueousPhase::Eh ( std::string  reaction) const -> ChemicalScalar

Return the reduction potential of the system calculated using a given half reaction (in units of V).

Use this method to specify a half reaction for the calculation of Eh. For example:

ChemicalProperties properties(system);
properties.update(T, P, n);
properties.aqueous().Eh("Fe++ = Fe+++ + e-");
properties.aqueous().Eh("0.5*O2(aq) + 2*H+ + 2*e- = H2O(l)");

Note that the electro species e- must be present in the half reaction. If the chemical system has no aqueous phase, then zero is returned.

auto Reaktoro::ChemicalPropertiesAqueousPhase::alkalinity ( ) const -> ChemicalScalar

Return the total alkalinity of the aqueous phase (in units of eq/L).

The total alkalinity (Alk) of the aqueous phase is by default calculated as the acid neutralizing capacity (ANC) of the solution using the formula:

\[ \mathrm{Alk=[Na^{+}]+[K^{+}]+2[Ca^{2+}]+2[Mg^{2+}]-[Cl^{-}]-2[SO_{4}^{2-}]}, \]

where \([\mathrm{species}]\) is the free molar concentration (mol/L) of the species in the solution. This formula is simpler, derived from the charge balance condition, and equivalent to the formula of total alkalinity.


The documentation for this class was generated from the following files: