Giter Club home page Giter Club logo

quantumdynamicslab / pes2mp Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 4.13 MB

PES2MP: Get radial coefficients from PES via multipole expansion

Home Page: https://www.iitrpr.ac.in/dhilip/

License: MIT License

Jupyter Notebook 99.41% TeX 0.08% Python 0.30% Shell 0.21%
astrochemistry potential-energy-surface molscat chemical-physics collision computational-chemistry curve-fitting scattering supervised-machine-learning theoretical-chemistry

pes2mp's Introduction

DOI
๐Ÿ“ฌ [email protected]

PES2MP (Potential Energy Surface Mapping to Multipole Expansion Series)

2D and 4D multipole expansion code (using Legendre polynomials and Spherical Harmonics respectively) for fitting Potential Energy Surface (PES) into radial coefficients ($V_\lambda$ / $V_{\lambda1}V_{\lambda2}V_{\lambda}$) are provided as user-friendly jupyter-notebook files.
Both codes (2D/4D) use least squares fit, achieved by taking the pseudo-inverse of Legendre/Spherical-Harmonics coefficients, which are saved as a 2D numpy matrix for future use. The codes are useful while studying collisional ๐Ÿ’ฅ dynamics of one or both species at cold โ„๏ธ and ultracold โ›„ temperatures.

The code is currently limited to rigid rotor - atom (2D) and rigid rotor - rigid rotor (4D) collision. For theoretical details please follow the paper N. Sathyamurthy, โ€œComputational fitting of ab initio potential energy surfaces,โ€ _Comput. Phys. Rep._ 3, 1โ€“69 (1985). link ๐Ÿง

For any queries โœ‰๏ธ Dr. T. J. Dhilip Kumar cc: Apoorv Kushwaha

Installation Instructions:

The makefiles (inside make_scripts folder) are tested on Linux and MacOS. The quick install files do not use conda install (where solving environments can take hours), instead, it uses python -m pip. However, all 4 files create separate environments and can be run without clashing with each other. To understand more read ๐Ÿ

Install Anaconda

  • Install anaconda
  • Open conda prompt

For code 0-1: (requiring PES-Learn library that uses python3.6)

  • run chmod +x install_peslearn_quick.sh (recommended) or chmod +x install_peslearn.sh {See manual for more information}
  • run ./install_peslearn_quick.sh

For code 2-4:

  • run chmod +x install_pes2mp_quick.sh (recommended) or chmod +x install_pes2mp.sh {See manual for more information}
  • run ./install_pes2mp_quick.sh
Running PES2MP:

Running PES2MP

Since the ML model generating library PES-Learn uses python 3.6 separate environments are created to aviod clashes and error. After installing both files (quick or non-quick versions as it suits).

For code 0-1:

  • run conda activate peslearn_quick or peslearn for the conda installed version
  • run jupyter-notebook

For code 2-4:

  • run conda activate pes2mp_quick or pes2mp for the conda installed version
  • run jupyter-notebook

โš ๏ธ The ML generating jupyter files (CODE 0-1) requires python 3.6 and cannot be installed with pyshtools (4D CODE 2 and 3). Use peslearn_quick environment for CODE 0-1 and pes2mp_quick environment for the rest of the codes.

Update History: ### Update 2023.1.0 - ! Upcoming !

Update V2

  • Code 0-1 are for augmenting PES data using ML package PESLearn,
  • Code 2 and 3 are for fitting PES to radial coefficients and vice-versa (to calculate fitting error),
  • Code 4 is a template to fit radial coefficients into molscat readable functions.

V1

  • The original code has been broken into 5 parts (Code_0-4),

  • The old codes published in Supplementary Information (links to articles are provided below) can be accessed via following link.

2D PES (Atom - Rigid Rotor collision):

2D PES (Atom - Rigid Rotor collision)

File 2: CODE_2_PES2MP_2D.ipynb
Uses [scipy.special] for Legendre coefficient

Link: [Link to paper: See Supplementary Information]

# Bibtex citation for 2D code: multipole expansion of 2D Potential Energy Surface
@article{Kushwaha2023Jan,
	author = {Kushwaha, Apoorv and Kumar, Thogluva Janardhanan Dhilip},
	title = {{Benchmarking PES-Learn's machine learning models predicting accurate potential energy surface for quantum scattering}},
	journal = {Int. J. Quantum Chem.},
	volume = {123},
	number = {1},
	pages = {e27007},
	year = {2023},
	month = jan,
	issn = {0020-7608},
	publisher = {John Wiley {\&} Sons, Ltd},
	doi = {10.1002/qua.27007}
}
4D PES (Rigid Rotor - Rigid Rotor collision):

4D PES (Two Rigid Rotors)

Uses [pyshtools] for calculating spherical harmonics (need separate installation: Instructions are provided in jupyter-notebook file)

File 2: CODE_2_PES2MP_4D.ipynb

Link: [Link to paper: See Supplementary Information]

# Article citation for 4D code: multipole expansion of 4D Potential Energy Surface
@article{Kushwaha2023Aug,
	author = {Kushwaha, Apoorv and Dhilip Kumar, T. J.},
	title = {{4D potential energy surface of NCCN{\textendash}H2 collision: Rotational dynamics by p-H2 and o-H2 at interstellar temperatures}},
	journal = {J. Chem. Phys.},
	volume = {159},
	number = {7},
	year = {2023},
	month = aug,
	issn = {0021-9606},
	publisher = {AIP Publishing},
	doi = {10.1063/5.0161335}
}

Manual: ๐Ÿ“– Upcoming !

- Under Preparation

pes2mp's People

Contributors

apoorv-kushwaha avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.