A Python package for System Dynamics Modeling
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.pyconsists of the main functionalities, including the lexer, parser, and interpreter. -
asdm/utilities.pyprovies a data visualisation tool. -
asdm/Inferenceconsists of tools for model calibration.
Installation
Install from PyPi
pip install asdm
ASDM and its required dependencies will be automatically installed.
Import
At any path, execute the following code in the interactive Python environment or as a part of a script:
from asdm import sdmodel
'sdmodel' is the class for System Dynamics models.
Functionalities
Please refer to Documentation for the commonly used functions.
Tutorial Jupyter Notebooks
We also use Jupyter Notebooks to provide demoes of ASDM's functionalities.
- 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
- Load and simulate .stmx models
- Support for arrays
- Simulate .stmx models with modified equations
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file asdm-0.2.3.tar.gz.
File metadata
- Download URL: asdm-0.2.3.tar.gz
- Upload date:
- Size: 30.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56137cb299debb68d541d5d34d41ea94ffee039fbaf76febffe11ca30becaa39
|
|
| MD5 |
78d41dc7986daae2e8274f433d472afc
|
|
| BLAKE2b-256 |
34c41a73a9726f2710a5fa1c38734bbe2cf122d7e4cfb1f463d09e0b0383ffad
|
File details
Details for the file asdm-0.2.3-py3-none-any.whl.
File metadata
- Download URL: asdm-0.2.3-py3-none-any.whl
- Upload date:
- Size: 29.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09e2a7a4695ff84e57fa565175153f476a9817849ce947f36acbd66dbf6ab4cb
|
|
| MD5 |
d58992daf9e163ea14f253ff15703858
|
|
| BLAKE2b-256 |
b6e85ed50b9c59c10cb0c316eeefa0a0db029fbf00d9c9c337ab4ee585ccfe94
|