[ANN] Sirens.jl - Hybrid and multiscale simulations

I am happy to announce Sirens.jl, a new package for constructing and running hybrid and multiscale simulations.

Simulations in Sirens.jl consist of multiple concurrently run models, each with their own solver, allowing you to produce large, complex, hybrid, and multiscale simulations by only describing the individual sub-models (components) and the connections between them.

Sirens.jl is already compatible with all of the DifferentialEquations.jl ecosystem (including MethodOfLines.jl and JumpProcesses.jl), as well as Agents.jl and TrixiParticles.jl. It is also very easy to add new modeling frameworks through supplying a minimal integrator interface.

Multi-cellular environments are a common use-case for these kinds of simulations, where you have a discrete, heterogeneous model of cells, but within and between cells you have detailed differential equation models. Below we have a simulation of a cell colony that includes:

  • An agent-based model of cells and cellular forces
  • A Partial Differential Equation model of nutrient concentration that reacts to the presence and state of individual cells
  • An Ordinary Differential Equation model of cell growth for each cell, where the number of instances scales dynamically as new cells are created by the agent-based model
  • An Stochastic Differential Equation model of gene regulatory function capturing stochastic fluctuations in each cells Green Fluorescent Protein (GFP) concentration (with the number of instances also scaling dynamically)

9 Likes