Package: chemreac
chemreacchremreac 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 aPythoninterface usingCython.DocumentationDocumentation for the latest stable release is found here:http://chemreac.github.io/chemreac/latest/and development documentation for the current master branch is found here:http://hera.physchem.kth.se/~chemreac/branches/master/html).InstallationThe easiest way to installchemreac(on linux) is to useconda:$ conda install -c chemreac chemreac pytestand you’re done! To check ifchemreacis installed correctly you may run:$ pytest --pyargs chemreacwhich 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 kepthere.If you are not using the conda package manager you can still installchemreacfrom source. You will find the instructions for doing so below.Building from sourceBelow you will find instructions for installation by buildingchemreacfrom source.
You may also look inscripts/folder for automated install scripts used
on the continuous integration servers.PrerequisitesVersion 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)Sundials2.6.2Python (2.7 or >=3.4)In addition to the standard library provided by Python, a number of python
packages are required (seesetup.py), they are found onPyPIand are automatically installed when
usingpip.For rendering the documentation you also need:Sphinxnumpydocsphinx_rtd_themeto run all the tests you also need these tools:valgrindgraphvizdot2texpdflatexBuilding and installingOnce 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.shthe 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 --inplaceThe following environment variables are also supported bysetup.py(defaults to “0”, enable by setting them to “1”):Environament variableDefaultActionWITH_OPENMP0Enable parallell evaluation of rhs and jac.WITH_BLOCK_DIAG_ILU_DGETRF0Use unblocked version of dgetrf instead of LAPACKWITH_BLOCK_DIAG_ILU_OPENMP0Evaluate LU decomposition of blocks in parallelWITH_DATA_DUMPING0For debugging purposes onlyWITH_DEBUG0For debugging purposes onlyEnabling 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).TestsIf you havepy.testinstalled you may run the test suite on the
installed package:$ py.test --pyargs chemreacAll tests should pass (or xfail). If they do not, pleasefile an
issue.StatusBoth the correctness (continuous integration) and the performance
(benchmarks) of the code base is monitored continuously.Continuous integrationIn order to minimize the risk of (re)introducing bugs into the code
base, it is continuously built on a CI server:Performace trackingBenchmarks for tracking the performance of the library are kept athttps://github.com/chemreac/chemreac-benchmarksLicenseThe source code is Open Source and is released under the very permissive
“simplified (2-clause) BSD license”. SeeLICENSE.txtfor further details.
Contributors are welcome to suggest improvements athttps://github.com/chemreac/chemreacAuthorBjörn Dahlgren, contact:gmail address: bjodah