Utopia
2
Framework for studying models of complex & adaptive systems.
|
▼Core | Interface definitions and utility functions for building models |
Rules on Entities | Algorithms for conveniently applying function objects on entities |
Output Logging | Utility functions for all logging output based on the spdlog backend |
Model | The Model framework is the foundation for your future model |
CellManager | An interface to build and use cellular automata |
AgentManager | An interface for agent-based models |
▼Entity | The base class for managed entities, e.g. cells or agents |
GraphEntity | |
Iteration Utilities | Collection of classes and functions for custom iteration over ranges |
Test Tools | Gathers useful tools for writing tests in the Boost.Test framework |
Metaprogramming and type restrictions | Metafunctions to classify types, in order to be able to restrict template parameters, and some other helpers for type computation |
Output stream operators | Pretty-print types like containers, tuples and various others to std::ostream or std::ofstream. To use them, put a using Utopia::Utils::operator<< before the first call. Then you can do std::cout << many << funny << things << std::endl; as always |
▼Multithreading | Facilities for parallel execution based on runtime configuration |
STL Algorithm Overloads | Overloads for selecting execution policies at runtime |
Entity Selection | An interface to select a subset of entities from a manager |
▼DataIO | Writing data, reading configuration files, and reporting data to the Python frontend |
▼DataManager | High-level interface for data writing |
Defaults | Provides default implementations for the datamanager's requirements |
Utilities | Provides a number of helper functions for the datamanager class |
Factories | Provides a Functor for producing writetasks and a function for producing a datamanager using that functor. Exists for simplifying creation of default datamanagers for model builders |
WriteTask | Provides a class which encapsulates the process of acquiring resources to write data to, writing data to that resource, and handling meta information |
Graph Utilities | Provides functions which wrap common tasks for writing out data from graphs |
Chunking Utilities | Provides algorithms for automatically optimize the chunksize in which data is written to the hard disk when writing compressed or extendable hdf5 files |
HDF5 | Low-level interface for using HDF5 with modern C++ and STL |
Monitor | Interface for monitoring custom quantities for a simulation via standard out |
Config Utilities | Allows reading configuration entries from YAML files |
Filesystem | |
▼Models | Models implemented in Utopia |
Environment | The environment model provides a collection of parameter functions designed for coupling to other models |
▼Graph | |
Rules on Entities | Algorithms for conveniently applying function objects on entities |
GraphEntity | |
GraphIterators |