Species.hpp
A type used to represent the chemical formula of a chemical species.
Definition: ChemicalFormula.hpp:27
A type used to describe the elemental composition of chemical species.
Definition: ElementalComposition.hpp:28
A class to represent a formation reaction of a chemical species.
Definition: FormationReaction.hpp:33
A type used to represent a chemical species and its attributes.
Definition: Species.hpp:35
auto withStandardGibbsEnergy(real const &G0) const -> Species
Return a duplicate of this Species object with new standard thermodynamic model.
auto standardThermoProps(real T, real P) const -> StandardThermoProps
Calculate the primary standard thermodynamic properties of the species.
auto elements() const -> const ElementalComposition &
Return the elements that compose the species and their coefficients.
auto withStandardThermoModel(const StandardThermoModel &model) const -> Species
Return a duplicate of this Species object with new standard thermodynamic model.
auto attachedData() const -> const Any &
Return the attached data of the species whose type is known at runtime only.
auto withCharge(double charge) const -> Species
Return a duplicate of this Species object with new electric charge attribute.
auto molarMass() const -> double
Return the molar mass of the species (in kg/mol).
auto repr() const -> String
Return the name of the species and its chemical formula if name does not contain it (e....
Species(const Attribs &attribs)
Construct a Species object with given attributes.
auto aggregateState() const -> AggregateState
Return the aggregate state of the species.
auto props(real T, real P) const -> SpeciesThermoProps
Calculate the complete set of standard thermodynamic properties of the species.
auto withElements(ElementalComposition elements) const -> Species
Return a duplicate of this Species object with new elemental composition.
auto substance() const -> String
Return the name of the underlying substance of the species if provided, otherwise,...
auto withTags(const StringList &tags) const -> Species
Return a duplicate of this Species object with new tags attribute.
auto withAggregateState(AggregateState option) const -> Species
Return a duplicate of this Species object with new aggregate state.
auto withName(String name) const -> Species
Return a duplicate of this Species object with new name that uniquely identifies this species.
auto reaction() const -> const FormationReaction &
Return the formation reaction of the species.
auto withAttachedData(Any data) const -> Species
Return a duplicate of this Species object with new attached data whose type is known at runtime only.
auto formula() const -> ChemicalFormula
Return the chemical formula of the species.
auto name() const -> String
Return the name that uniquely identifies this species if provided, otherwise, its formula.
Species(const String &formula)
Construct a Species object with given chemical formula (e.g., H2O, CaCO3, CO3--, CO3-2).
auto standardThermoModel() const -> const StandardThermoModel &
Return the function that computes the standard thermodynamic properties of the species.
auto withSubstance(String substance) const -> Species
Return a duplicate of this Species object with new case insensitive substance name (e....
auto tags() const -> const Strings &
Return the tags of the species (e.g., organic, mineral).
auto withFormula(String formula) const -> Species
Return a duplicate of this Species object with new formula (e.g., H2O, CaCO3, CO3--,...
auto withFormationReaction(const FormationReaction &reaction) const -> Species
Return a duplicate of this Species object with new formation reaction and new standard thermodynamic ...
A class for representing a list of strings with special constructors.
Definition: StringList.hpp:28
The namespace containing all components of the Reaktoro library.
Definition: Algorithms.hpp:29
AggregateState
The aggregate states of substances according to IUPAC.
Definition: AggregateState.hpp:32
@ Undefined
when aggregate state is not explicitly provided (default)
autodiff::real real
The number type used throughout the library.
Definition: Real.hpp:26
std::vector< std::string > Strings
Convenient alias for std::vector<String>.
Definition: Types.hpp:55
std::shared_ptr< T > SharedPtr
Convenient alias for std::shared_ptr<T>.
Definition: Types.hpp:106
The complete set of standard thermodynamic properties of a chemical species.
Definition: SpeciesThermoProps.hpp:33
StandardThermoModel std_thermo_model
The standard thermodynamic model of the species.
Definition: Species.hpp:75
String substance
The underlying substance name (e.g.
Definition: Species.hpp:50
ElementalComposition elements
The elements that compose the species (e.g., {{"H", 2}, {"O", 1}}).
Definition: Species.hpp:54
String name
The name of the species (e.g., CO2(g), CaCO3(aq)).
Definition: Species.hpp:42
FormationReaction formation_reaction
The formation reaction of the species.
Definition: Species.hpp:69
double charge
The electric charge of the species.
Definition: Species.hpp:58
String formula
The chemical formula of the species (e.g., H2O, CaCO3, CO3--, CO3-2).
Definition: Species.hpp:46
AggregateState aggregate_state
The aggregate state of the species.
Definition: Species.hpp:62
The primary standard thermodynamic properties of a chemical species.
Definition: StandardThermoProps.hpp:27