Skip to main content

chemreac

Build status PyPI version Python version DOI (digital object identifier) for latest release on Zenodo License airspeedvelocity coverage chemreac logotype

chremreac is an open source library which aims to collect tools and utilities for modeling of chemical kinetics problems. It is primarily designed to be useful in the context of aqueous phase with external radiation fields (including advection/diffusion processes).

The (heavy) numerical processing is done in rountines written in C++ which have been wrapped in a Python interface using Cython.

Documentation

Installation

The easiest way to install chemreac (on linux) is to use conda:

$ conda install -c chemreac chemreac pytest

and you’re done! To check if chemreac is installed correctly you may run:

$ pytest --pyargs chemreac

which should run the test suite (all tests should pass or xfail). If you are using a special platform with non-standard math libraries you may need to compile your own pacakges. The “recipes” for the conda packages are kept here.

If you are not using the conda package manager you can still install chemreac from source. You will find the instructions for doing so below.

Building from source

Below you will find instructions for installation by building chemreac from source. You may also look in scripts/ folder for automated install scripts used on the continuous integration servers.

Prerequisites

Version numbers of dependencies indicate what has been tested:

  • C++ compiler with C++11 support (e.g. GCC >= 4.8)

  • LAPACK (provided by e.g. OpenBLAS)

  • Sundials 2.6.2

  • Python (2.7 or >=3.4)

In addition to the standard library provided by Python, a number of python packages are required (see setup.py), they are found on PyPI and are automatically installed when using pip.

For rendering the documentation you also need:

to run all the tests you also need these tools:

  • valgrind

  • graphviz

  • dot2tex

  • pdflatex

Building and installing

Once non-python prerequisites are in installed, you may procede e.g. as:

$ git clone https://github.com/chemreac/chemreac.git
$ cd chemreac
$ pip install --user -e .[all]
$ ./scripts/run_tests.sh

the above procedure works on Ubuntu 14.04 for example.

To specify an alternative LAPACK lib, set the environment variable LLAPACK, e.g.:

$ LLAPACK=openblas python setup.py build_ext --inplace

The following environment variables are also supported by setup.py (defaults to “0”, enable by setting them to “1”):

Environament variable

Default

Action

WITH_OPENMP

0

Enable parallell evaluation of rhs and jac.

WITH_BLOCK_DIAG_ILU_DGETRF

0

Use unblocked version of dgetrf instead of LAPACK

WITH_BLOCK_DIAG_ILU_OPENMP

0

Evaluate LU decomposition of blocks in parallel

WITH_DATA_DUMPING

0

For debugging purposes only

WITH_DEBUG

0

For debugging purposes only

Enabling the first three is known to provide significant speed up for some scenarios (performance is system dependent, hence recommendations are not possible to give without benchmarking).

Tests

If you have py.test installed you may run the test suite on the installed package:

$ py.test --pyargs chemreac

All tests should pass (or xfail). If they do not, please file an issue.

Status

Both the correctness (continuous integration) and the performance (benchmarks) of the code base is monitored continuously.

Continuous integration

In order to minimize the risk of (re)introducing bugs into the code base, it is continuously built on a CI server:

Build status

Performace tracking

Benchmarks for tracking the performance of the library are kept at https://github.com/chemreac/chemreac-benchmarks

License

The source code is Open Source and is released under the very permissive “simplified (2-clause) BSD license”. See LICENSE.txt for further details. Contributors are welcome to suggest improvements at https://github.com/chemreac/chemreac

Author

Björn Dahlgren, contact:
  • gmail address: bjodah

Metadata

Release files for chemreac 0.10.1

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

Source distribution (sdist)

Source distribution for chemreac 0.10.1
File Size Uploaded
chemreac-0.10.1.tar.gz 577.6 kB Details

Release files / chemreac-0.10.1.tar.gz

Download URL chemreac-0.10.1.tar.gz
Size 577.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8e5fed2c83179e7afb82b2ba98c017064718c68f70293242b562bd8d3cc44700
BLAKE2b-256 checksum
How to use checksums
f3b0b3f8265377cdd6c13c7aa61431769bbc5992e63cc7e2235daf0345745a19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

Release history Release notifications | RSS feed

This release

0.10.1 This release

1 release file

0.10.0

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.15

1 release file

0.7.14

1 release file

0.7.13

1 release file

0.7.12

1 release file

0.7.11

1 release file

0.7.10

1 release file

0.7.9

1 release file

0.7.8

1 release file

0.7.7

1 release file

0.7.6

1 release file

0.7.5

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.0

1 release file

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