From 92a5671cd0c0d429d5d23554d1829c26d306bc27 Mon Sep 17 00:00:00 2001 From: Ravindra Shinde Date: Tue, 3 Sep 2024 09:15:09 +0200 Subject: [PATCH] 3-body Jastrow test added (#294) --- .../VMC_TREXIO_H2O_3body_jastrow_water.sh | 12 +++++++++++ .../jastrow_3body.jas | 9 ++++++++ .../pool/ccECP.gauss_ecp.dat.H | 9 ++++++++ .../pool/ccECP.gauss_ecp.dat.O | 8 +++++++ .../VMC-TREXIO-H2O-3body-Jastrow/single.det | 15 +++++++++++++ .../VMC-TREXIO-H2O-3body-Jastrow/vmc.inp | 20 ++++++++++++++++++ .../water_c2v_LDA.hdf5 | Bin 0 -> 63592 bytes 7 files changed, 73 insertions(+) create mode 100755 tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/VMC_TREXIO_H2O_3body_jastrow_water.sh create mode 100644 tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/jastrow_3body.jas create mode 100644 tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/pool/ccECP.gauss_ecp.dat.H create mode 100644 tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/pool/ccECP.gauss_ecp.dat.O create mode 100644 tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/single.det create mode 100644 tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/vmc.inp create mode 100644 tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/water_c2v_LDA.hdf5 diff --git a/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/VMC_TREXIO_H2O_3body_jastrow_water.sh b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/VMC_TREXIO_H2O_3body_jastrow_water.sh new file mode 100755 index 00000000..07452dad --- /dev/null +++ b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/VMC_TREXIO_H2O_3body_jastrow_water.sh @@ -0,0 +1,12 @@ +echo "TREXIO water 3body Jastrow" + +input="vmc.inp" +output="vmc_3body" + +# Multicore test +N=2 +ReferenceEnergy=-17.2269659 +ReferenceError=0.0016067 +mpirun -np $N ../../../bin/vmc.mov1 -i ${input} -o ${output}_core_${N}.out -e error +echo "Comparing energy with reference Core=${N} (total E = $ReferenceEnergy +- $ReferenceError ) " +../../../tools/compare_value.py ${output}_core_${N}.out "total E" $ReferenceEnergy $ReferenceError diff --git a/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/jastrow_3body.jas b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/jastrow_3body.jas new file mode 100644 index 00000000..79de2c4c --- /dev/null +++ b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/jastrow_3body.jas @@ -0,0 +1,9 @@ +jastrow_parameter 1 + 5 5 5 norda,nordb,nordc +0.4 0.0 scalek a21 +0. 0. -4.730090305534E-02 -0.396897598319 -0.159437822975 9.708712655798E-02 (a(iparmj),iparmj=1,nparma) +0. 0. -1.799730417040E-02 0.134738007823 -0.112317815798 8.510888256315E-03 (a(iparmj),iparmj=1,nparma) +0.500000000000 0.946548937514 0.149132774876 -0.132156435317 9.053314515581E-02 -1.728006822161E-02 (b(iparmj),iparmj=1,nparmb) +1.69202811660 1.24656170850 -1.88213809691 3.91512631662 -0.743838508334 -8.64443822088 -3.45929875267 7.94536776357 -0.617594991576 -7.28154417029 -3.20829812008 10.1065053694 2.84682886326 3.11253608381 -1.82059538913 -4.12168239496 -2.73374637202 7.97866751721 2.63741371261 0.589927732147 -3.22734144476 -3.43776654324 -0.805248495319 (c(iparmj),iparmj=1,nparmc) +-0.184402482938 -2.24997275301 -1.73421689881 0.472513797867 1.54643138671 6.06904433460 3.29714804065 1.00667381009 -3.97339434983 -1.90821969292 2.48432116561 -1.92995303583 -5.13867842975 -1.55965196034 -3.12079269533 4.42562466029 3.87653442445 -4.16458516079 0.111329001065 -3.79462067595 3.68329167488 0.667608476506 1.96643077097 (c(iparmj),iparmj=1,nparmc) +end diff --git a/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/pool/ccECP.gauss_ecp.dat.H b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/pool/ccECP.gauss_ecp.dat.H new file mode 100644 index 00000000..2a8f9c2b --- /dev/null +++ b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/pool/ccECP.gauss_ecp.dat.H @@ -0,0 +1,9 @@ +ccECP H pseudo +2 +3 +1.00000000000000 1 21.24359508259891 +21.24359508259891 3 21.24359508259891 +-10.85192405303825 2 21.77696655044365 +1 +0.00000000000000 2 1.000000000000000 + diff --git a/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/pool/ccECP.gauss_ecp.dat.O b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/pool/ccECP.gauss_ecp.dat.O new file mode 100644 index 00000000..b38f8a9f --- /dev/null +++ b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/pool/ccECP.gauss_ecp.dat.O @@ -0,0 +1,8 @@ +ccECP O pseudo +2 +3 + 6.000000 1 12.30997 + 73.85984 3 14.76962 +-47.87600 2 13.71419 +1 +85.86406 2 13.65512 diff --git a/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/single.det b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/single.det new file mode 100644 index 00000000..0aae89da --- /dev/null +++ b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/single.det @@ -0,0 +1,15 @@ +# Determinants, CSF, and CSF mapping from the GAMESS output / TREXIO file. +# Converted from the trexio file using trex2champ converter https://github.com/TREX-CoE/trexio_tools +determinants 1 1 +-1.00000000 + 1 2 3 4 1 2 3 4 +end +csf 1 1 +1.00000000 +end +csfmap +1 1 1 +1 + 1 -1.000000 +end + diff --git a/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/vmc.inp b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/vmc.inp new file mode 100644 index 00000000..f0c6decb --- /dev/null +++ b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/vmc.inp @@ -0,0 +1,20 @@ +%module general + title 'H2O VMC energy-only calculation with 3-body Jastrow' + pool './pool/' + mode vmc_one_mpi + pseudopot ccECP +%endmodule + + +# Get all the input data +load trexio water_c2v_LDA.hdf5 +load jastrow jastrow_3body.jas +load determinants single.det + +%module blocking_vmc + vmc_nstep 60 + vmc_nblk 1000 + vmc_nblkeq 2 + vmc_nconf_new 0 +%endmodule + diff --git a/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/water_c2v_LDA.hdf5 b/tests/CI_test/VMC-TREXIO-H2O-3body-Jastrow/water_c2v_LDA.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..38e5852196022fd77001f400d363415f2b9b58d4 GIT binary patch literal 63592 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