Metadata-Version: 2.1
Name: rotsim2d
Version: 0.9.2
Summary: Simulate 2D rovibrational spectra of gas-phase molecular samples
Home-page: https://github.com/gkowzan/rotsim2d
Author: Grzegorz Kowzan
Author-email: gkowzan@umk.pl
License: MIT License
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Typing :: Typed
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: attrs (>=21.4.0)
Requires-Dist: asteval (>=0.9.25)
Requires-Dist: h5py (>=3.1)
Requires-Dist: numpy (>=1.16.5)
Requires-Dist: scipy (>=1.3)
Requires-Dist: anytree (>=2.8.0)
Requires-Dist: sympy (<=1.9,>=1.8)
Requires-Dist: matplotlib (>=2.2.3)
Requires-Dist: molspecutils (>=0.3.0)
Requires-Dist: importlib-metadata (>=1.0) ; python_version < "3.8"
Provides-Extra: doc
Requires-Dist: Sphinx ; extra == 'doc'
Requires-Dist: sphinx-book-theme ; extra == 'doc'
Requires-Dist: ipython ; extra == 'doc'
Requires-Dist: ipykernel ; extra == 'doc'
Requires-Dist: jupyter-client ; extra == 'doc'
Requires-Dist: sphinx-copybutton ; extra == 'doc'
Provides-Extra: pyfftw
Requires-Dist: pyfftw ; extra == 'pyfftw'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: gkpywigxjpf ; (platform_system == "Linux") and extra == 'test'

.. |LETTER| replace:: G.\ Kowzan, T. K. Allison, Controlling rotationally-resolved two-dimensional infrared spectra with polarization, arXiv:2206.10492 [physics.optics], (2022).

.. |THEORY| replace:: G.\ Kowzan, T. K. Allison, Theory of rotationally-resolved two-dimensional infrared spectroscopy, arXiv:2206.10488 [physics.optics], (2022).

.. |HAPI| replace:: R.V. Kochanov, I.E. Gordon, L.S. Rothman, P. Wcisło, C. Hill, J.S. Wilzewski, HITRAN Application Programming Interface (HAPI): A comprehensive approach to working with spectroscopic data, J. Quant. Spectrosc. Radiat. Transfer 177, 15-30 (2016).

.. |HITRAN| replace:: I.E. Gordon et al., The HITRAN2016 molecular spectroscopic database, J. Quant. Spectrosc. Radiat. Transfer 203, 3-69 (2017).

.. |MUKAMEL| replace:: S.\ Mukamel, "Principles of nonlinear spectroscopy". Oxford University Press, New York, 1995.

.. |HAMM| replace:: P.\ Hamm, M. Zanni,"Concepts and methods of 2D infrared spectroscopy". Cambridge University Press, 2011.

###################################################
rotsim2d: rotationally-resolved 2D infrared spectra
###################################################

.. image:: https://zenodo.org/badge/503824832.svg
   :target: https://zenodo.org/badge/latestdoi/503824832

**rotsim2d** is a library to model two-dimensional infrared (2DIR) rovibrational spectra.
It uses density-matrix perturbation theory treatment of third-order interaction.
It assumes explicit time-ordering of interactions, *i.e.* it is suitable for time-domain spectroscopy with time-separated optical pulses.

**rotsim2d** generates complete third-order excitation trees of rovibrational eigenstates, which can be manipulated and filtered in various ways.
Each pathway is also represented by an object, which provides its amplitude and polarization dependence and other information about the pathway.
This includes symbolic expressions for polarization and angular momentum dependence, which can be manipulated with SymPy library.
The user can generate and plot 2D resonance maps, which do not include information on the line shapes, but make it easier to visualize resonance amplitudes.
One can also simulate mixed time-frequency experimental signals which do include line shapes and which are directly comparable with measured signals.

**rotsim2d_apps** includes simple GUI applications that can be used to investigate branch structure of RR2DIR spectra, polarization dependence and evolution of rotational coherences during the waiting time between the second and third interaction.

.. image:: docs/images/cartoon_rcs_docs.png
   :width: 50%
   :align: center

Install
=======
The package is available on PyPI and can be most easily installed with `pip`::

  pip install rotsim2d

This will install the library.
To install GUI applications install the following package::

  pip install rotsim2d_apps

Documentation
=============
Documentation is available at `<https://rotsim2d.readthedocs.io/>`_.

Citations
=========
Please cite the following articles when publishing the results of using this library:

1. |LETTER|
2. |THEORY|
3. |HAPI|

License
=======
rotsim2d is available under the open source `MIT license <https://opensource.org/licenses/MIT>`_.

Funding
=======
.. list-table::
   :widths: auto
   :header-rows: 0

   * - .. image:: docs/images/flag_yellow_low.jpg
          :width: 200px
     - This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Sklodowska-Curie grant agreement No 101028278.
