SLACKHA / pyJac

Creates C and CUDA analytical Jacobians for chemical kinetics ODE systems
http://slackha.github.io/pyJac/
MIT License
52 stars 23 forks source link

pyJac

DOI Code of Conduct License PyPI Anaconda

This utility creates source code to calculate the Jacobian matrix analytically for a chemical reaction mechanism.

Documentation

The full documentation for pyJac can be found at http://slackha.github.io/pyJac/.

User Group

Further support can be found at our user group, or by opening an issue on our github repo.

Installation

Detailed installation instructions can be found in the full documentation. The easiest way to install pyJac is via conda. You can install to your environment with

> conda install -c slackha pyjac

pyJac can also be installed from PyPI using pip:

pip install pyjac

or, using the downloaded source code, installed as a Python module:

> python setup.py install

Usage

pyJac can be run as a python module:

> python -m pyjac [options]

The generated source code is placed within the out (by default) directory, which is created if it doesn't exist initially. See the documentation or use python pyjac -h for the full list of options.

Theory

Theory, derivations, validation and performance testing can be found in the paper fully describing version 1.0.2 of pyJac: https://niemeyer-research-group.github.io/pyJac-paper/, now published via https://doi.org/10.1016/j.cpc.2017.02.004 and available openly via arXiv:1605.03262 [physics.comp-ph].

License

pyJac is released under the MIT license; see the LICENSE for details.

If you use this package as part of a scholarly publication, please see CITATION.md for the appropriate citation(s).

Contributing

We welcome contributions to pyJac! Please see the guide to making contributions in the CONTRIBUTING.md file.

Code of Conduct

In order to have a more open and welcoming community, pyJac adheres to a code of conduct adapted from the Contributor Covenant code of conduct.

Please adhere to this code of conduct in any interactions you have in the pyJac community. It is strictly enforced on all official pyJac repositories, websites, and resources. If you encounter someone violating these terms, please let a maintainer (@kyleniemeyer or @arghdos, via email at slackha@googlegroups.com) know and we will address it as soon as possible.

Authors

Created by Kyle Niemeyer (kyle.niemeyer@gmail.com) and Nicholas Curtis (arghdos@gmail.com)