Giter VIP home page Giter VIP logo

aromanro / vqmcmolecule Goto Github PK

View Code? Open in Web Editor NEW
13.0 5.0 4.0 208 KB

Variational Quantum Monte Carlo for a molecule, using Fokker-Planck/Langevin approach

License: GNU General Public License v3.0

C++ 100.00%
computational physics wxwidgets wxwidgets-applications quantum-monte-carlo variational-monte-carlo quantum-mechanics quantum-chemistry quantum-chemistry-methods quantum-chemistry-programs

vqmcmolecule's Introduction

VQMCMolecule

Variational Quantum Monte Carlo for a molecule, using Fokker-Planck/Langevin approach

Codacy Badge CodeFactor

It requires quite a lot of computation power, by default now it will start for 20 threads setting, so be sure if you try it out to have enough computing power.

It works quite well for atoms, better than Hartree-Fock with the same basis set. For molecules, works for diatomic ones.

The refered formulae in the code are here: https://github.com/CompPhysics/ComputationalPhysics2/tree/gh-pages/doc/Literature in Lectures2015.pdf.

There is a description on the Computational Physics Blog: https://compphys.go.ro/variational-quantum-monte-carlo/

PROGRAM IN ACTION

Program video

vqmcmolecule's People

Contributors

aromanro avatar codacy-badger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vqmcmolecule's Issues

Use linear combination of Slater determinants

It probably won't happen, but it's a possible enhancement.

It would require a lot of changes, the computing power requirement will increase a lot...

Instead of a single variational parameter, a lot of them would exist. Better optimization methods could be used, for some of them, look into the DFT Quantum Dot project.

Improve statistics

The current stats are pretty bad, because of autocorrelation. Need to be improved, using binning.

As it is, the code won't find the optimum beta for the more complex cases and also the error estimation is very bad.

Improve combining atomic orbitals

Right now the valence orbitals that are combined for the molecule are not chosen very well. In fact, with certain combinations of atoms the program will crash because not enough orbitals are combined. This should be improved.

Improve generation of 'molecular' orbitals for valence shells

This could probably be done more generally, not only for diatomic molecules.

I added some comments in the code about it. Basically some code from the Hartree-Fock could be reused to compute the overlap matrix for the atomic contracted gaussian orbitals from the valence shells of the atoms. The overlap value could be used to select the pair of orbitals to use to generate norm * (O1 + O2) and norm * (O1 - O2) 'molecular' orbitals to be used in the Slater determinant.

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.