diodeproject / mumot Goto Github PK
View Code? Open in Web Editor NEWMultiscale Modelling Tool - mathematical modelling without the maths
Home Page: https://mumot.readthedocs.io/
License: GNU General Public License v3.0
Multiscale Modelling Tool - mathematical modelling without the maths
Home Page: https://mumot.readthedocs.io/
License: GNU General Public License v3.0
The PyDStool-based bifurcation function is not analysing the Pais model as expected. To test:
At the moment MA and SSA views use a custom _getStoichiometry
function.
For consistency, in the project, we should use a single Stoichiometry function.
The HTML widget for displaying error messages interactively is not always displayed, and is not updated with new error messages
Under some Python / Jupyter installations, vector length in 3d vector views appears fixed and uniform.
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
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.
Similar to Mathematica Manipulate
, print out a string describing the parameterisation of the model, suitable for cut and paste to create a standalone view
For bifurcation parameter at least - unable to check LaTeX state variables due to issue #36
For example, add possibility to visualise network, temporal dynamics and final distribution after a multiagent simulation.
Possible organisation of the figures in tabs.
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)
bifurcation
view will not work with variable names having underscores, due to _
and {}
characters breaking internal PyDS variable naming rules
Suggest a simple function to hash all variable names coming from models to pure alphabetic strings, for passing to PyDS
Add smart parsing of input string.
Add generation of input string from simulation output (to be reused with copy/paste for next command)
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
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
if model2 is derived from model1 via a call to substitute, then model1.show() can show reactions whose rates reflect the substitution made to create model2
E.g. stream
(and all other functions) need to accept as arguments not only
'Psi_{1}'
but also
'\Psi_{1}'
and
'\Psi_1'
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.
however, substituting not by an expression but by another symbol, for example U = X would work
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
Add "Play", "Pause", "One-Step" buttons to start, pause and advance 1-step at a time the simulation
Parameters reported in logs lag behind latest versions plotted, according to widget values.
When only visualisation options are changed (e.g. "show communication links" in multiagent sim.), MuMoT should replot without re-computing all data
This should also enable additional functionality, in particular:
Controllers can be parameterised with these, so they just need to be chosen appropriately.
Otherwise, the axes are adapted on data
2d and 3d field-based plots (stream and vector plots) should not display / compute areas outside the simplex
Sometimes when moving sliders a second figure window is generated below the first. Moving the slider again the second window is updated correctly. However, this only happens for some examples and not for others.
Widgets currently constructed in arbitrary order, which will be confusing for users; sort alphanumerically
Should be capturing to log file, or using error widget
Either by analytic solution for fixed points, or numerical integration. Trying the former before the latter may introduce unacceptable delays for intractable systems of equations.
In particular, whitespace should not be required for a valid model specification
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.
At the moment the multiagent particle simulation have periodic boundary conditions (torus).
Add walls and either:
Data is generated but it is not (yet) visualised.
Possible visualisations (to be decided):
To enable variable-population models, and constant background flows
E.g. in showODEs()
, showReactants()
Vector and stream plots need to display an error message and exit before constructing widgets, when system size has not been set
_fig_formatting_2D
and _fig_formatting_3D
to look up and redner LaTeX variable names correctly
Causes strange behaviour, as represented by showODEs()
Current implementation does not allow for easy varying of system size while keeping initial condition proportions constant
In places the code uses error classes like SyntaxError
, in others custom error classes, in places assert
, in other places print
and return
Overlay results from various description levels in one single plot.
In views, etc.
In particular, for setting system size check all reactants appear in assignment, with negative sign, and system size parameter sign is positive
Plotting a 3+d system when system size has not been set, but system size is non-constant, requires error handling
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.