Cortix is a Python library for system-level module coupling, execution, and analysis.
Project description
Cortix
A Python library for system-level module coupling, execution, and analysis.
What is Cortix?
- Cortix is a 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:
- Communication between modules
- Time synchronization
- Data visualization
The basic concepts in Cortix are the creation of an Application
and a Simulation
involving Tasks
.
Installation: Cortix can be installed on any Unix-based environment
Installing via PyPI
pip install --user cortix
Installing from source
- Clone this repository to install the current version of Cortix in PyPI.
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
Testing
Testing is facilitated through PyTest. To test your Cortix install, run the droplet example from the python shell
>> from cortix.examples.console_run import droplet_run as droplet
>> droplet.run()
Using Cortix
Cortix requires a set of input files, a driver, and a configuration file. See examples/console_run
for working examples of Cortix simulations. Cortix will output logging information to stdout
by default, extensive logging of runtime information is also stored in the <work_dir>
directory specified in the cortix-config.xml
input file.
Developers
- Valmor F. de Almeida: Valmor_deAlmeida@uml.edu
- Taha M. Azzaoui: tazzaoui@cs.uml.edu
Documentation
- Gilberto E. Alas: gilberto_alas@student.uml.edu
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.