Chemical kinetics
ReactionEquation
Sims.Lib.ReactionEquation
— Function.Chemical kinetic reaction system
ReactionSystem(X, S, R, K)
Arguments
X
: State vector (array of unknowns N x 1)S
: stoichiometric coefficients for reactants (array M x N)R
: stoichiometric coefficients for products (array M x N)K
: reaction rates (array M x 1)
Example
function concentration()
A0 = 0.25
rateA = 0.333
rateB = 0.16
X= { Unknown(A0), Unknown(0.0) }
S = [ [1, 0] [0, 1] ] ## stoichiometric coefficients for reactants
R = [ [0, 1] [1, 0] ] ## stoichiometric coefficients for products
K = [rateA , rateB] ## reaction rates
return ReactionSystem(X, S, R, K)
end
y = sim(concentration())
### Simple reaction syntax parser
function simpleConcentration()
A0 = 0.25
rateA = 0.333
rateB = 0.16
A = Unknown(A0)
B = Unknown(0.0)
reactions = Any[
[ :-> A B rateA ]
[ :-> B A rateB ]
]
return parse_reactions(reactions)
end
y = sim(simpleConcentration())
parse_reactions
Sims.Lib.parse_reactions
— Function.Parses reactions of the form
Any[ :-> a b rate ]
Any[ :→ a b rate ]
Any[ :⇄ a b rate1 rate2 ]
Arguments
V
: Vector of reactions
Example
A0 = 0.25
rateA = 0.333
rateB = 0.16
A = Unknown(A0)
B = Unknown(0.0)
reactions = Any[
[ :⇄ A B rateA rateB ]
]
parse_reactions(reactions)