Git Product home page Git Product logo

diodeproject / mumot Goto Github PK

View Code? Open in Web Editor NEW
21.0 11.0 4.0 32.34 MB

Multiscale Modelling Tool - mathematical modelling without the maths

Home Page: https://mumot.readthedocs.io/

License: GNU General Public License v3.0

Python 74.57% Jupyter Notebook 25.29% Shell 0.13%
mathematical-modelling statistical-mechanics nonlinear-dynamics bifurcation-analysis individual-based-modelling stochastic-simulation-algorithm

mumot's Introduction

MuMoT: Multiscale Modelling Tool

Binder

test_and_upload_distribution Documentation Status Coverage Status

Introduction / overview

MuMoT (Multiscale Modelling Tool) is a tool designed to allow sophisticated mathematical modelling and analysis, without writing equations - the class of models that can be represented is broad, ranging from chemical reaction kinetics to demography and collective behaviour - by using a web-based interactive interface with minimal coding, rapid development and exploration of models is facilitated - the tool may also be particularly useful for pedagogical demonstrations.

Documentation

See https://mumot.readthedocs.io for

  • How to get started with MuMoT, including how to use MuMoT online without installing anything on your own machine.
  • Installation instructions, should you want to install it on your own machine.
  • Development: how to report issues and how to contribute to the project.
  • Information about MuMoT including contributors, acknowledgements, and citation details.
  • API documentation.

mumot's People

Contributors

estefano13 avatar jarmarshall avatar jeemusu avatar joefresna avatar renapagli avatar tbose1 avatar willfurnass avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mumot's Issues

Replace PyDStool plotting with bespoke routine

This should also enable additional functionality, in particular:

  • plotting difference of two state variables
  • displaying bifurcation view as part of part of multi view controller (issue #13) - internal PyDStool plotting does not seem well-behaved and does not plot to current axes

Add color selection by user for state

The user can select (through widget) the color to assign to each state (also called reactant).
The color will be used in the plots (e.g., network graph, temporal dynamics)

Widgets in accordion view flow off edge of screen

Safari issue, or jupyter notebook version issue, possibly? - wanted to check if others see this; e.g. for this command:

mmt.MuMoTdefault.setTimeDefaults(initTime=10, step=1)
net = model1.multiagent()

running at 2560 x 1600 widgets past Particle speed cannot be seen / reached

MA and SSA views/controllers do not handle Figures correctly

MA and SSA views/controllers manage figure with bugs.
For example, running two times
net = model1.multiagent()
will have the widgets interfering between different cells.

The views must use the standard functions: _buildFig and _fig_formatting_2D

Improve error checking in substitute

In particular, for setting system size check all reactants appear in assignment, with negative sign, and system size parameter sign is positive

Improve format of the exported data files

There is the possibility to download the simulation data file (e.g. through MuMoTmultiagentController.downloadTimeEvolution()), however the current data format is very basic and not properly formatted and should be improved.

Make views completely independent of controllers

Views currently assume presence of a controller to set their parameter values. Expert users should be able to directly instantiate view objects, setting parameter values on creation, without going via a controller.

Seperate views from models

Currently views on models (bifurcation plots are the only current view) are integrated with models; these will be separated out so multiple independent views on the same model are possible

Add bounded arena

At the moment the multiagent particle simulation have periodic boundary conditions (torus).
Add walls and either:

  • let the particle bounce on the walls (as molecules do)
  • let the particle get stuck to the wall (as simple robots do)

Replot without re-computing all data

When only visualisation options are changed (e.g. "show communication links" in multiagent sim.), MuMoT should replot without re-computing all data

Integration with PyDSTool

Too many issues to list at the moment! But the first critical one is to complete a proof-of-concept for interactive bifurcation analysis of a described model using PyDSTool. The widgets update the parameters of the model but the bifurcation analysis raises an exception for reasons that are not currently clear.

Implement 3d stream plot

3d stream plot will need to be implemented by hand, by numerically integrating the equations from selected starting points, as I have not found a library implementation so far

Widget order to be sorted

Widgets currently constructed in arbitrary order, which will be confusing for users; sort alphanumerically

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.