Documentation

Cortix

A Python library for network dynamics modeling and HPC simulation.

Website Repo Size Build Status PyPI version PyPI - Python Version

What is Cortix?

  • 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

Installing via PyPI

pip install --user cortix

Installing from source

  1. Clone this repository to install the latest version of Cortix
git clone https://github.com/dpploy/cortix.git
  1. Install the required dependencies listed in requirements.txt
pip install --user -r cortix/requirements.txt
  1. 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

Verify your Cortix install by running the Droplet example

mpirun -np 12 examples/droplet_run.py

Testing

Testing is facilitated by PyTest. Tests can be run locally from within the tests directory

cd tests && py.test

Using Cortix

Please refer to the documentation for more on getting started!

Team

Contributing

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.

Location

Cortix Group

c/o UMass Innovation Hub

110 Canal St., 3rd Floor

Lowell, MA 01852