# Ultrafast Spectroscopy Suite (UFSS)
Code for simulating nonlinear optical spectroscopies of closed and open systems
Updated on August 6, 2024 to version 0.2.0. Significant structural chagnes to the code base. Added composite diagrams. Unified UF2 and RKE code where possible, unified UF2 and RKE user interface where possible. Added helper classes for simulating common spectra. Higher-order signals are now easier for the user to calculate. Old code structure available in version 0.1.3.
## Installation instructions
pip install ufss
(Note: ufss is only written for python 3, so you may need to run
pip3 install ufss if pip points to python 2 on your machine)
Visualizing Feynman diagrams requires a TeX distribution
## Taking a test drive in Google's Colaboratory
To try ufss without installing or downloading the repository,
follow this link to see examples using the Diagram Generator:
https://colab.research.google.com/github/peterarose/ufss/blob/master/examples/DiagramGeneratorExample_Colab.ipynb
(Note: Google's Coloaboratory gives a warning message about running Jupyter
notebooks not authored by Google. When prompted by the warning, select
"RUN ANYWAY", and then click "YES" when it asks you if you would like to
reset all runtimes)
## Overview
Contains 4 separate modules:
1. Diagram Generator (DG) - tool for automatically generating all Feynman diagrams for arbitrary order nonlinear optical spectroscopies
- class DiagramGenerator in ufss/diagram_automation.py
2. Ultrafast Ultrafast (UF2) - fast algorithm for calculating individual Feynman diagrams including arbitrary pulse shapes
- for closed systems: class Wavepackets in ufss/UF2_core.py
- for open systems: class DensityMatrices in ufss/UF2_open_core.py
3. Runga-Kutta-Euler (RKE) - alternative algorithm for calculating individual Feynman diagrams including arbitrary pulse shapes
- for closed systems: to be included in this repository eventually. For a working version see https://github.com/peterarose/ultrafastultrafast
- for open systems: class RKE_DensityMatrices in ufss/RKE_open_core.py
4. Hamiltonian/Liouvillian Generator (HLG) - tool for generating vibronic Hamiltonians and (optionally) Liouvillians from simple parameter inputs
- contained in vibronic_eigenstates sub-directory
## Examples
See README file in the examples subdirectory for more information. Most of the examples are jupyter notebooks.
## Dependencies
This code depends upon the following packages:
numpy, matplotlib, scipy>=1, pyyaml, pyx
Note: as of version 0.2.2, pyfftw is an optional package. If you would like to use it, you must install fftw first, and then use pip to install pyfftw.
## References
If you use UFSS, we request that you cite the following articles, which describe how its components work.
[1] Peter A. Rose and Jacob J. Krich, "Automatic Feynman diagram generation for nonlinear optical spectroscopies and application to fifth-order spectroscopy with pulse overlaps", [J. Chem. Phys. 154, 034109 (2021)](https://doi.org/10.1063/5.0024105)
[2] Peter A. Rose and Jacob J. Krich, "Efficient numerical method for predicting nonlinear optical spectroscopies of open systems", [J. Chem. Phys. 154, 034108 (2021)](https://doi.org/10.1063/5.0024104)
Raw data
{
"_id": null,
"home_page": "https://github.com/peterarose/ufss/",
"name": "ufss",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": null,
"keywords": "nonlinear optical spectroscopy",
"author": "Peter A. Rose and Jacob J. Krich",
"author_email": "peter.rose56@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/66/d5/d4960cde3d1080eef2d49be3b47d471bc7342ddd6bf83d33aa7b5abe5e63/ufss-0.2.3.tar.gz",
"platform": null,
"description": "# Ultrafast Spectroscopy Suite (UFSS)\nCode for simulating nonlinear optical spectroscopies of closed and open systems\n\nUpdated on August 6, 2024 to version 0.2.0. Significant structural chagnes to the code base. Added composite diagrams. Unified UF2 and RKE code where possible, unified UF2 and RKE user interface where possible. Added helper classes for simulating common spectra. Higher-order signals are now easier for the user to calculate. Old code structure available in version 0.1.3.\n\n## Installation instructions\npip install ufss \n\n(Note: ufss is only written for python 3, so you may need to run\npip3 install ufss if pip points to python 2 on your machine) \n\nVisualizing Feynman diagrams requires a TeX distribution\n\n## Taking a test drive in Google's Colaboratory\nTo try ufss without installing or downloading the repository,\nfollow this link to see examples using the Diagram Generator: \nhttps://colab.research.google.com/github/peterarose/ufss/blob/master/examples/DiagramGeneratorExample_Colab.ipynb\n\n(Note: Google's Coloaboratory gives a warning message about running Jupyter\nnotebooks not authored by Google. When prompted by the warning, select\n\"RUN ANYWAY\", and then click \"YES\" when it asks you if you would like to\nreset all runtimes)\n\n## Overview\n\nContains 4 separate modules:\n1. Diagram Generator (DG) - tool for automatically generating all Feynman diagrams for arbitrary order nonlinear optical spectroscopies\n - class DiagramGenerator in ufss/diagram_automation.py\n2. Ultrafast Ultrafast (UF2) - fast algorithm for calculating individual Feynman diagrams including arbitrary pulse shapes\n - for closed systems: class Wavepackets in ufss/UF2_core.py\n - for open systems: class DensityMatrices in ufss/UF2_open_core.py\n3. Runga-Kutta-Euler (RKE) - alternative algorithm for calculating individual Feynman diagrams including arbitrary pulse shapes\n - for closed systems: to be included in this repository eventually. For a working version see https://github.com/peterarose/ultrafastultrafast\n - for open systems: class RKE_DensityMatrices in ufss/RKE_open_core.py\n4. Hamiltonian/Liouvillian Generator (HLG) - tool for generating vibronic Hamiltonians and (optionally) Liouvillians from simple parameter inputs\n - contained in vibronic_eigenstates sub-directory\n\n## Examples\nSee README file in the examples subdirectory for more information. Most of the examples are jupyter notebooks.\n\n## Dependencies \nThis code depends upon the following packages: \nnumpy, matplotlib, scipy>=1, pyyaml, pyx\n\nNote: as of version 0.2.2, pyfftw is an optional package. If you would like to use it, you must install fftw first, and then use pip to install pyfftw.\n\n## References\nIf you use UFSS, we request that you cite the following articles, which describe how its components work.\n\n[1] Peter A. Rose and Jacob J. Krich, \"Automatic Feynman diagram generation for nonlinear optical spectroscopies and application to fifth-order spectroscopy with pulse overlaps\", [J. Chem. Phys. 154, 034109 (2021)](https://doi.org/10.1063/5.0024105)\n\n\n[2] Peter A. Rose and Jacob J. Krich, \"Efficient numerical method for predicting nonlinear optical spectroscopies of open systems\", [J. Chem. Phys. 154, 034108 (2021)](https://doi.org/10.1063/5.0024104)\n",
"bugtrack_url": null,
"license": null,
"summary": "Package for simulating nonlinear optical spectra",
"version": "0.2.3",
"project_urls": {
"Homepage": "https://github.com/peterarose/ufss/"
},
"split_keywords": [
"nonlinear",
"optical",
"spectroscopy"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "66d5d4960cde3d1080eef2d49be3b47d471bc7342ddd6bf83d33aa7b5abe5e63",
"md5": "8beeb0511b789f08e155f4d5472349a1",
"sha256": "06f2174780c0ee1c4644b925494251a8b5682f7cdc5b5ae82a54b04837a76e0a"
},
"downloads": -1,
"filename": "ufss-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "8beeb0511b789f08e155f4d5472349a1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 125491,
"upload_time": "2024-12-06T05:09:15",
"upload_time_iso_8601": "2024-12-06T05:09:15.922209Z",
"url": "https://files.pythonhosted.org/packages/66/d5/d4960cde3d1080eef2d49be3b47d471bc7342ddd6bf83d33aa7b5abe5e63/ufss-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-06 05:09:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "peterarose",
"github_project": "ufss",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "ufss"
}