https://github.com/dpploy/cortix
Cortix is a Python library for network dynamics modeling and HPC simulation.
https://github.com/dpploy/cortix
computational-mathematics coupled-data dynamical-systems engineering engineering-science parallel-computing pypi pypi-package python-3 science scientific-computing scipy simulation-modeling
Last synced: 20 days ago
JSON representation
Cortix is a Python library for network dynamics modeling and HPC simulation.
- Host: GitHub
- URL: https://github.com/dpploy/cortix
- Owner: dpploy
- License: other
- Created: 2018-03-23T22:58:53.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-02-13T16:20:27.000Z (3 months ago)
- Last Synced: 2025-03-25T10:42:49.605Z (about 1 month ago)
- Topics: computational-mathematics, coupled-data, dynamical-systems, engineering, engineering-science, parallel-computing, pypi, pypi-package, python-3, science, scientific-computing, scipy, simulation-modeling
- Language: Python
- Homepage: https://cortix.org
- Size: 8.82 MB
- Stars: 11
- Watchers: 7
- Forks: 4
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Cortix
A Python library for network dynamics modeling and HPC simulation.
+ [Cortix on Jupyter notebook examples](https://github.com/dpploy/cortix-nb)
+ [Documentation on the web](https://cortix.org)
[](https://cortix.org)
[](https://badge.fury.io/py/cortix)
[](https://badge.fury.io/py/cortix)[](https://codecov.io/gh/dpploy/cortix)

## 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](https://www.open-mpi.org/) and scales across many cores.## Installation: start by installing [MPI](https://www.open-mpi.org/)
## Installing via PyPI
```
pip install --user cortix
```
if updating to a new version, you may need to specify the version
```
pip install --user cortix==""
```
NB: this will not install the GraphViz executables but only the python wrapper. Install the GraphViz library on your system by yourself.
## Installing via Conda
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==""
```
## Installing from source
1. Clone this repository to install the latest version of Cortix
```
git clone https://github.com/dpploy/cortix.git
```
2. Install the required dependencies listed in `requirements.txt`
```
pip install --user -r cortix/requirements.txt
```
3. 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
```
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 $xx = 12$.## Testing
Testing is facilitated by [PyTest](http://pytest.org). Tests can be run locally from within the `tests` directory
```
cd tests && py.test
```## Using Cortix
Please refer to the [documentation](https://cortix.org/contents.html) for more on getting started!
## Team
- Valmor F. de Almeida: valmor\[email protected]
- Taha M. Azzaoui: [email protected]
- Seamus D. Gallagher: seamus\[email protected]
- Austin Rotker: [email protected]
- Gilberto E. Alas: gilberto\[email protected]## Contributing
Pull requests are welcome. For major changes, please open an [issue](https://github.com/dpploy/cortix/issues) 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](https://www.uml.edu/Innovation-Hub/)
110 Canal St., 3rd Floor
Lowell, MA 01852