10 KiB
Jastrow factors¶
H2O¶
onedet = "Jastrows/H2O/H2O-cc-pcvTz.wfj-1det_J2.ud_exp.dat"
os = 1.-7.92535494e-01
multidet = "Jastrows/H2O/H2O-cc-pcvTz-multidet.wfj_J2.ud_exp.dat"
ms = 1.-8.59001137e-01
onedet_H = "Jastrows/H2O/H2O-cc-pcvTz.wfj-1det_J1.H_exp.dat"
ohs = 1.-1.03221118e+00
onedet_O = "Jastrows/H2O/H2O-cc-pcvTz.wfj-1det_J1.O_exp.dat"
oos = 1.-1.43887500e+00
#onedet = "Jastrows/N2H4/N2H4-tr6.wfj_J2.ud_exp.dat"
#os = 1.-8.03464242e-01
set yrange [1:1.4]
set xrange [0:3]
set grid
set xlabel "r_{12} (a.u.)"
set format y "%.2f"
set format x "%.1f"
set key bottom right
plot onedet u 1:($2+os) w l title "HF"\
, multidet u 1:($2+ms) w l title "FCI"
set yrange [0:1]
plot onedet_O u 1:($2+oos) w l title "O"\
, onedet_H u 1:($2+ohs) w l title "H"
f1(x) = exp(a_1 * x/(1. + b_1*x))
f2(x) = exp(a_2 * x/(1. + b_2*x))
f3(x) = exp(a_3 * x**2+b_3)
f4(x) = exp(a_4 * x**2+b_4)
a_1 = 0.5
a_2 = 0.5
a_3 = 0.5
a_4 = 0.5
b_1 = 1.
b_2 = 1.
b_3 = 1.
b_4 = 1.
fit f1(x) onedet u 1:($2+os) via b_1
fit f2(x) multidet u 1:($2+ms) via b_2
fit [0:1] f3(x) onedet_O u 1:($2+oos) via a_3, b_3
fit [0:1] f4(x) onedet_H u 1:($2+ohs) via a_4, b_4
set xrange [0:3]
set yrange [1.:1.3]
set grid
set xlabel "r_{12} (a.u.)"
set format y "%.2f"
set format x "%.1f"
set key bottom right
plot onedet u 1:($2+os) w l title "HF"\
, multidet u 1:($2+ms) w l title "FCI"\
, f1(x) title "exp(- 0.5 r_{12} / (1. + 1.93 r_{12}))"\
, f2(x) title "exp(- 0.5 r_{12} / (1. + 3.99 r_{12}))"
set xrange [0:1]
set yrange [0.6:1.]
set grid
set xlabel "r_{12} (a.u.)"
set format y "%.2f"
set format x "%.1f"
set key bottom right
plot onedet_O u 1:($2+oos) w l title "O"\
, onedet_H u 1:($2+ohs) w l title "H"\
, f3(x) title "exp(- 0.5 r_{12} / (1. + 1.93 r_{12}))"\
, f4(x) title "exp(- 0.5 r_{12} / (1. + 3.99 r_{12}))"
#set term pdf font "Times,15pt"
#set output "jastrow_h2o.pdf"
Range-separated Coulomb operator¶
w(x) = 1./x
w_lr(mu,x) = erf(mu*x)/x
w_sr(mu,x) = w(x) - w_lr(mu,x)
set xrange [0:4]
set yrange [0:3]
set key top right
plot w(x) title '1/r_{12}',\
w_lr(0.5,x) title '{/Symbol m}=0.5' ls 2,\
w_sr(0.5,x) notitle ls 2, \
w_lr(1.0,x) title '{/Symbol m}=1.0' ls 4,\
w_sr(1.0,x) notitle ls 4
DMC Energies¶
Single-determinant¶
data = "Jastrows/data_dmc"
set key top right
set xrange [0:7.5]
set xlabel "{/Symbol m} (a.u.)"
set ylabel "Energy (a.u.)"
set format y "%.4f"
set yrange [-76.4115:-76.4095]
plot data index 0 u 1:5:6 w errorlines title "1 det / cc-pVDZ"
set yrange [-76.4215:-76.4195]
plot data index 1 u 1:5:6 w errorlines title "1 det / cc-pVTZ"
set yrange [-76.4232:-76.4212]
plot data index 2 u 1:5:6 w errorlines title "1 det / cc-pVQZ"
Multi-determinant¶
data = "Jastrows/data_dmc"
set key top right
set xrange [0:7.5]
set xlabel "{/Symbol m} (a.u.)"
set ylabel "Energy (a.u.)"
set format y "%.3f"
set yrange [-76.44:-76.405]
plot data index 0 u 1:7:8 w errorlines title "CIPSI / cc-pVDZ", \
data index 1 u 1:7:8 w errorlines title "CIPSI / cc-pVTZ", \
data index 2 u 1:7:8 w errorlines title "CIPSI / cc-pVQZ"
Fit $\mu$¶
$\Psi(r_1,\dots,r_N)$ is a CI trial wave function: $$ |\Psi \rangle = \sum_{I \in \mathcal{B}} c_I |I\rangle $$ When running a FN-DMC calculation, the fixed-node wave function can be written as $\Phi(r_1,\dots,r_N) = \Psi(r_1,\dots,r_N)\times w(r_1,\dots,r_N)$, where $w$ is a positive function, such that $$ E = \min_w \frac{ \langle w \Psi | H | \Psi \rangle } {\langle w \Psi | \Psi \rangle} $$
We want to find the change in the potential that would model the effect of the FN-DMC. This corresponds to removing some short-range potential:
$$ \frac{ \langle w \Psi | V_{ee} | w \Psi \rangle } {\langle w \Psi | w \Psi \rangle} = \frac{ \langle \Psi | V_{ee} - \delta V_{ee} | \Psi \rangle } {\langle \Psi | \Psi \rangle} $$where
$$ V_{ee} = \frac{1}{r_{12}} $$and $$ \delta V_{ee} = \alpha \left( \frac{1}{r_{12}} - \frac{\text{erf}( \mu r_{12})}{r_{12}} \right). $$
$$ \frac{ \langle w \Psi | V_{ee} | w \Psi \rangle } {\langle w \Psi | w \Psi \rangle} = \frac{ \langle \Psi | V_{ee} | \Psi \rangle } {\langle \Psi | \Psi \rangle} - \alpha \frac{ \langle \Psi | V_{ee} | \Psi \rangle } {\langle \Psi | \Psi \rangle} + \alpha \frac{ \langle \Psi | V_{ee}^{lr} | \Psi \rangle } {\langle \Psi | \Psi \rangle} $$$$ \frac{\langle \Psi | w^2 V_{ee} | \Psi \rangle} {\langle w \Psi | w \Psi \rangle} = (1-\alpha) \langle \Psi | V_{ee} | \Psi \rangle + \alpha \langle \Psi | V_{ee}^{lr} | \Psi \rangle $$To find the parameter $\mu$, we minimize $$ \int \left|a\, \text{erf}(\mu\,r_{12}) + b - w(r_{12})^2 \right|^2 \text{d}r_{12} $$
set yrange [1:1.3]
set xrange [0:3]
set grid
set xlabel "r_{12} (a.u.)"
set format y "%.2f"
set format x "%.1f"
set key bottom right
f(x) = (a * (erf(mu*x)) +b)
mu = 2.
b=1.
a = 1.
fit f(x) multidet u 1:( ($2+ms)**2 ) via a, b, mu
plot f(x), multidet u 1:( ($2+ms)**2) title "{/Symbol m}=3.05" w l
set yrange [1:1.7]
set xrange [0:2.5]
set grid
set xlabel "r_{12} (a.u.)"
set format y "%.2f"
set format x "%.1f"
set key bottom right
f(x) = (a * (erf(mu*x)) +b)
mu = 2.
b=1.
a = 1.
fit f(x) onedet u 1:( ($2+os)**2) via a, b, mu
plot f(x), onedet u 1:( ($2+os)**2 ) title "{/Symbol m}=0.94" w l