AntonAntonov/ MonadicSystemDynamics

Software monad for System Dynamics workflows

Contributed by: Anton Antonov

A software monad implementation for System Dynamics workflows. Both single-site and multi-site compartmental modeling are supported. The monad has pipeline functions for "seed" model setup, initial conditions setting, simulation, visualization, and calibration.

Installation Instructions

To install this paclet in your Wolfram Language environment, evaluate this code:
PacletInstall["AntonAntonov/MonadicSystemDynamics"]


To load the code after installation, evaluate this code:
Needs["AntonAntonov`MonadicSystemDynamics`"]

Details

Monad's name, "SDMon", stands for "System Dynamics Monad".
System dynamics (SD) is an approach to understanding the nonlinear behaviour of complex systems over time using stocks, flows, internal feedback loops, table functions, and time delays.
The goal of monad's design is to make the specification of SD workflows (relatively) easy and straightforward by following a certain main scenario and specifying variations over that scenario.
The monad supports both single-site and multi-site compartmental modeling.
The monad has bath simulation functionalities.
The monad has suitable calibration functionalities.

Paclet Guide

Examples

Basic Examples (5) 

Load the paclet "AntonAntonov/EpidemiologicalModeling":

Make a single-site model:

In[1]:=
model = SEI2RModel[t, "InitialConditions" -> True, "RateRules" -> True, "TotalPopulationRepresentation" -> "AlgebraicEquation"];

Here is a tabulation of the model:

In[2]:=
ModelGridTableForm[model]
Out[2]=

Here is SDMon workflow executed multiple times with different quarantine starts:

In[3]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/9e6c75ba-73f4-4a64-864c-bfba0328ee04"]

Plot the simulation solutions for "Infected Severely Symptomatic Population":

In[4]:=
Multicolumn[#[[1, 1]] & /@ lsRes, 4]
Out[4]=

Publisher

Anton Antonov

Disclosures

Compatibility

Wolfram Language Version 12.3

Version History

  • 1.0.1 – 19 September 2023
  • 1.0.0 – 18 September 2023

License Information

MIT License

Paclet Source

Source Metadata

See Also