diff --git a/src/ModelingToolkit.jl b/src/ModelingToolkit.jl index f46b500fb6..42d4472741 100644 --- a/src/ModelingToolkit.jl +++ b/src/ModelingToolkit.jl @@ -151,6 +151,7 @@ using .SystemStructures include("systems/alias_elimination.jl") include("structural_transformation/StructuralTransformations.jl") + @reexport using .StructuralTransformations for S in subtypes(ModelingToolkit.AbstractSystem) @@ -207,4 +208,6 @@ export modelingtoolkitize export @variables, @parameters export @named, @nonamespace, @namespace, extend, compose +include("precompile.jl") + end # module diff --git a/src/precompile.jl b/src/precompile.jl new file mode 100644 index 0000000000..802333975f --- /dev/null +++ b/src/precompile.jl @@ -0,0 +1,28 @@ +let + while true + @parameters t σ ρ β + @variables x(t) y(t) z(t) + D = Differential(t) + + eqs = [D(D(x)) ~ σ*(y-x) + x^0.000000000000135, + D(y) ~ x*(ρ-z)-y, + D(z) ~ x*y - β*z] + + @named sys = ODESystem(eqs) + sys = structural_simplify(sys) + + u0 = [D(x) => 2.0, + x => 1.0, + y => 0.0, + z => 0.0] + + p = [σ => 28.0, + ρ => 10.0, + β => 8/3] + + tspan = (0.0,100.0) + prob = ODEProblem(sys,u0,tspan,p,jac=true) + + break + end +end