Giter Site home page Giter Site 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 People

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

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

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

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.

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.

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)

Widget order to be sorted

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

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.

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

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)

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

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

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

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

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.