Skip to main content

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] <https://arxiv.org/abs/1605.03262>`__.

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](https://github.com/kyleniemeyer) or [@arghdos](https://github.com/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)

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[1.0.6] - 2018-02-21

Added

  • DOI for 1.0.4

Fixed

  • Syntax errors in readme.md

  • Conda install instructions in install.md

  • Corrected TRange columns in parser

  • Minor documentation fixes

Added

  • Add check to reactions to test that all species exist

  • Duplicate warning from falloff->chemically-activated TROE reactions for zero-parameters

  • Add handling of non-unity default third body efficiency

Changed

  • Bump internal version to 1.0.5.c

[1.0.5.b0] - 2017-06-02

Added

  • Added usergroup info to README and documentation

Fixed

Changed

  • Now strip whitespace from mechanism file lines prior to parsing keywords

Removed

  • Removed plotting scripts specific to first paper on pyJac

1.0.4 - 2017-04-18

Added

  • Adds Travis config for automatic PyPI and conda builds

  • Adds minimal unittest test suite for module imports

  • Adds code of conduct

Changed

  • Changed README back to Markdown for simplicity

  • Updated citation instructions

1.0.3 - 2017-04-01

Fixed

  • Fix for SRI Falloff functions with non-default third bodies (issue #12)

  • Fixed removal of jac/rate lists before libgen of functional_tester

  • Fixed pywrap module import

Changed

  • Issue warning in Cantera parsing if the installed version doesn’t have access to species thermo properties.

Added

  • Added significantly more documentation and examples for data ordering, the state vector / Jacobian, and using the python interface

1.0.2 - 2017-01-18

Added

  • Added CHANGELOG

  • Added documentation for libgen / pywrap features

Changed

  • Minor compilation fixes for including OpenMP

  • Updated github links to point to SLACKHA / Niemeyer Research Group

Deprecated

  • Shared library creation for CUDA disabled, as CUDA does not allow linkage of SO’s into another CUDA kernel

Fixed

  • Explicitly conserve mass in PaSR

  • Minor path fixes

  • Division by zero in some TROE parameter cases

1.0.1 - 2016-05-25

Added

  • Added GPU macros, e.g., THREAD_ID, GRID_SIZE

Changed

  • Much better handling of removal of files created during testing

Fixed

  • Bugfix that generates data.bin files correctly from .npy files for performance testing (important)

  • Explicit setting of OpenMP # threads for performance testing

1.0 - 2016-05-07

Added

  • pyJac is now a Python package

  • pyJac can now create a static/shared library for a mechanism (for external linkage)

  • Added documentation

  • Added examples

Changed

  • Handles CUDA compilation better via Cython

  • pointers are now restricted where appropriate

  • better Python3 compatibility

Fixed

  • other minor bugfixes

0.9.1-beta - 2015-10-29

Changed

  • Implemented the strict mass conservation formulation

  • Updated CUDA implementation such that it is testable vs. pyJac c-version (and Cantera where applicable)

  • More robust build folder management

  • More robust mapping for strict mass conservation

0.9-beta - 2015-10-02

Added

  • First working / tested version of pyJac

Citation of pyJac

DOI

If you use pyJac in a scholarly article, please cite it directly as

Kyle E. Niemeyer and Nicholas J. Curtis (2017). pyJac v1.0.4 [Software]. Zenodo. https://doi.org/10.5281/zenodo.######

A BibTeX entry for LaTeX users is

BibTeX entry:

@misc{pyJac,
    author = {Kyle E Niemeyer and Nicholas J Curtis},
    year = 2017,
    title = {{pyJac} v1.0.4},
    doi = {10.5281/zenodo.######},
    url = {https://github.com/slackha/pyJac},
}

In both cases, please update the entry with the version used. The DOI for the latest version can be found in the badge at the top. If you would like to cite a specific, older version, the DOIs for each release are:

Metadata

Release files for pyJac 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyJac 1.0.6
File Size Uploaded Provenance
pyjac-1.0.6.tar.gz 244.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyJac 1.0.6
File Interpreter ABI Platform
pyjac-1.0.6-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 375.2 kB

Release files / pyjac-1.0.6.tar.gz

Download URL pyjac-1.0.6.tar.gz
Size 244.6 kB
Tags Source
SHA-256 checksum
How to use checksums
59a30f7701558376a727997379e2978dde91de90944d797d28a523f91255b829
BLAKE2b-256 checksum
How to use checksums
8025e316815047188494371ef4f4ed43d09102f336ec2eab950f7b63fbc37b72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyjac-1.0.6-py2.py3-none-any.whl

Download URL pyjac-1.0.6-py2.py3-none-any.whl
Size 130.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
fb9c971ee108191c0909c08c58930b2dfc4ae459a6be1df6f2c4a90a0db377e7
BLAKE2b-256 checksum
How to use checksums
d8fe0b943b7cd162bbe6aad16723711f7b54e613628178074fb8fab0308ea555
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for pyJac 1.0.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page