morphologica.zip (28.6 MB)
morphologica
A library of supporting code for numerical modelling (JSON config, HDF5 data, Modern OpenGL visualization)
This header-only C++ code provides simulation support facilities for simulations of dynamical systems, agent-based models or, in fact, any program that needs dynamic, runtime visualization.
It helps with:
- Visualizing your model while it runs. A modern OpenGL visualization scheme called morph::Visual provides the ability to visualise 2D and 3D graphs of surfaces, lines, bars, scatter plots and quiver plots with minimal processing overhead. Here's a morph::Visual helloworld and a more complete example. It's almost as easy to draw a graph in C++ with morphologica as it is to do so in Python.
- Configuration: morphologica allows you to easily set up a simulation parameter configuration system, using the JSON reading and writing abilities of morph::Config. (morph::Config Example)
- Saving data from your simulation. morphologica provides a set of easy-to-use convenience wrappers (morph::HdfData) around the HDF5 C API. By saving data in a standard format, it is easy to access simulation data in python, MATLAB or Octave for analysis and graphing. (HdfData Example)
Funding
James S. McDonnell Foundation, grant 220020516
History
Ethics
- There is no personal data or any that requires ethical approval
Policy
- The data complies with the institution and funders' policies on access and sharing
Sharing and access restrictions
- The data can be shared openly
Data description
- The file formats are open or commonly used
Methodology, headings and units
- There is a file including methodology, headings and units, such as a readme.txt