mirror of
https://github.com/TREX-CoE/qmc-lttc.git
synced 2024-09-16 17:55:31 +02:00
Rewrite DMC
This commit is contained in:
parent
d3d1e84680
commit
f40a737b96
66
QMC.org
66
QMC.org
@ -2153,6 +2153,15 @@ gfortran hydrogen.f90 qmc_stats.f90 vmc_metropolis.f90 -o vmc_metropolis
|
|||||||
|
|
||||||
* Diffusion Monte Carlo :solution:
|
* Diffusion Monte Carlo :solution:
|
||||||
|
|
||||||
|
As we have seen, Variational Monte Carlo is a powerful method to
|
||||||
|
compute integrals in large dimensions. It is often used in cases
|
||||||
|
where the expression of the wave function is such that the integrals
|
||||||
|
can't be evaluated (multi-centered Slater-type orbitals, correlation
|
||||||
|
factors, etc).
|
||||||
|
|
||||||
|
Diffusion Monte Carlo is different. It goes beyond the computation
|
||||||
|
of the integrals associated with an input wave function, and aims at
|
||||||
|
finding a near-exact numerical solution to the Schrödinger equation.
|
||||||
|
|
||||||
** Schrödinger equation in imaginary time
|
** Schrödinger equation in imaginary time
|
||||||
|
|
||||||
@ -2198,51 +2207,36 @@ gfortran hydrogen.f90 qmc_stats.f90 vmc_metropolis.f90 -o vmc_metropolis
|
|||||||
imaginary time will converge to the exact ground state of the
|
imaginary time will converge to the exact ground state of the
|
||||||
system.
|
system.
|
||||||
|
|
||||||
** Diffusion and branching
|
** Relation to diffusion
|
||||||
|
|
||||||
The imaginary-time Schrödinger equation can be explicitly written in terms of the kinetic and
|
The [[https://en.wikipedia.org/wiki/Diffusion_equation][diffusion equation]] of particles is given by
|
||||||
potential energies as
|
|
||||||
|
|
||||||
\[
|
\[
|
||||||
\frac{\partial \psi(\mathbf{r}, \tau)}{\partial \tau} = \left(\frac{1}{2}\Delta - [V(\mathbf{r}) -E_{\rm ref}]\right) \psi(\mathbf{r}, \tau)\,.
|
\frac{\partial \psi(\mathbf{r},t)}{\partial t} = D\, \Delta \psi(\mathbf{r},t)
|
||||||
\]
|
\]
|
||||||
|
|
||||||
We can simulate this differential equation as a diffusion-branching process.
|
where $D$ is the diffusion coefficient. When the imaginary-time
|
||||||
|
Schrödinger equation is written in terms of the kinetic energy and
|
||||||
|
potential,
|
||||||
To see this, recall that the [[https://en.wikipedia.org/wiki/Diffusion_equation][diffusion equation]] of particles is given by
|
|
||||||
|
|
||||||
\[
|
\[
|
||||||
\frac{\partial \psi(\mathbf{r},t)}{\partial t} = D\, \Delta \psi(\mathbf{r},t).
|
\frac{\partial \psi(\mathbf{r}, \tau)}{\partial \tau} =
|
||||||
|
\left(\frac{1}{2}\Delta - [V(\mathbf{r}) -E_{\rm ref}]\right) \psi(\mathbf{r}, \tau)\,,
|
||||||
\]
|
\]
|
||||||
|
|
||||||
Furthermore, the [[https://en.wikipedia.org/wiki/Reaction_rate][rate of reaction]] $v$ is the speed at which a chemical reaction
|
it can be identified as the combination of:
|
||||||
takes place. In a solution, the rate is given as a function of the
|
- a diffusion equation (Laplacian)
|
||||||
concentration $[A]$ by
|
- an equation whose solution is an exponential (potential)
|
||||||
|
|
||||||
\[
|
|
||||||
v = \frac{d[A]}{dt},
|
|
||||||
\]
|
|
||||||
|
|
||||||
where the concentration $[A]$ is proportional to the number of particles.
|
|
||||||
|
|
||||||
These two equations allow us to interpret the Schrödinger equation
|
|
||||||
in imaginary time as the combination of:
|
|
||||||
- a diffusion equation with a diffusion coefficient $D=1/2$ for the
|
|
||||||
kinetic energy, and
|
|
||||||
- a rate equation for the potential.
|
|
||||||
|
|
||||||
The diffusion equation can be simulated by a Brownian motion:
|
The diffusion equation can be simulated by a Brownian motion:
|
||||||
|
|
||||||
\[ \mathbf{r}_{n+1} = \mathbf{r}_{n} + \sqrt{\delta t}\, \chi \]
|
\[ \mathbf{r}_{n+1} = \mathbf{r}_{n} + \sqrt{\delta t}\, \chi \]
|
||||||
|
|
||||||
where $\chi$ is a Gaussian random variable, and the rate equation
|
where $\chi$ is a Gaussian random variable, and the potential term
|
||||||
can be simulated by creating or destroying particles over time (a
|
can be simulated by creating or destroying particles over time (a
|
||||||
so-called branching process).
|
so-called branching process) or by simply considering it as a
|
||||||
|
cumulative multiplicative weight along the diffusion trajectory.
|
||||||
|
|
||||||
In /Diffusion Monte Carlo/ (DMC), one onbtains the ground state of a
|
|
||||||
system by simulating the Schrödinger equation in imaginary time via
|
|
||||||
the combination of a diffusion process and a branching process.
|
|
||||||
|
|
||||||
We note that the ground-state wave function of a Fermionic system is
|
We note that the ground-state wave function of a Fermionic system is
|
||||||
antisymmetric and changes sign. Therefore, its interpretation as a probability
|
antisymmetric and changes sign. Therefore, its interpretation as a probability
|
||||||
@ -2253,17 +2247,17 @@ gfortran hydrogen.f90 qmc_stats.f90 vmc_metropolis.f90 -o vmc_metropolis
|
|||||||
For the systems you will study, this is not an issue:
|
For the systems you will study, this is not an issue:
|
||||||
|
|
||||||
- Hydrogen atom: You only have one electron!
|
- Hydrogen atom: You only have one electron!
|
||||||
- Two-electron system ($H_2$ or He): The ground-wave function is antisymmetric in the spin variables but symmetric in the space ones.
|
- Two-electron system ($H_2$ or He): The ground-wave function is
|
||||||
|
antisymmetric in the spin variables but symmetric in the space ones.
|
||||||
|
|
||||||
Therefore, in both cases, you are dealing with a "Bosonic" ground state.
|
Therefore, in both cases, you are dealing with a "Bosonic" ground state.
|
||||||
|
|
||||||
** Importance sampling
|
** Importance sampling
|
||||||
|
|
||||||
In a molecular system, the potential is far from being constant
|
In a molecular system, the potential is far from being constant
|
||||||
and, in fact, diverges at the inter-particle coalescence points. Hence, when the
|
and, in fact, diverges at the inter-particle coalescence points. Hence,
|
||||||
rate equation is simulated, it results in very large fluctuations
|
it results in very large fluctuations of the term associated with
|
||||||
in the numbers of particles, making the calculations impossible in
|
the potental, making the calculations impossible in practice.
|
||||||
practice.
|
|
||||||
Fortunately, if we multiply the Schrödinger equation by a chosen
|
Fortunately, if we multiply the Schrödinger equation by a chosen
|
||||||
/trial wave function/ $\Psi_T(\mathbf{r})$ (Hartree-Fock, Kohn-Sham
|
/trial wave function/ $\Psi_T(\mathbf{r})$ (Hartree-Fock, Kohn-Sham
|
||||||
determinant, CI wave function, /etc/), one obtains
|
determinant, CI wave function, /etc/), one obtains
|
||||||
@ -2285,8 +2279,8 @@ gfortran hydrogen.f90 qmc_stats.f90 vmc_metropolis.f90 -o vmc_metropolis
|
|||||||
The new "kinetic energy" can be simulated by the drift-diffusion
|
The new "kinetic energy" can be simulated by the drift-diffusion
|
||||||
scheme presented in the previous section (VMC).
|
scheme presented in the previous section (VMC).
|
||||||
The new "potential" is the local energy, which has smaller fluctuations
|
The new "potential" is the local energy, which has smaller fluctuations
|
||||||
when $\Psi_T$ gets closer to the exact wave function. This term can be simulated by
|
when $\Psi_T$ gets closer to the exact wave function.
|
||||||
changing the number of particles according to $\exp\left[ -\delta t\,
|
This term can be simulated by t particles according to $\exp\left[ -\delta t\,
|
||||||
\left(E_L(\mathbf{r}) - E_{\rm ref}\right)\right]$
|
\left(E_L(\mathbf{r}) - E_{\rm ref}\right)\right]$
|
||||||
where $E_{\rm ref}$ is the constant we had introduced above, which is adjusted to
|
where $E_{\rm ref}$ is the constant we had introduced above, which is adjusted to
|
||||||
the running average energy to keep the number of particles
|
the running average energy to keep the number of particles
|
||||||
|
Loading…
Reference in New Issue
Block a user