Skip to main content

Agile System Dynamics Engine

Project description

asdm

Agile System Dynamics Modelling

ASDM is a python library that enables its users to create and simulate System Dynamics (SD) models. It can also simulate SD models saved in the XMILE format, including advanced features such as arrays and conveyors. The support is being continuously improved.

In the library:

  • asdm/asdm.py consists of the main functionalities, including the lexer, parser, and interpreter.

  • asdm/utilities.py provies a data visualisation tool.

  • asdm/Inference consists of tools for model calibration.

Installation

Python version

The library is developed and used with Python 3.11. However, it should also work with other versions. If you encounter a problem and believe it is related to python version, please open an issue or contact me.

Operating system

The library is developed and used on macOS. Some tests have also been done on Windows and Ubuntu Linux, but they are not comprehensive. If you encounter a problem and believe it is related to the OS, please open an issue or contact me.

Create an environment

We recommend that you create a new environment to use the library, although this is not always necessary. For example, if you use anaconda, this can be done by:

conda create --name asdm

Clone this repository to your local computer

To clone this repository to your local environment, please ensure that git is installed in your system, then use the following command:

git clone https://github.com/wzh1895/ASDM.git

Install dependencies

ASDM relies on a number of other python libraries as dependencies. To install them, use the following commands:

cd asdm
conda install --file requirements.txt -c conda-forge

Usage

Please refer to Documentation for the commonly used functions.

Tutorial Jupyter Notebooks

We also use Jupyter Notebooks to provide demoes of ASDM's functionalities.

  1. SD Modelling
  • Creating an SD model from scratch
    • Adding stocks, flows, auxiliaries
    • Support for nonlinear functions (MIN, MAX, etc.)
    • Support for stochastic functions (random binomial trial, etc.)
  • Running simulations
  • Exporting and examing simulation outcomes
  • Displaying simulation outcomes as graph

We will add more tutorial notebooks.

You are welcomed to share your own tutorial notebooks through a pull request. When sharing notebooks, please make sure it does not contain sensitive data.

Licence

ASDM is made public under the MIT licence.

Contributors

Wang Zhao main author

PhD candidate & research assistant at University of Strathclyde, UK

Wang has given multiple talks on ASDM at different gatherings and conferences of modellers, operational researchers, and healthcare experts. This is the YouTube link to one of the talks.

Wang can be reached at wang.zhao@strath.ac.uk.

Matt Stammers contributor

Consultant Gastroenterologist & open-source software developer at University Hospital Southampton, UK

Matt created a webapp using streamlit to allow users to interact with a simulation dashboard in their web browsers or on smartphones, such as in this demo. The simulation of the SD model in the backend is powered by ASDM. This is a part of an initiative Really Useful Models.

Matt's GitHub Homepage

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asdm-0.1.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

asdm-0.1.0-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file asdm-0.1.0.tar.gz.

File metadata

  • Download URL: asdm-0.1.0.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.0 CPython/3.11.0 Windows/10

File hashes

Hashes for asdm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cf2578b2303c6a8906e4a5428c442340d79031d8150389e3dcc6aa50043a5646
MD5 3aebc53b08f7e870a2be04c8190a44c6
BLAKE2b-256 3522817587e0517389b237fccc2e999ad3938f11d2d276cbdf78626d97eaf5b5

See more details on using hashes here.

File details

Details for the file asdm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: asdm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.0 CPython/3.11.0 Windows/10

File hashes

Hashes for asdm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ae16c4527563a1f7c0ab2e60c3e2ca3556a3e93eab24d305483a43d138fc13b
MD5 531a2dbc05b21da1706ce21a9856ed01
BLAKE2b-256 994110a2015b0be79a616764cdc44d29d115a3449de42a2e3957b1ae1a4f1781

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page