GithubHelp home page GithubHelp logo

yifanshensz / vibronics Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 2.33 MB

Vibronic spectrum simulation package

License: GNU General Public License v3.0

CMake 8.49% C++ 78.35% Shell 3.06% Fortran 0.23% Python 9.87%

vibronics's Introduction

Vibronics

Vibronic spectrum simulation package

In general, there are a several steps to simulate a vibronic spectrum:

  1. Expand the diabatic electronic Hamiltonian in polynomials of normal modes (this is diabatz's job)
  2. Generate a vibrational basis with tools/vibration
  3. Generate a seed vector with tools/seed
  4. Run vibronics to tridiagonalize the vibronic Hamiltonian
  5. Process the tridiagonal matrix with tools/eig for the spectrum
  6. (optional) Perturbatively add spin-orbit coupling with tools/soc

For details and theories of each module, see into each directories

Theory overview

The time-independent approach to simulate vibronic spectrum is to diagonalize the vibronic Hamiltonian

This program adopts diabatic electronic state and harmonic oscillator direct product vibrational basis, under which framework the vibronic Hamiltonian is written as

H^vibronic = H^harmonic + H^anharmonic

so that H^harmonic is diagonal with harmonic oscillator eigenvalues, while H^anharmonic can be very sparse in usual applications

For integral purpose, the dependency of H^anharmonic on molecular geometry is fitted as a polynomial of normal modes. In usual cases where the polynomial order is low (2nd order + few higher order terms), H^anharmonic is almost a band matrix, making Lanczos algorithm extremely efficient

Cite this work

  1. M. S. Schuurman, R. A. Young, D. Yarkony, Chem. Phys. 2008, 347, 57-64
  2. M. S. Schuurman and D. R. Yarkony, J. Chem. Phys. 2008, 128, 044119
  3. Y. Shen and D. R. Yarkony, J. Phys. Chem. Lett. 2020, 11, 17, 7245โ€“7252

vibronics's People

Contributors

yifanshensz avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

yuchuan-xu

vibronics's Issues

plot 0 for upper state

On NERSC, library/plot/test always gives 0 for upper state, although the lower state is correct

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.