OGS
ChemicalReaction.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <limits>
14#include <vector>
15
16namespace ChemistryLib
17{
18namespace SelfContainedSolverData
19{
21{
22 explicit ChemicalReaction(std::vector<double> stoichiometric_vector_)
23 : stoichiometric_vector(std::move(stoichiometric_vector_))
24 {
25 }
26
27 virtual ~ChemicalReaction() = default;
28
29 virtual double getKineticPrefactor() const
30 {
31 return std::numeric_limits<double>::quiet_NaN();
32 }
33
34 std::vector<double> stoichiometric_vector;
35};
36
45{
46 FirstOrderReaction(std::vector<double> stoichiometric_vector_,
47 double first_order_rate_constant_)
48 : ChemicalReaction(std::move(stoichiometric_vector_)),
49 first_order_rate_constant(first_order_rate_constant_)
50 {
51 }
52
53 double getKineticPrefactor() const override
54 {
56 }
57
59private:
61};
62} // namespace SelfContainedSolverData
63} // namespace ChemistryLib
ChemicalReaction(std::vector< double > stoichiometric_vector_)
FirstOrderReaction(std::vector< double > stoichiometric_vector_, double first_order_rate_constant_)
double first_order_rate_constant
the first order rate constant for first-order reaction.