Skip to content

Jablonski

  • Example
    from jablonski.plots import graph_spectra
    
    fig, ax = graph_spectra(
        Hydrogen,
        [
            Hydrogen.absorption_1,
            Hydrogen.absorption_2,
            Hydrogen.absorption_3,
            Hydrogen.absorption_4,
        ],
        height=1e8/(u.cm**2 *u.s),
    )
    
Spectra from simplified hydrogen model in Jablonski. Widths are arbitrary.

Jablonski is a Python-based package for simulation of photochemical systems. It extends poincare, a package for modelling dynamical systems. It's designed around:

  • Modularity: Jablonski is intended to create a layer to separate the actual declaration and simulation of models, allowing to easily switch between methods and compile to different backends (including NumPy Numba and JAX).

  • Composability: models are composable, allowing for the combination of smaller systems to create larger ones; complex models can be broken up into more manageable parts.

  • Reproducibility: it intends to be a centralized place for all information concerning models, making it easy to extract data about information and parameters and encouraging consistency between analytical formulations and numerical implementations.

  • Utility: jablonski contains a number of simulation and analysis tools, such as piecewise simulation for pulse excitations and getting a system's time resolved and steady state emission spectra.


Installation

It can be installed from PyPI:

pip install -U jablonski

or conda-forge:

conda install -c conda-forge jablonski

Documentation

Documentation is structured as a series of interactive marimo notebooks which cover basic and advanced topics. They can be ran by following the links in the highlighted titles to open them in the browser or by cloning the dyscolab-tutorials repository to open them locally. For more information, see Pioncare's documentation.

Basics