Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding path integral Monte Carlo and path integral molecular dynamics #268

Open
amartyabose opened this issue Oct 26, 2021 · 2 comments
Open

Comments

@amartyabose
Copy link

This issue is to discuss the possibility of adding path integral methods to the already existing classical MD / MC framework. Quantum-classical isomorphism enables mapping of the thermodynamics of a quantum system to the thermodynamics of a classical system comprising of multiple copies of the original system connected by harmonic springs. Path integral molecular dynamics (PIMD) and path integral Monte Carlo (PIMC) are ways of accounting for the quantum nature of particles in simulations of thermodynamics. While both PIMD and PIMC solve the same problem, PIMC is possibly more general and can also easily deal with identical particles like bosons and fermions. Here is a short introduction to PIMC:
https://courses.physics.illinois.edu/phys466/sp2013/lnotes/pimcnotes.pdf

Much like in i-PI, subsequent steps may be taken to incorporate approximate classical trajectory-based dynamics in the form of centroid and ring-polymer molecular dynamics as well.

@Luthaf
Copy link
Member

Luthaf commented Oct 27, 2021

Thanks for opening this issue! I don't know much about how PIMD/PIMC are usually implemented. For example with PIMD, using 10 beads per atom you are in practice running 10 simulations in parallel, where each atom interact with all other atoms in the same simulation & its "neighbors" in the bead polymer ring, is this right?

The best way to implement this might then be to have a new propagator, re-using bits and pieces of the MD propagator.

You mentioned on gitter being interested to contribute this kind of simulation to lumol, are you already familiar with the internals? If not, we can have a quick video chat one of these days and go over them quickly.

@amartyabose
Copy link
Author

Well, you have got the basic idea. Now the actual question is how best to implement it. Does one have the 10 different simulations running in "parallel" (as you say) and communicate the forces due to the "springs" between each other? Or does one break the entire physical domain up and parallelize across that, keeping all the different copies of the same atom together?

I am not at all familiar with the internals. I just started poking around and then got caught up in a few things. I would be more free next week. We should do a video chat then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants