Chemical reaction
-
class CChemicalReaction
Description of the chemical reaction.
Public Types
Public Functions
-
CChemicalReaction() = default
Default constructor.
-
CChemicalReaction(const CChemicalReaction &_other)
Copy constructor.
- Parameters
_other – Target chemical reaction.
-
CChemicalReaction &operator=(const CChemicalReaction &_other)
Copy assignment operator.
- Parameters
_other – Target chemical reaction.
- Returns
Reference to this reaction.
-
CChemicalReaction(CChemicalReaction &&_other) = default
Move constructor.
- Parameters
_other – Target chemical reaction.
-
CChemicalReaction &operator=(CChemicalReaction &&_other) = default
Move assignment operator.
- Parameters
_other – Target chemical reaction.
- Returns
Reference to this reaction.
-
void Swap(CChemicalReaction &_other) noexcept
Swaps two reactions.
- Parameters
_other – Target chemical reaction.
-
bool operator==(const CChemicalReaction &_other) const
Comparison.
- Parameters
_other – Second object.
- Returns
Whether objects are equal.
-
void SetName(const std::string &_name)
Sets name of the reaction.
- Parameters
_name – Reaction name.
-
std::string GetName() const
Returns name of the reaction.
- Returns
Reaction name.
-
SChemicalSubstance *AddSubstance()
Adds a new empty chemical substance to the reaction.
- Returns
Pointer to the added reaction.
-
void AddSubstance(const SChemicalSubstance &_substance)
Adds a new chemical substance to the reaction.
- Parameters
_substance – New substance.
-
void RemoveSubstance(size_t _index)
Removes substance with the specified index.
- Parameters
_index – Index of the substance.
-
std::vector<const SChemicalSubstance*> GetSubstances() const
Returns all defined substances.
- Returns
Constant pointers to all defined substances.
-
std::vector<SChemicalSubstance*> GetSubstances()
Returns all defined substances.
- Returns
Pointers to all defined substances.
-
size_t GetSubstancesNumber() const
Returns number of defined substances.
- Returns
Number of defined substances.
-
std::vector<const SChemicalSubstance*> GetSubstances(EPhase _phase) const
Returns all defined substances of the specified phase.
- Parameters
_phase – Target phase.
- Returns
Constant pointers to substances.
-
std::vector<SChemicalSubstance*> GetSubstances(EPhase _phase)
Returns all defined substances of the specified phase.
- Parameters
_phase – Target phase.
- Returns
Pointers to substances.
-
std::vector<const SChemicalSubstance*> GetSubstances(ESubstance _type) const
Returns all defined substances of the specified type.
- Parameters
_type – Type of the substance.
- Returns
Constant pointers to substances.
-
std::vector<SChemicalSubstance*> GetSubstances(ESubstance _type)
Returns all defined substances of the specified type.
- Parameters
_type – Type of the substance.
- Returns
Pointers to substances.
-
std::vector<const SChemicalSubstance*> GetSubstances(EPhase _phase, ESubstance _type) const
Returns all defined substances of the specified phase and type.
- Parameters
_phase – Target phase.
_type – Type of the substance.
- Returns
Constant pointers to substances.
-
std::vector<SChemicalSubstance*> GetSubstances(EPhase _phase, ESubstance _type)
Returns all defined substances of the specified phase and type.
- Parameters
_phase – Target phase.
_type – Type of the substance.
- Returns
Pointers to substances.
-
void SetBaseSubstance(size_t _index)
Sets index of the base substance.
- Parameters
_index – Index of the substance.
-
const SChemicalSubstance *GetBaseSubstance() const
Returns base substance.
- Returns
Pointer to the substance.
-
SChemicalSubstance *GetBaseSubstance()
Returns base substance.
- Returns
Pointer to the substance.
-
size_t GetBaseSubstanceIndex() const
Returns index of the base substance.
- Returns
Index to the substance.
-
void SetEnthalpy(double _enthalpy)
Sets specific reaction enthalpy [J/mol].
- Parameters
_enthalpy – Reaction enthalpy.
-
double GetEnthalpy() const
Returns specific reaction enthalpy [J/mol].
- Returns
Reaction enthalpy.
-
struct SChemicalSubstance
Description of the chemical substance.
Public Functions
-
SChemicalSubstance() = default
Default constructor.
-
inline SChemicalSubstance(std::string _key, double _nu, double _order, EPhase _phase)
Creates a new substance.
- Parameters
_key – Unique key of the chemical substance from MDB.
_nu – Stoichiometric coefficient of the substance in the reaction. >0 - product, <0 - reactant.
_order – Partial order of reaction for the substance.
_phase – Phase of the substance.
-
inline bool operator==(const SChemicalSubstance &_other) const
Equality comparison.
- Parameters
_other – Second object.
- Returns
Whether objects are equal.
-
inline bool operator!=(const SChemicalSubstance &_other) const
Inequality comparison.
- Parameters
_other – Second object.
- Returns
Whether objects are not equal.
-
inline ESubstance GetType() const
Returns type of the substance based on the value of stoichiometric coefficient.
- Returns
Type of the substance in the reaction.
-
SChemicalSubstance() = default
-
CChemicalReaction() = default