A class that provides a convenient way to retrieve chemical quantities. More...
#include <ChemicalQuantity.hpp>
Public Types | |
using | Function = std::function< double()> |
A type to describe a chemical quantity function. | |
Public Member Functions | |
ChemicalQuantity ()=delete | |
Disable the default ChemicalQuantity constructor. More... | |
ChemicalQuantity (const ChemicalSystem &system) | |
Construct a ChemicalQuantity instance from a ChemicalSystem object. | |
ChemicalQuantity (const ReactionSystem &reactions) | |
Construct a ChemicalQuantity instance from a ReactionSystem object. | |
ChemicalQuantity (const ChemicalState &state) | |
Construct a ChemicalQuantity instance from a ChemicalState object. | |
virtual | ~ChemicalQuantity ()=default |
Destroy this ChemicalQuantity instance. | |
auto | system () const -> const ChemicalSystem & |
Return the chemical system of the ChemicalQuantity instance. | |
auto | reactions () const -> const ReactionSystem & |
Return the chemical reactions of the ChemicalQuantity instance. | |
auto | state () const -> const ChemicalState & |
Return the chemical state of the ChemicalQuantity instance. | |
auto | properties () const -> const ChemicalProperties & |
Return the chemical properties of the ChemicalQuantity instance. | |
auto | rates () const -> const ChemicalVector & |
Return the reaction rates of the ChemicalQuantity instance. | |
auto | tag () const -> double |
Return the tag variable of the ChemicalQuantity instance. | |
auto | update (const ChemicalState &state) -> ChemicalQuantity & |
Update the state of this ChemicalQuantity instance. | |
auto | update (const ChemicalState &state, double t) -> ChemicalQuantity & |
Update the state of this ChemicalQuantity instance. | |
auto | value (std::string str) const -> double |
Return the value of the quantity given as a formatted string. | |
auto | function (std::string str) const -> Function |
Return a created function that calculates the chemical quantity from a formatted string. | |
auto | operator() (std::string str) const -> double |
Return the value of the quantity given as a formatted string. | |
Detailed Description
A class that provides a convenient way to retrieve chemical quantities.
Here the term chemical quantity is used in a broad sense. It means any quantity for an element, species, or phase in a chemical system that can be calculated at a chemical state whose temperature, pressure, and mole amounts of all species are known.
In the example below, the volume of a phase named Gaseous and the pH of the aqueous phase (assuming both phases were defined in the chemical system) are retrieved:
The table below shows all possible quantities that can be retrieved from a ChemicalQuantity instance. The first column, Quantity, lists the names of the quantities; the second column, Units, lists the default units of the quantity; and the third column, Example, lists the formatted strings needed to retrieve a quantity.
Quantity | Units | Example |
---|---|---|
temperature | kelvin | "temperature(units=celsius)" |
pressure | pascal | "pressure(units=bar)" |
volume | m3 | "volume(units=cm3)" |
activity | — | "activity(CO2(aq))" |
activityCoefficient | — | "activityCoefficient(Na+)" |
fugacity | bar | "fugacity(CO2(g))" |
chemicalPotential | J/mol | "chemicalPotential(Cl-)" |
elementAmount | mol | "elementAmount(Ca)" |
elementAmountInPhase | mol | "elementAmountInPhase(Mg Aqueous)" |
elementMass | kg | "elementMass(Fe units=g)" |
elementMassInPhase | kg | "elementMassInPhase(C Gaseous)" |
elementMolality | molal | "elementMolality(Cl units=mmolal)" |
elementMolarity | molar | "elementMolarity(K units=mmolar)" |
speciesAmount | mol | "speciesAmount(H2O(l))" |
speciesMass | kg | "speciesMass(Calcite units=g)" |
speciesMoleFraction | — | "speciesMoleFraction(HCO3-)" |
speciesMolality | molal | "speciesMolality(Ca++)" |
speciesMolarity | molar | "speciesMolarity(Mg++)" |
phaseAmount | mol | "phaseAmount(Aqueous)" |
phaseMass | kg | "phaseMass(Dolomite)" |
phaseVolume | m3 | "phaseVolume(Gaseous)" |
pH | — | "pH" |
pE | — | "pE" |
Eh | volt | "Eh" |
ionicStrength | molal | "ionicStrength" |
fluidVolume | m3 | "fluidVolume(units=liter)" |
fluidVolumeFraction | — | "fluidVolumeFraction" |
solidVolume | m3 | "solidVolume(units=mm3)" |
solidVolumeFraction | — | "solidVolumeFraction" |
reactionRate | mol/s | "reactionRate(Dolomite units=mmol/hour)" |
reactionEquilibriumIndex | — | "reactionEquilibriumIndex(Quartz)" |
tag | — | "tag" |
t | s | "t(units=minute)" |
time | s | "time(units=year)" |
progress | — | "progress" |
Constructor & Destructor Documentation
◆ ChemicalQuantity()
|
delete |
Disable the default ChemicalQuantity constructor.
This is to enforce the initialization of ChemicalQuantity instance with a ChemicalSystem instance.
The documentation for this class was generated from the following files:
- Reaktoro/Core/ChemicalQuantity.hpp
- Reaktoro/Core/ChemicalQuantity.cpp