SciML Scientific Machine Learning Software

SciML at JuliaCon 2021

JuliaCon 2021 was an exciting conference filled with talks about new Julia software and use cases. Specifically this year saw an exponential rise in the number of talks featuring the SciML Open Source Software Organization. To help those interested, this post will highlight some of the talks which showcase the SciML tools.

Adaptive and extendable numerical simulations with Trixi.jl

Trixi.jl is a hyperbolic PDE solving package which uses DifferentialEquations.jl for its time stepping. It adds features for meshing and defining stable spatial discretizations.

AlgebraicDynamics: Compositional dynamical systems

Category Theory + Differential Equations for generating models in an intuitive algebraic way. It's quite an interesting experience that can have many use cases for scientists in fields like epidemiology where models are built from repeating structures.

Bayesian Neural Ordinary Differential Equations

Bayesian Neural Ordinary Differential Equations mixes the tools of DiffEqFlux.jl with probabilistic programming languages like Turing.jl to allow for automatically discovering physical models in a way that gives uncertainty estimates.

BifurcationKit.jl: bifurcation analysis of large scale systems

BifurcationKit.jl is a pure Julia package for, you guessed it, bifurcation analysis. It connects with the SciML sphere, using some of its tools and interfacing with the same differential equation definitions, to seamlessly add functionality to the ecosystem. It is extremely fast and scalable, with some nice robust methods like deflation methods not seen in many previous tools.

Chaotic time series predictions with ReservoirComputing.jl

Reservoir computing is a machine learning technique which has been shown to give good predictions of attractor properties on chaotic systems. ReservoirComputing.jl productionizes these techniques and makes it easy to train these architectures against data from physical systems for generating accurate predictions.

ClimaCore.jl: Tools for building spatial discretizations

CLIMA is the climate modeling initiative which is building a pure-Julia global circulation model (GCM). ClimaCore is the internal core tool for generating spatial discretizations. It builds outputs which are compatible with the DifferentialEquations.jl time stepping methods, and thus is a nice addition to the ecosystem providing spectral element discretizations of common PDEs.

Designing ecologically optimized vaccines

This is an applications talk describing how the SciML tools were used in the modeling process for developing ecologically optimized vaccines.

Designing Spacecraft Trajectories with Julia

This talk describes OrbitalTrajectories.jl a ModelingToolkit-based package defining the trajectories of satellites and rockets. Dan showcases how this new modeling package gets >10x faster over previous tools in every case, and how a lot of the Julia ecosystem's combined features give rise to a uniquely flexible simulation environment for the domain.

Generative Models with Latent Differential Equations in Julia

With LatentDiffEq.jl you can learn the parameters of a pendulum directly from the images/video of its trajectory. This is a DiffEqFlux-based approach where the packages a special autoencoder architecture that performs this task and demonstrates its utility.

Global Sensitivity Analysis for SciML models in Julia

Global Sensitivity Analysis (GSA) is commonly used across scientific domains like systems biology and pharamcology. This talk describes GlobalSensitivity.jl, a pure Julia package for (parallelized) fast global sensitivity calculations.

Going to Jupiter with Julia

This talk describes GeneralAstrodynamics.jl, a ModelingToolkit-based simulation package for calculating trajectory solutions of specific N-body problems used throughout space planning operations.

JuliaSim: Machine Learning Accelerated Modeling and Simulation

This talk describes JuliaSim, a commercial product being developed by Julia Computing which uses the core tools of SciML, such as ModelingToolkit, within its core. It's being developed as a tool for assisting causal and acausal modeling workflows by providing cloud compute, graphical user interfaces (GUIs), automated surrogate generation, and more.

JuliaSPICE: A Composable ML Accelerated Analog Circuit Simulator

This talk describes JuliaSPICE, a commercial circuit simulation environment being developed by Julia Computing based on SciML tools such as ModelingToolkit.jl.

Modeling Marine Ecosystems At Multiple Scales Using Julia

This was one of the pre-JuliaCon workshops which focused on packages for domain scientists which internally use the SciML software tools such as DifferentialEquations.jl for model simulations.

Modia – Modeling Multidomain Engineering Systems with Julia

Modia.jl is a multi-domain acausal modeling package built on DifferentialEquations.jl by the creators of the Modelica modeling language. This talk showcases many of its additions, such as Modia3D, for simulating increasingly complex systems.

Physics-Informed ML Simulator for Wildfire Propagation

This talk features an application of NeuralPDE.jl for simulating the propagation of wildfires.

SciML for Structures: Predicting Bridge Behavior

This talk features ongoing research in application of the SciML framework for bridge engineering.

Simulating Big Models in Julia with ModelingToolkit

Many of the other talks discuss tools which are built on ModelingToolkit.jl, but what is ModelingToolkit? This is a 3-hour interactive coding workshop which asks and answers this question by showing the features of ModelingToolkit.jl and how it can be used to generate high performance model simulation code.

Simulating Chemical Kinetics with ReactionMechanismSimulator.jl

ReactionMechanismSimulator is a Julia packages for simulating reaction mechanisms. This talk showcases how the package interacts with ReactionMechanismGenerator to quickly develop differential equation models of the underlying chemistry, and showcases how it performs faster than packages like Cantara in this domain.

Single-cell resolved cell-cell communication modeling in Julia

In this application talk, it is described how the Julia tools like DifferentialEquations.jl have been used for modeling cell-cell communication and have been linked to single-cell data for validation.

Space Engineering in Julia

This talk goes into detail on how the Brazilian Space Agency has built software tools such as SatelliteToolbox.jl which leverged the SciML tools like DifferentialEquations for the mission planning of the Amazonia 1 satellite.

Symbolics.jl - fast and flexible symbolic programming

This talk delves deep into Symbolics.jl, the pure-Julia computer algebra system (CAS) spawned out of ModelingToolkit.jl and used as the symbolic basis of the SciML ecosystem.

Systems Biology in ModelingToolkit

How do you integrate with CellML, SBML, BioNetGen, and more files in the SciML universe? This talk describes the tools which make it easy to read in and start simulating large-scale systems biology and systems pharmacology models.