1
1
using ModelingToolkit, LinearAlgebra, Test
2
2
3
- @parameters t k[1 : 15 ]
3
+ @parameters t k[1 : 20 ]
4
4
@variables A (t) B (t) C (t) D (t)
5
5
rxs = [Reaction (k[1 ], nothing , [A]), # 0 -> A
6
6
Reaction (k[2 ], [B], nothing ), # B -> 0
@@ -16,7 +16,8 @@ rxs = [Reaction(k[1], nothing, [A]), # 0 -> A
16
16
Reaction (k[12 ], [A,B,C], [C,D], [1 ,3 ,4 ], [2 , 3 ]), # A+3B+4C -> 2C + 3D
17
17
Reaction (k[13 ], [A,B], nothing , [3 ,1 ], nothing ), # 3A+B -> 0
18
18
Reaction (k[14 ], nothing , [A], nothing , [2 ]), # 0 -> 2A
19
- Reaction (k[15 ]* A/ (2 + A), [A], nothing ; only_use_rate= true ) # A -> 0 with custom rate
19
+ Reaction (k[15 ]* A/ (2 + A), [A], nothing ; only_use_rate= true ), # A -> 0 with custom rate
20
+ Reaction (k[16 ], [A], [B]; only_use_rate= true ), # A -> B with custom rate.
20
21
]
21
22
rs = ReactionSystem (rxs,t,[A,B,C,D],k)
22
23
odesys = convert (ODESystem,rs)
@@ -26,8 +27,8 @@ sdesys = convert(SDESystem,rs)
26
27
function oderhs (u,k,t)
27
28
A = u[1 ]; B = u[2 ]; C = u[3 ]; D = u[4 ];
28
29
du = zeros (eltype (u),4 )
29
- du[1 ] = k[1 ] - k[3 ]* A + k[4 ]* C + 2 * k[5 ]* C - k[6 ]* A* B + k[7 ]* B^ 2 / 2 - k[9 ]* A* B - k[10 ]* A^ 2 - k[11 ]* A^ 2 / 2 - k[12 ]* A* B^ 3 * C^ 4 / 144 - 3 * k[13 ]* A^ 3 * B/ 6 + 2 * k[14 ] - k[15 ]* A/ (2 + A)
30
- du[2 ] = - k[2 ]* B + k[4 ]* C - k[6 ]* A* B - k[7 ]* B^ 2 - k[8 ]* A* B - k[9 ]* A* B + k[11 ]* A^ 2 / 2 - 3 * k[12 ]* A* B^ 3 * C^ 4 / 144 - k[13 ]* A^ 3 * B/ 6
30
+ du[1 ] = k[1 ] - k[3 ]* A + k[4 ]* C + 2 * k[5 ]* C - k[6 ]* A* B + k[7 ]* B^ 2 / 2 - k[9 ]* A* B - k[10 ]* A^ 2 - k[11 ]* A^ 2 / 2 - k[12 ]* A* B^ 3 * C^ 4 / 144 - 3 * k[13 ]* A^ 3 * B/ 6 + 2 * k[14 ] - k[15 ]* A/ (2 + A) - k[ 16 ]
31
+ du[2 ] = - k[2 ]* B + k[4 ]* C - k[6 ]* A* B - k[7 ]* B^ 2 - k[8 ]* A* B - k[9 ]* A* B + k[11 ]* A^ 2 / 2 - 3 * k[12 ]* A* B^ 3 * C^ 4 / 144 - k[13 ]* A^ 3 * B/ 6 + k[ 16 ]
31
32
du[3 ] = k[3 ]* A - k[4 ]* C - k[5 ]* C + k[6 ]* A* B + k[8 ]* A* B + k[9 ]* A* B + k[10 ]* A^ 2 / 2 - 2 * k[12 ]* A* B^ 3 * C^ 4 / 144
32
33
du[4 ] = k[9 ]* A* B + k[10 ]* A^ 2 / 2 + 3 * k[12 ]* A* B^ 3 * C^ 4 / 144
33
34
du
0 commit comments