Skip to content

Commit 8d5106d

Browse files
committed
MTK stories upd
1 parent 01a3569 commit 8d5106d

File tree

11 files changed

+605
-34
lines changed

11 files changed

+605
-34
lines changed

MTK/stories_import.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using ModelingToolkit, Plots
2+
3+
include("story_3/dist/mtk_story_3_IB_v1.jl")
4+
5+
sys = __get_nameless_model__()
6+
7+
prob = ODEProblem(sys, Dict(), (0.0, 100.0))
8+
sol = solve(prob, Tsit5())
9+
10+
sol[:A0]
11+
plot(sol, idxs = [:A0])

MTK/story_0/dist/mtk_story_0.jl

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
#=
2+
This code was generated by heta-compiler
3+
=#
4+
5+
function __get_nameless_model__()
6+
7+
### Define independent and dependent variables ###
8+
9+
@variables t
10+
__ruleVariables__ = @variables s1(t) s2(t) r1(t)
11+
__dynamicVariables__ = @variables _s1_(t) _s2_(t)
12+
13+
### Define potential algebraic variables ###
14+
15+
### Define parameters (constants and statics) ###
16+
__constParameters__ = @parameters k1
17+
__staticParameters__ = @parameters comp1
18+
19+
### Define an operator for the differentiation w.r.t. time
20+
__D__ = Differential(t)
21+
22+
### ODE Equations ###
23+
__eqs__ = [
24+
# extended rules
25+
s1 ~ _s1_/ comp1,
26+
s2 ~ _s2_/ comp1,
27+
r1 ~ k1 * s1 * comp1,
28+
29+
# ODEs
30+
__D__(_s1_) ~ -r1, # ds1/dt
31+
__D__(_s2_) ~ r1, # ds2/dt
32+
]
33+
34+
### TIME EVENTS ###
35+
36+
### C EVENTS ###
37+
38+
### STOP EVENTS ###
39+
40+
### EVENTS ASSIGNMENTS ###
41+
42+
43+
### Initialization ###
44+
45+
__constValues__ = [
46+
k1 => 0.001,
47+
]
48+
49+
__init__ = [
50+
comp1 => 1.5,
51+
s1 => 1.2e+1,
52+
s2 => 0e+0,
53+
r1 => k1 * s1 * comp1,
54+
]
55+
56+
__amountsInit__ = [
57+
_s1_ => s1 * comp1,
58+
_s2_ => s2 * comp1,
59+
]
60+
61+
### ODESystem definition ###
62+
__sys__ = ODESystem(__eqs__, t, [__dynamicVariables__; __ruleVariables__], [__constParameters__; __staticParameters__],
63+
name = :nameless,
64+
discrete_events = [],
65+
defaults = [__constValues__; __init__; __amountsInit__]
66+
)
67+
68+
return (
69+
structural_simplify(__sys__),
70+
[__constValues__; __init__; __amountsInit__],
71+
NamedTuple{()}([]),
72+
NamedTuple{()}([]),
73+
NamedTuple{()}([]),
74+
)
75+
76+
end # function __get_nameless_model__
77+
78+
__model__ = __get_nameless_model__()
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#=
2+
This code was generated by heta-compiler
3+
=#
4+
5+
function __get_nameless_model__()
6+
7+
### Define independent and dependent variables ###
8+
9+
@independent_variables t
10+
__ruleVariables__ = @variables s1(t) s2(t) r1(t)
11+
__stateVariables__ = @variables _s1_(t) _s2_(t)
12+
13+
### Define parameters (constant, discrete and dependent) ###
14+
15+
__constParameters__ = @parameters k1
16+
__dependentParameters__ = @parameters comp1
17+
18+
19+
### Define an operator for the differentiation w.r.t. time
20+
__D__ = Differential(t)
21+
22+
### ODE Equations ###
23+
__eqs__ = [
24+
# extended rules
25+
s1 ~ _s1_/ comp1,
26+
s2 ~ _s2_/ comp1,
27+
r1 ~ k1 * s1 * comp1,
28+
29+
# ODEs
30+
__D__(_s1_) ~ -r1, # ds1/dt
31+
__D__(_s2_) ~ r1, # ds2/dt
32+
]
33+
34+
### TIME EVENTS ###
35+
36+
### C EVENTS ###
37+
38+
### STOP EVENTS ###
39+
40+
### EVENTS ASSIGNMENTS ###
41+
42+
43+
### Initialization ###
44+
45+
__constValues__ = [
46+
k1 => 0.001,
47+
]
48+
49+
__init__ = [
50+
comp1 => 1.5,
51+
s1 => 1.2e+1,
52+
s2 => 0e+0,
53+
r1 => k1 * s1 * comp1]
54+
55+
__amountsInit__ = [
56+
_s1_ => s1 * comp1,
57+
_s2_ => s2 * comp1
58+
]
59+
60+
### ODESystem definition ###
61+
__sys__ = System(__eqs__, t, [__stateVariables__; __ruleVariables__], [__constParameters__; __dependentParameters__],
62+
name = :nameless,
63+
defaults = Dict([__constValues__; __init__; __amountsInit__]))
64+
65+
return structural_simplify(__sys__)
66+
end # function __get_nameless_model__
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#=
2+
This code was generated by heta-compiler
3+
=#
4+
5+
function __get_nameless_model__()
6+
7+
### Define independent variables ###
8+
9+
@independent_variables t
10+
11+
### Define parameters (constants and statics) ###
12+
13+
__constParameters__ = @parameters begin
14+
k1 = 0.001
15+
end
16+
17+
__dependentParameters__ = @parameters begin
18+
comp1 = 1.5
19+
end
20+
21+
### Define dependent variables ###
22+
23+
__ruleVariables__ = @variables begin
24+
s1(t) = 1.2e+1
25+
s2(t) = 0e+0
26+
r1(t) = k1 * s1 * comp1
27+
end
28+
29+
__stateVariables__ = @variables begin
30+
_s1_(t) = s1 * comp1
31+
_s2_(t) = s2 * comp1
32+
end
33+
34+
### Define potential algebraic variables ###
35+
36+
### Define an operator for the differentiation w.r.t. time
37+
__D__ = Differential(t)
38+
39+
### ODE Equations ###
40+
__eqs__ = [
41+
# extended rules
42+
s1 ~ _s1_/ comp1,
43+
s2 ~ _s2_/ comp1,
44+
r1 ~ k1 * s1 * comp1,
45+
46+
# ODEs
47+
__D__(_s1_) ~ -r1, # ds1/dt
48+
__D__(_s2_) ~ r1, # ds2/dt
49+
]
50+
51+
### TIME EVENTS ###
52+
53+
### C EVENTS ###
54+
55+
### STOP EVENTS ###
56+
57+
### EVENTS ASSIGNMENTS ###
58+
59+
60+
### ODESystem definition ###
61+
__sys__ = System(__eqs__, t, [__stateVariables__; __ruleVariables__], [__constParameters__; __dependentParameters__], name = :nameless)
62+
63+
return structural_simplify(__sys__)
64+
end # function __get_nameless_model__

MTK/story_1/dist/mtk_story_1.jl

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
#=
2+
This code was generated by heta-compiler
3+
=#
4+
5+
function __get_nameless_model__()
6+
7+
### Define independent and dependent variables ###
8+
9+
@variables t
10+
__ruleVariables__ = @variables a(t) b(t) c(t) d(t) r1(t) r2(t)
11+
__dynamicVariables__ = @variables _a_(t) _b_(t) _c_(t) _d_(t)
12+
13+
### Define potential algebraic variables ###
14+
15+
### Define parameters (constants and statics) ###
16+
__constParameters__ = @parameters k1 k2 k3
17+
__staticParameters__ = @parameters comp1 comp2
18+
19+
### Define an operator for the differentiation w.r.t. time
20+
__D__ = Differential(t)
21+
22+
### ODE Equations ###
23+
__eqs__ = [
24+
# extended rules
25+
a ~ _a_/ comp1,
26+
b ~ _b_/ comp1,
27+
c ~ _c_/ comp1,
28+
d ~ _d_/ comp2,
29+
r1 ~ k1 * a,
30+
r2 ~ k2 * b * c - k3 * d,
31+
32+
# ODEs
33+
__D__(_a_) ~ -r1, # da/dt
34+
__D__(_b_) ~ r1-r2, # db/dt
35+
__D__(_c_) ~ -r2, # dc/dt
36+
__D__(_d_) ~ r2, # dd/dt
37+
]
38+
39+
### TIME EVENTS ###
40+
function __sw1_tstops__(__const__, __times__)
41+
return [50.0]
42+
end
43+
44+
### C EVENTS ###
45+
46+
### STOP EVENTS ###
47+
48+
### EVENTS ASSIGNMENTS ###
49+
__sw1_affect__ = [
50+
__a__ ~ (a + 1e+0) * comp1,
51+
]
52+
53+
54+
### Initialization ###
55+
56+
__constValues__ = [
57+
k1 => 0.001,
58+
k2 => 0.0001,
59+
k3 => 0.022,
60+
]
61+
62+
__init__ = [
63+
comp1 => 1.1,
64+
comp2 => 2.2,
65+
a => 1e+1,
66+
b => 0e+0,
67+
c => 1e+0,
68+
d => 0e+0,
69+
r1 => k1 * a,
70+
r2 => k2 * b * c - k3 * d,
71+
]
72+
73+
__amountsInit__ = [
74+
_a_ => a * comp1,
75+
_b_ => b * comp1,
76+
_c_ => c * comp1,
77+
_d_ => d * comp2,
78+
]
79+
80+
### ODESystem definition ###
81+
__sys__ = ODESystem(__eqs__, t, [__dynamicVariables__; __ruleVariables__], [__constParameters__; __staticParameters__],
82+
name = :nameless,
83+
discrete_events = [],
84+
defaults = [__constValues__; __init__; __amountsInit__]
85+
)
86+
87+
return (
88+
structural_simplify(__sys__),
89+
[__constValues__; __init__; __amountsInit__],
90+
NamedTuple{(:sw1, )}([(__sw1_tstops__, __sw1_affect__, false), ]),
91+
NamedTuple{()}([]),
92+
NamedTuple{()}([]),
93+
)
94+
95+
end # function __get_nameless_model__
96+
97+
__model__ = __get_nameless_model__()

0 commit comments

Comments
 (0)