A Python library for network dynamics modeling and HPC simulation.
- Cortix is a massively parallel Python library for system-level module coupling, execution, and analysis of dynamical system models that exchange time-dependent data.
- Cortix takes as input a collection of computational modules and provides an environment for the coupling of these modules into a single simulation.
- Cortix supports:
- Module decoupling
- Communication between modules
- Data visualization
- Cortix runs on top of MPI and scales across many cores.
Installation: start by installing MPI
pip install --user cortix
if updating to a new version, you may need to specify the version
pip install --user cortix=="<version>"
NB: this will not install the GraphViz executables but only the python wrapper. Install the GraphViz library on your system by yourself.
In a Anaconda
environment (MacOS terminal conda, or Windows Anaconda powershell) do:
pip install cortix
conda install graphviz
if updating to a new version, you may need to specify the version
pip install cortix=="<version>"
- Clone this repository to install the latest version of Cortix
git clone https://github.com/dpploy/cortix.git
- Install the required dependencies listed in
requirements.txt
pip install --user -r cortix/requirements.txt
- Add
cortix
's parent path to your$PYTHONPATH
variable
export PYTHONPATH=$PYTHONPATH:$(pwd)
Note: you may want to add this line to your .bashrc
in order for it to be persistent
mpiexec -n xx examples/run_droplet_swirl.py
where xx is the number of MPI processes which must match the number of modules plus 1. If there are
10 droplets and 1 vortex, use
Testing is facilitated by PyTest. Tests can be run locally from within the tests
directory
cd tests && py.test
Please refer to the documentation for more on getting started!
- Valmor F. de Almeida: valmor_dealmeida@uml.edu
- Taha M. Azzaoui: tazzaoui@cs.uml.edu
- Seamus D. Gallagher: seamus_gallagher@student.uml.edu
- Austin Rotker: austin_rotker@student.uml.edu
- Gilberto E. Alas: gilberto_alas@student.uml.edu
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Cortix Group
110 Canal St., 3rd Floor
Lowell, MA 01852