Skip to content

High level functions for analyzing the output of simulations

License

Notifications You must be signed in to change notification settings

jClugstor/EasyModelAnalysis.jl

Folders and files

NameName
Last commit message
Last commit date
Apr 23, 2024
Sep 23, 2024
Apr 22, 2024
Jul 26, 2024
Feb 24, 2024
Jan 24, 2023
Dec 2, 2023
Jan 24, 2023
Sep 23, 2024
Jan 26, 2023

Repository files navigation

EasyModelAnalysis.jl

Join the chat at https://julialang.zulipchat.com #sciml-bridged Global Docs

codecov Build Status

ColPrac: Contributor's Guide on Collaborative Practices for Community Packages SciML Code Style

EasyModelAnalysis does exactly what it says: it makes model analysis easy. Want to know the first time the number of infected individuals is about 1000? What is the probability that more than 50 people will be infected given probability distributions for the parameters? What variables are the most sensitive? Please find the parameters that best fit the model to the data. All of these, and more, given as simple one-liner queries over SciML-defined differential equation models.

Tutorials and Documentation

For information on using the package, see the stable documentation. Use the in-development documentation for the version of the documentation which contains the unreleased features.

Quick Demonstration

using EasyModelAnalysis

@parameters t σ ρ β
@variables x(t) y(t) z(t)
D = Differential(t)

eqs = [D(D(x)) ~ σ * (y - x),
    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)

phaseplot_extrema(prob, x, (x, y))
plot_extrema(prob, x)

About

High level functions for analyzing the output of simulations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 100.0%