-
-
Notifications
You must be signed in to change notification settings - Fork 232
Open
Description
using ModelingToolkit, OrdinaryDiffEq, Unitful
@parameters t σ ρ β
@variables x(t) y(t) z(t)
x = setmetadata(x, Symbolics.option_to_metadata_type(Val(:unit)), u"m/s")
y = setmetadata(y, Symbolics.option_to_metadata_type(Val(:unit)), u"m/s")
z = setmetadata(z, Symbolics.option_to_metadata_type(Val(:unit)), u"m/s")
D = Differential(t)
eqs = [D(x) ~ σ*(y-x),
D(y) ~ x*(ρ-z)-y,
D(z) ~ x*y - β*z]
sys = ODESystem(eqs)
open("lorenz_units.jl", "w") do io
write(io, sys)
end
gives
begin
var"##iv#264" = (@variables(t))[1]
var"##sts#265" = (collect)(@variables(x(t), y(t), z(t)))
var"##ps#266" = (collect)(@parameters(σ, ρ, β))
var"##eqs#267" = [
(Differential(t))(x) ~ σ * (y + -1x)
(Differential(t))(y) ~ x * (ρ + -1z) + -1y
(Differential(t))(z) ~ x * y + -1 * β * z
]
var"##defs#268" = (Dict)()
(ODESystem)(
var"##eqs#267",
var"##iv#264",
var"##sts#265",
var"##ps#266";
defaults = var"##defs#268",
)
end
Metadata
Metadata
Assignees
Labels
No labels