Skip to content

Commit

Permalink
Based ut7 on analytically derived energy&gradient, instead of finite …
Browse files Browse the repository at this point in the history
…difference approximation
  • Loading branch information
Ithanil committed Oct 28, 2019
1 parent 9264edd commit 4eaa8b2
Show file tree
Hide file tree
Showing 4 changed files with 409 additions and 58 deletions.
1 change: 1 addition & 0 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ add_test(ut3 ut3.exe)
add_test(ut4 ut4.exe)
add_test(ut5 ut5.exe)
add_test(ut6 ut6.exe)
add_test(ut7 ut7.exe)
4 changes: 2 additions & 2 deletions test/common/TestVMCFunctions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -269,11 +269,11 @@ class HarmonicOscillator1D1P: public vmc::Hamiltonian

mci::ObservableFunctionInterface * _clone() const final
{
return new HarmonicOscillator1D1P(_w);
return new HarmonicOscillator1D1P(_w, _flag_PBKE);
}

public:
explicit HarmonicOscillator1D1P(const double w): vmc::Hamiltonian(1, 1) { _w = w; }
explicit HarmonicOscillator1D1P(double w, bool flag_PBKE = true): vmc::Hamiltonian(1, 1, flag_PBKE) { _w = w; }
double localPotentialEnergy(const double * r) final
{
return (0.5*_w*_w*(*r)*(*r));
Expand Down
354 changes: 354 additions & 0 deletions test/ut7/curve_results.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,354 @@
[ithanil@arbeitsmilch VMCPlusPlus]$ mpirun -np 4 ./build/test/ut7.exe

Energy (VMC) = 100.061 +- 0.0354256 (rel: 0.000354041)
Energy (ANA) = 100.001
Gradient (VMC) = 4006.2 +- 4.62026 (rel: 0.00115328)
Gradient (ANA) = 3999.97


Energy (VMC) = 25.0127 +- 0.00883689 (rel: 0.000353295)
Energy (ANA) = 25.0025
Gradient (VMC) = 500.129 +- 0.579831 (rel: 0.00115936)
Gradient (ANA) = 499.95


Energy (VMC) = 11.1217 +- 0.00393235 (rel: 0.000353574)
Energy (ANA) = 11.1167
Gradient (VMC) = 148.28 +- 0.173784 (rel: 0.001172)
Gradient (ANA) = 148.073


Energy (VMC) = 6.2625 +- 0.00220858 (rel: 0.000352667)
Energy (ANA) = 6.26
Gradient (VMC) = 62.5121 +- 0.0728466 (rel: 0.00116532)
Gradient (ANA) = 62.4


Energy (VMC) = 4.01635 +- 0.00140905 (rel: 0.000350827)
Energy (ANA) = 4.01562
Gradient (VMC) = 31.8882 +- 0.036766 (rel: 0.00115297)
Gradient (ANA) = 31.875


Energy (VMC) = 2.80113 +- 0.000975895 (rel: 0.000348393)
Energy (ANA) = 2.80028
Gradient (VMC) = 18.388 +- 0.021221 (rel: 0.00115407)
Gradient (ANA) = 18.3685


Energy (VMC) = 2.06989 +- 0.000709342 (rel: 0.000342695)
Energy (ANA) = 2.07144
Gradient (VMC) = 11.4634 +- 0.0133101 (rel: 0.0011611)
Gradient (ANA) = 11.4868


Energy (VMC) = 1.60216 +- 0.000537794 (rel: 0.000335667)
Energy (ANA) = 1.6025
Gradient (VMC) = 7.60471 +- 0.00888919 (rel: 0.00116891)
Gradient (ANA) = 7.6125


Energy (VMC) = 1.2848 +- 0.000418719 (rel: 0.000325903)
Energy (ANA) = 1.28519
Gradient (VMC) = 5.25932 +- 0.00615409 (rel: 0.00117013)
Gradient (ANA) = 5.26197


Energy (VMC) = 1.06256 +- 0.000331823 (rel: 0.000312288)
Energy (ANA) = 1.0625
Gradient (VMC) = 3.74944 +- 0.00441396 (rel: 0.00117723)
Gradient (ANA) = 3.75


Energy (VMC) = 0.901602 +- 0.000265679 (rel: 0.000294675)
Energy (ANA) = 0.902071
Gradient (VMC) = 2.72698 +- 0.00323087 (rel: 0.00118478)
Gradient (ANA) = 2.73026


Energy (VMC) = 0.784762 +- 0.000213586 (rel: 0.000272166)
Energy (ANA) = 0.784444
Gradient (VMC) = 2.01599 +- 0.0024487 (rel: 0.00121464)
Gradient (ANA) = 2.01481


Energy (VMC) = 0.697558 +- 0.000172092 (rel: 0.000246706)
Energy (ANA) = 0.697341
Gradient (VMC) = 1.49686 +- 0.00185036 (rel: 0.00123616)
Gradient (ANA) = 1.49566


Energy (VMC) = 0.632793 +- 0.000137158 (rel: 0.00021675)
Energy (ANA) = 0.632704
Gradient (VMC) = 1.10917 +- 0.00142732 (rel: 0.00128683)
Gradient (ANA) = 1.10773


Energy (VMC) = 0.58529 +- 0.000107633 (rel: 0.000183896)
Energy (ANA) = 0.585069
Gradient (VMC) = 0.811476 +- 0.0011017 (rel: 0.00135765)
Gradient (ANA) = 0.810185


Energy (VMC) = 0.550692 +- 8.16791e-05 (rel: 0.000148321)
Energy (ANA) = 0.550625
Gradient (VMC) = 0.576862 +- 0.000839302 (rel: 0.00145494)
Gradient (ANA) = 0.576562


Energy (VMC) = 0.526698 +- 5.8623e-05 (rel: 0.000111303)
Energy (ANA) = 0.526646
Gradient (VMC) = 0.389606 +- 0.000639076 (rel: 0.00164032)
Gradient (ANA) = 0.389166


Energy (VMC) = 0.511077 +- 3.75454e-05 (rel: 7.34633e-05)
Energy (ANA) = 0.511142
Gradient (VMC) = 0.235761 +- 0.000474858 (rel: 0.00201416)
Gradient (ANA) = 0.235871


Energy (VMC) = 0.506136 +- 2.77047e-05 (rel: 5.47377e-05)
Energy (ANA) = 0.50609
Gradient (VMC) = 0.169592 +- 0.000409157 (rel: 0.00241259)
Gradient (ANA) = 0.169249


Energy (VMC) = 0.502611 +- 1.81662e-05 (rel: 3.61437e-05)
Energy (ANA) = 0.502633
Gradient (VMC) = 0.108113 +- 0.000348658 (rel: 0.00322493)
Gradient (ANA) = 0.108175


Energy (VMC) = 0.501635 +- 1.44248e-05 (rel: 2.87555e-05)
Energy (ANA) = 0.501667
Gradient (VMC) = 0.0850038 +- 0.000332895 (rel: 0.00391624)
Gradient (ANA) = 0.0851403


Energy (VMC) = 0.50094 +- 1.07807e-05 (rel: 2.1521e-05)
Energy (ANA) = 0.500928
Gradient (VMC) = 0.0628734 +- 0.000312782 (rel: 0.00497479)
Gradient (ANA) = 0.0628413


Energy (VMC) = 0.500398 +- 7.13969e-06 (rel: 1.4268e-05)
Energy (ANA) = 0.500408
Gradient (VMC) = 0.0412244 +- 0.000295422 (rel: 0.00716619)
Gradient (ANA) = 0.0412412


Energy (VMC) = 0.500105 +- 3.55297e-06 (rel: 7.10445e-06)
Energy (ANA) = 0.500101
Gradient (VMC) = 0.0203154 +- 0.000280005 (rel: 0.0137829)
Gradient (ANA) = 0.0203051


Energy (VMC) = 0.500098 +- 3.51998e-06 (rel: 7.03859e-06)
Energy (ANA) = 0.500099
Gradient (VMC) = -0.0197293 +- 0.000252537 (rel: 0.0128001)
Gradient (ANA) = -0.0197049


Energy (VMC) = 0.500395 +- 7.0214e-06 (rel: 1.40317e-05)
Energy (ANA) = 0.500392
Gradient (VMC) = -0.0388532 +- 0.000241263 (rel: 0.00620959)
Gradient (ANA) = -0.0388388


Energy (VMC) = 0.500869 +- 1.04659e-05 (rel: 2.08955e-05)
Energy (ANA) = 0.500874
Gradient (VMC) = -0.057472 +- 0.000231771 (rel: 0.00403276)
Gradient (ANA) = -0.0574292


Energy (VMC) = 0.50152 +- 1.39068e-05 (rel: 2.77292e-05)
Energy (ANA) = 0.501539
Gradient (VMC) = -0.075622 +- 0.000222694 (rel: 0.00294483)
Gradient (ANA) = -0.0755018


Energy (VMC) = 0.502349 +- 1.72882e-05 (rel: 3.44147e-05)
Energy (ANA) = 0.502382
Gradient (VMC) = -0.093191 +- 0.000216349 (rel: 0.00232157)
Gradient (ANA) = -0.0930812


Energy (VMC) = 0.505226 +- 2.56429e-05 (rel: 5.07553e-05)
Energy (ANA) = 0.505239
Gradient (VMC) = -0.135033 +- 0.000206516 (rel: 0.00152937)
Gradient (ANA) = -0.13502


Energy (VMC) = 0.509105 +- 3.39343e-05 (rel: 6.66548e-05)
Energy (ANA) = 0.509112
Gradient (VMC) = -0.174445 +- 0.000207487 (rel: 0.00118941)
Gradient (ANA) = -0.174343


Energy (VMC) = 0.533683 +- 6.58382e-05 (rel: 0.000123366)
Energy (ANA) = 0.533611
Gradient (VMC) = -0.310218 +- 0.000260692 (rel: 0.000840349)
Gradient (ANA) = -0.310648


Energy (VMC) = 0.570562 +- 9.6995e-05 (rel: 0.000169999)
Energy (ANA) = 0.570429
Gradient (VMC) = -0.422315 +- 0.000346535 (rel: 0.00082056)
Gradient (ANA) = -0.422417


Energy (VMC) = 0.617707 +- 0.000128237 (rel: 0.000207602)
Energy (ANA) = 0.617551
Gradient (VMC) = -0.517486 +- 0.000423068 (rel: 0.000817545)
Gradient (ANA) = -0.517784


Energy (VMC) = 0.673241 +- 0.000159737 (rel: 0.000237266)
Energy (ANA) = 0.673611
Gradient (VMC) = -0.602823 +- 0.000502654 (rel: 0.000833834)
Gradient (ANA) = -0.601852


Energy (VMC) = 0.737617 +- 0.000191712 (rel: 0.000259907)
Energy (ANA) = 0.737656
Gradient (VMC) = -0.677923 +- 0.000569159 (rel: 0.000839563)
Gradient (ANA) = -0.67793


Energy (VMC) = 0.80885 +- 0.000224867 (rel: 0.000278009)
Energy (ANA) = 0.809005
Gradient (VMC) = -0.74835 +- 0.000630647 (rel: 0.000842716)
Gradient (ANA) = -0.748229


Energy (VMC) = 0.88689 +- 0.000259416 (rel: 0.0002925)
Energy (ANA) = 0.88716
Gradient (VMC) = -0.815141 +- 0.00068844 (rel: 0.000844565)
Gradient (ANA) = -0.814266


Energy (VMC) = 0.972051 +- 0.000294392 (rel: 0.000302856)
Energy (ANA) = 0.971752
Gradient (VMC) = -0.876519 +- 0.00075545 (rel: 0.000861875)
Gradient (ANA) = -0.877103


Energy (VMC) = 1.06247 +- 0.000331878 (rel: 0.000312364)
Energy (ANA) = 1.0625
Gradient (VMC) = -0.937559 +- 0.000796216 (rel: 0.000849244)
Gradient (ANA) = -0.9375


Energy (VMC) = 1.26181 +- 0.000409785 (rel: 0.00032476)
Energy (ANA) = 1.26165
Gradient (VMC) = -1.05305 +- 0.000917248 (rel: 0.000871043)
Gradient (ANA) = -1.05304


Energy (VMC) = 1.48383 +- 0.000494857 (rel: 0.000333499)
Energy (ANA) = 1.4834
Gradient (VMC) = -1.16261 +- 0.00100303 (rel: 0.000862744)
Gradient (ANA) = -1.16383


Energy (VMC) = 1.7274 +- 0.000584116 (rel: 0.000338148)
Energy (ANA) = 1.72698
Gradient (VMC) = -1.26981 +- 0.00111471 (rel: 0.000877856)
Gradient (ANA) = -1.27155


Energy (VMC) = 1.99332 +- 0.000681332 (rel: 0.000341807)
Energy (ANA) = 1.99189
Gradient (VMC) = -1.37628 +- 0.00120175 (rel: 0.000873189)
Gradient (ANA) = -1.37722


Energy (VMC) = 2.27753 +- 0.000786569 (rel: 0.00034536)
Energy (ANA) = 2.27778
Gradient (VMC) = -1.48267 +- 0.00126522 (rel: 0.000853336)
Gradient (ANA) = -1.48148


Energy (VMC) = 2.58321 +- 0.000898032 (rel: 0.000347642)
Energy (ANA) = 2.58441
Gradient (VMC) = -1.58731 +- 0.00138777 (rel: 0.000874287)
Gradient (ANA) = -1.58474


Energy (VMC) = 2.9117 +- 0.00101484 (rel: 0.000348541)
Energy (ANA) = 2.91163
Gradient (VMC) = -1.68746 +- 0.00143489 (rel: 0.000850324)
Gradient (ANA) = -1.68728


Energy (VMC) = 3.2567 +- 0.00113925 (rel: 0.000349818)
Energy (ANA) = 3.25929
Gradient (VMC) = -1.79207 +- 0.0015518 (rel: 0.000865923)
Gradient (ANA) = -1.78928


Energy (VMC) = 3.62914 +- 0.00127102 (rel: 0.000350228)
Energy (ANA) = 3.62731
Gradient (VMC) = -1.88756 +- 0.00166375 (rel: 0.00088143)
Gradient (ANA) = -1.89089


Energy (VMC) = 4.01532 +- 0.00141597 (rel: 0.000352641)
Energy (ANA) = 4.01562
Gradient (VMC) = -1.99353 +- 0.00171515 (rel: 0.000860359)
Gradient (ANA) = -1.99219

Curve results:
p E E_ana E - E_ana |(g-g_ana)/g_ana| |dg/g_ana|
0.05 100.061 100.001 0.0600539 0.00155684 0.00115507
0.1 25.0127 25.0025 0.0102403 0.000357857 0.00115978
0.15 11.1217 11.1167 0.00500067 0.00139904 0.00117364
0.2 6.2625 6.26 0.00250278 0.00179692 0.00116741
0.25 4.01635 4.01562 0.000729039 0.00041407 0.00115344
0.3 2.80113 2.80028 0.00085089 0.00106304 0.00115529
0.35 2.06989 2.07144 0.00155074 0.00203998 0.00115873
0.4 1.60216 1.6025 0.000336633 0.00102286 0.00116771
0.45 1.2848 1.28519 0.000396782 0.000503154 0.00116954
0.5 1.06256 1.0625 5.59041e-05 0.000149902 0.00117706
0.55 0.901602 0.902071 0.000468971 0.00120171 0.00118335
0.6 0.784762 0.784444 0.000317189 0.000582038 0.00121535
0.65 0.697558 0.697341 0.000216631 0.000801413 0.00123715
0.7 0.632793 0.632704 8.88517e-05 0.00130548 0.00128851
0.75 0.58529 0.585069 0.000220631 0.00159326 0.00135982
0.8 0.550692 0.550625 6.67554e-05 0.00051926 0.0014557
0.85 0.526698 0.526646 5.25975e-05 0.00112826 0.00164217
0.9 0.511077 0.511142 6.47814e-05 0.000468173 0.00201321
0.925 0.506136 0.50609 4.58199e-05 0.00202732 0.00241748
0.95 0.502611 0.502633 2.21955e-05 0.000572747 0.00322308
0.96 0.501635 0.501667 3.22002e-05 0.00160374 0.00390996
0.97 0.50094 0.500928 1.17353e-05 0.000509491 0.00497732
0.98 0.500398 0.500408 1.0524e-05 0.000408684 0.00716326
0.99 0.500105 0.500101 4.29887e-06 0.000508833 0.0137899
1.01 0.500098 0.500099 9.62473e-07 0.00123629 0.0128159
1.02 0.500395 0.500392 2.8e-06 0.000370987 0.00621189
1.03 0.500869 0.500874 4.71707e-06 0.000745714 0.00403576
1.04 0.50152 0.501539 1.89801e-05 0.00159114 0.00294951
1.05 0.502349 0.502382 3.30324e-05 0.00117944 0.00232431
1.075 0.505226 0.505239 1.2948e-05 9.69067e-05 0.00152952
1.1 0.509105 0.509112 7.01743e-06 0.000585982 0.00119011
1.2 0.533683 0.533611 7.18998e-05 0.00138378 0.000839186
1.3 0.570562 0.570429 0.000132617 0.000240643 0.000820363
1.4 0.617707 0.617551 0.000156055 0.00057581 0.000817074
1.5 0.673241 0.673611 0.000370313 0.00161319 0.000835179
1.6 0.737617 0.737656 3.95313e-05 9.68644e-06 0.000839555
1.7 0.80885 0.809005 0.000155579 0.000161298 0.000842852
1.8 0.88689 0.88716 0.000270267 0.00107479 0.000845473
1.9 0.972051 0.971752 0.000298767 0.000666198 0.000861301
2 1.06247 1.0625 2.8411e-05 6.31728e-05 0.000849297
2.2 1.26181 1.26165 0.000157965 2.63293e-06 0.000871045
2.4 1.48383 1.4834 0.000431426 0.00105078 0.000861838
2.6 1.7274 1.72698 0.000414244 0.00136899 0.000876654
2.8 1.99332 1.99189 0.00143403 0.000684997 0.000872591
3 2.27753 2.27778 0.000246766 0.000803647 0.000854022
3.2 2.58321 2.58441 0.00120355 0.00162277 0.000875706
3.4 2.9117 2.91163 6.94339e-05 0.00010754 0.000850416
3.6 3.2567 3.25929 0.00259237 0.00155796 0.000867272
3.8 3.62914 3.62731 0.0018235 0.00176141 0.000879877
4 4.01532 4.01562 0.000301635 0.00067328 0.000860938

0 comments on commit 4eaa8b2

Please sign in to comment.