mforets on gh-pages
build based on 17b25d7 (compare)
mforets on lgg09_symbol
mforets on master
add test Update LGG09.jl Merge pull request #555 from Ju… (compare)
mforets on gh-pages
build based on 93fab9b (compare)
mforets on gh-pages
build based on 3947b22 (compare)
mforets on lgg09_symbol
Update LGG09.jl (compare)
mforets on homogeneize
mforets on master
update homog methods updates homog Merge pull request #556 from Ju… (compare)
schillic on exponential_map
concrete exponential map add concretize for ExponentialM… (compare)
mforets on gh-pages
build based on ba9fb8a (compare)
mforets on gh-pages
build based on 5c7deae (compare)
mforets on lgg09_symbol
add test (compare)
mforets on homogeneize
update homog methods updates homog (compare)
$ time julia --color=yes docs/make.jl && julia --color=yes test/runtests.jl
Test Summary: | Pass Total
LazySets.plotting | 2 2
21.167309 seconds (31.84 M allocations: 1.854 GiB, 2.67% gc time, 19.44% compilation time)
[ Info: SetupBuildDirectory: setting up build directory.
[ Info: Doctest: running doctests.
[ Info: Skipped ExpandTemplates step (doctest only).
[ Info: Skipped CrossReferences step (doctest only).
[ Info: Skipped CheckDocument step (doctest only).
[ Info: Skipped Populate step (doctest only).
[ Info: Skipped RenderDocument step (doctest only).
Test Summary: | Pass Total
LazySets.doctests | 1 1
50.646803 seconds (79.67 M allocations: 5.673 GiB, 2.96% gc time, 4.86% compilation time)
@taylorize
works, please substitute all right-hand sides which are numeric constants with zero(u[1])
or one(u[1])
. For example,
@taylorize function stable!(du, u, p, t)
#differential equations for the stable water tank mode
du[1] = zero(u[1])
du[2] = zero(u[1])
du[3] = zero(u[1])
return du
end
and for the filling mode,
@taylorize function filling!(du, u, p, t)
d_in, d_out, h = u
#differential equations for the filling water tank mode
du[1] = one(u[1])
du[2] = zero(u[1])
du[3] = d_in
return du
end
etc
# transition "stable" -> "normal"
add_transition!(automaton, 1, 2, 1)
#guard_1 = HalfSpace(h >= 0, var)
t1 = @map(h -> h, dim: 3)
# transition "normal" -> "filling"
add_transition!(automaton, 2, 3, 2)
guard_2 = HalfSpace(h <= V_saf_min, var)
t2 = @map(h -> h, dim: 3, h ∈ guard_2)
# transition "normal" -> "emptying"
add_transition!(automaton, 2, 3, 2)
guard_3 = HalfSpace(h >= V_saf_max, var)
t3 = @map(h -> h, dim: 3, h ∈ guard_3)
add_transition!
annotations, the integer arguments correspond to the source (resp target nodes), while the final argument is just a label (tag) for the transition.
2, 3, 2
should be repeated. It is possible to have more than one transition between the same pair of source/node modes, but from your comment in the code, and given thatmodes=[stable_mode, normal_mode, filling_mode, emptying_mode]
# transition "stable" -> "normal"
add_transition!(automaton, 1, 2, 1)
#guard_1 = HalfSpace(h >= 0, var)
t1 = @map(h -> h, dim: 3)
# transition "normal" -> "filling"
add_transition!(automaton, 2, 3, 2)
guard_2 = HalfSpace(h <= V_saf_min, var)
t2 = @map(h -> h, dim: 3, h ∈ guard_2)
# transition "normal" -> "emptying"
add_transition!(automaton, 2, 4, 3)
guard_3 = HalfSpace(h >= V_saf_max, var)
t3 = @map(h -> h, dim: 3, h ∈ guard_3)