Skip to content

Commit

Permalink
Merge pull request #1690 from Hyeondeok-Shin/develop
Browse files Browse the repository at this point in the history
Add deterministic tests for excited state promotion
  • Loading branch information
prckent authored Jul 2, 2019
2 parents 68152fc + 1dfad35 commit 1211c56
Show file tree
Hide file tree
Showing 6 changed files with 606 additions and 0 deletions.
89 changes: 89 additions & 0 deletions tests/solids/diamondC_1x1x1_pp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,52 @@ ENDIF()
0 DET_DIAMOND_SCALARS # VMC
)

IF(QMC_MIXED_PRECISION)
IF(QMC_COMPLEX)
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "totenergy" "-9.41183124 0.00002215")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "kinetic" "12.45901380 0.00002646")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "potential" "-21.87084504 0.00000661")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "eeenergy" "-2.52408475 0.00000199")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "ionion" "-12.77566744 0.00000265")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "localecp" "-6.28771209 0.00000658")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "nonlocalecp" "-0.28338076 0.00000788")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "mpc" "-2.25993371 0.0000041")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "samples" "9 0.0")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "flux" "-14.97660158 0.00009664")
ELSE()
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "totenergy" "-9.41183124 0.00001842")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "kinetic" "12.45901380 0.00001793")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "potential" "-21.87084504 0.00000737")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "eeenergy" "-2.52408475 0.00000242")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "ionion" "-12.77566744 0.00000265")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "localecp" "-6.28771209 0.00001011")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "nonlocalecp" "-0.28338076 0.00000583")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "mpc" "-2.25993371 0.00000312")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "samples" "9 0.0")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "flux" "-14.97660158 0.00004515")
ENDIF()
ELSE()
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "totenergy" "-9.41183124 0.000001")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "kinetic" "12.45901380 0.000001")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "potential" "-21.87084504 0.000001")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "eeenergy" "-2.52408475 0.000001")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "ionion" "-12.77566744 0.000001")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "localecp" "-6.28771209 0.000001")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "nonlocalecp" "-0.28338076 0.000001")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "mpc" "-2.25993371 0.000001")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "samples" "9 0.0")
LIST(APPEND DET_DIAMOND_EXCITED_SCALARS "flux" "-14.97660158 0.000001")
ENDIF()

QMC_RUN_AND_CHECK(deterministic-diamondC_1x1x1_pp-vmc_sdj_excited
"${CMAKE_SOURCE_DIR}/tests/solids/diamondC_1x1x1_pp"
det_qmc_short_excited
det_qmc_short_excited.in.xml
1 1
TRUE
0 DET_DIAMOND_EXCITED_SCALARS # VMC
)

IF(QMC_MIXED_PRECISION)
IF(QMC_COMPLEX)
LIST(APPEND DET_DIAMOND_MESHF_SCALARS "totenergy" "-10.65617656 0.00024683")
Expand Down Expand Up @@ -595,3 +641,46 @@ ENDIF()
TRUE
1 DET_DIAMOND_DMC_SCALARS # DMC
)

IF(QMC_MIXED_PRECISION)
IF(QMC_COMPLEX)
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "totenergy" "-9.53268995 0.00001161")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "kinetic" "10.18368235 0.00001792")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "potential" "-19.71637230 0.0000074")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "eeenergy" "-2.38849743 0.0000032")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "ionion" "-12.77566744 0.00000265")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "localecp" "-4.96629755 0.0000081")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "nonlocalecp" "0.41409012 0.00000158")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "mpc" "-2.00358802 0.0000054")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "samples" "9 0.0")
ELSE()
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "totenergy" "-9.53268995 0.0002301")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "kinetic" "10.18368235 0.00002106")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "potential" "-19.71637230 0.00000737")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "eeenergy" "-2.38849743 0.0000032")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "ionion" "-12.77566744 0.00000265")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "localecp" "-4.96629755 0.00000809")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "nonlocalecp" "0.41409012 0.0000016")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "mpc" "-2.00358802 0.0000054")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "samples" "9 0.0")
ENDIF()
ELSE()
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "totenergy" "-9.53268995 0.000001")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "kinetic" "10.18368235 0.000001")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "potential" "-19.71637230 0.000001")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "eeenergy" "-2.38849743 0.000001")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "ionion" "-12.77566744 0.000001")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "localecp" "-4.96629755 0.000001")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "nonlocalecp" "0.41409012 0.000001")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "mpc" "-2.00358802 0.000001")
LIST(APPEND DET_DIAMOND_DMC_EXCITED_SCALARS "samples" "9 0.0")
ENDIF()

QMC_RUN_AND_CHECK(deterministic-diamondC_1x1x1_pp-dmc_sdj_excited
"${CMAKE_SOURCE_DIR}/tests/solids/diamondC_1x1x1_pp"
det_qmc_short_vmc_dmc_excited
det_qmc_short_vmc_dmc_excited.in.xml
1 1
TRUE
1 DET_DIAMOND_DMC_EXCITED_SCALARS # DMC
)
96 changes: 96 additions & 0 deletions tests/solids/diamondC_1x1x1_pp/det_qmc_short_excited.in.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?xml version="1.0"?>
<simulation>
<project id="det_qmc_short_excited" series="0">
<application name="qmcapp" role="molecu" class="serial" version="1.0"/>
</project>
<random seed="17"/>
<qmcsystem>
<simulationcell>
<parameter name="lattice" units="bohr">
3.37316115 3.37316115 0.00000000
0.00000000 3.37316115 3.37316115
3.37316115 0.00000000 3.37316115
</parameter>
<parameter name="bconds">
p p p
</parameter>
<parameter name="LR_dim_cutoff" > 15 </parameter>
</simulationcell>
<particleset name="e" random="yes">
<group name="u" size="4" mass="1.0">
<parameter name="charge" > -1 </parameter>
<parameter name="mass" > 1.0 </parameter>
</group>
<group name="d" size="4" mass="1.0">
<parameter name="charge" > -1 </parameter>
<parameter name="mass" > 1.0 </parameter>
</group>
</particleset>
<particleset name="ion0">
<group name="C" size="2" mass="21894.7135906">
<parameter name="charge" > 4 </parameter>
<parameter name="valence" > 4 </parameter>
<parameter name="atomicnumber" > 6 </parameter>
<parameter name="mass" > 21894.7135906 </parameter>
<attrib name="position" datatype="posArray" condition="0">
0.00000000 0.00000000 0.00000000
1.68658058 1.68658058 1.68658058
</attrib>
</group>
</particleset>
<wavefunction name="psi0" target="e">
<determinantset type="einspline" href="pwscf.pwscf.h5" tilematrix="1 0 0 0 1 0 0 0 1" twistnum="0" source="ion0" meshfactor="1.0" precision="double">
<slaterdeterminant>
<determinant id="updet" size="4">
<occupation mode="excited" spindataset="0">
-4 5
</occupation>
</determinant>
<determinant id="downdet" size="4">
<occupation mode="ground" spindataset="0"/>
</determinant>
</slaterdeterminant>
</determinantset>
<jastrow type="One-Body" name="J1" function="bspline" source="ion0" print="yes">
<correlation elementType="C" size="8" cusp="0.0">
<coefficients id="eC" type="Array">
-0.2032153051 -0.1625595974 -0.143124599 -0.1216434956 -0.09919771951 -0.07111729038
-0.04445345869 -0.02135082917
</coefficients>
</correlation>
</jastrow>
<jastrow type="Two-Body" name="J2" function="bspline" print="yes">
<correlation speciesA="u" speciesB="u" size="8">
<coefficients id="uu" type="Array">
0.2797730287 0.2172604155 0.1656172964 0.1216984261 0.083995349 0.05302065936
0.02915953995 0.0122402581
</coefficients>
</correlation>
<correlation speciesA="u" speciesB="d" size="8">
<coefficients id="ud" type="Array">
0.4631099906 0.356399124 0.2587895287 0.1829298509 0.1233653291 0.07714708174
0.04145899033 0.01690645936
</coefficients>
</correlation>
</jastrow>
</wavefunction>
<hamiltonian name="h0" type="generic" target="e">
<pairpot type="coulomb" name="ElecElec" source="e" target="e"/>
<pairpot type="coulomb" name="IonIon" source="ion0" target="ion0"/>
<pairpot type="pseudo" name="PseudoPot" source="ion0" wavefunction="psi0" format="xml">
<pseudo elementType="C" href="C.BFD.xml"/>
</pairpot>
<pairpot name="MPC" type="MPC" source="e" target="e" ecut="60.0" physical="false"/>
<estimator type="flux" name="Flux"/>
</hamiltonian>
</qmcsystem>
<qmc method="vmc" move="pbyp">
<estimator name="LocalEnergy" hdf5="no"/>
<parameter name="walkers" > 1 </parameter>
<parameter name="blocks" > 3 </parameter>
<parameter name="steps" > 3 </parameter>
<parameter name="subSteps" > 2 </parameter>
<parameter name="timestep" > 0.3 </parameter>
<parameter name="warmupSteps" > 3 </parameter>
</qmc>
</simulation>
109 changes: 109 additions & 0 deletions tests/solids/diamondC_1x1x1_pp/det_qmc_short_vmc_dmc_excited.in.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<?xml version="1.0"?>
<simulation>
<project id="det_qmc_short_vmc_dmc_excited" series="0">
<application name="qmcapp" role="molecu" class="serial" version="1.0"/>
</project>
<random seed="863"/>
<qmcsystem>
<simulationcell>
<parameter name="lattice" units="bohr">
3.37316115 3.37316115 0.00000000
0.00000000 3.37316115 3.37316115
3.37316115 0.00000000 3.37316115
</parameter>
<parameter name="bconds">
p p p
</parameter>
<parameter name="LR_dim_cutoff" > 15 </parameter>
</simulationcell>
<particleset name="e" random="yes">
<group name="u" size="4" mass="1.0">
<parameter name="charge" > -1 </parameter>
<parameter name="mass" > 1.0 </parameter>
</group>
<group name="d" size="4" mass="1.0">
<parameter name="charge" > -1 </parameter>
<parameter name="mass" > 1.0 </parameter>
</group>
</particleset>
<particleset name="ion0">
<group name="C" size="2" mass="21894.7135906">
<parameter name="charge" > 4 </parameter>
<parameter name="valence" > 4 </parameter>
<parameter name="atomicnumber" > 6 </parameter>
<parameter name="mass" > 21894.7135906 </parameter>
<attrib name="position" datatype="posArray" condition="0">
0.00000000 0.00000000 0.00000000
1.68658058 1.68658058 1.68658058
</attrib>
</group>
</particleset>
<wavefunction name="psi0" target="e">
<determinantset type="einspline" href="pwscf.pwscf.h5" tilematrix="1 0 0 0 1 0 0 0 1" twistnum="0" source="ion0" meshfactor="1.0" precision="double">
<slaterdeterminant>
<determinant id="updet" size="4">
<occupation mode="excited" spindataset="0">
-4 5
</occupation>
</determinant>
<determinant id="downdet" size="4">
<occupation mode="ground" spindataset="0"/>
</determinant>
</slaterdeterminant>
</determinantset>
<jastrow type="One-Body" name="J1" function="bspline" source="ion0" print="yes">
<correlation elementType="C" size="8" cusp="0.0">
<coefficients id="eC" type="Array">
-0.2032153051 -0.1625595974 -0.143124599 -0.1216434956 -0.09919771951 -0.07111729038
-0.04445345869 -0.02135082917
</coefficients>
</correlation>
</jastrow>
<jastrow type="Two-Body" name="J2" function="bspline" print="yes">
<correlation speciesA="u" speciesB="u" size="8">
<coefficients id="uu" type="Array">
0.2797730287 0.2172604155 0.1656172964 0.1216984261 0.083995349 0.05302065936
0.02915953995 0.0122402581
</coefficients>
</correlation>
<correlation speciesA="u" speciesB="d" size="8">
<coefficients id="ud" type="Array">
0.4631099906 0.356399124 0.2587895287 0.1829298509 0.1233653291 0.07714708174
0.04145899033 0.01690645936
</coefficients>
</correlation>
</jastrow>
</wavefunction>
<hamiltonian name="h0" type="generic" target="e">
<pairpot type="coulomb" name="ElecElec" source="e" target="e"/>
<pairpot type="coulomb" name="IonIon" source="ion0" target="ion0"/>
<pairpot type="pseudo" name="PseudoPot" source="ion0" wavefunction="psi0" format="xml">
<pseudo elementType="C" href="C.BFD.xml"/>
</pairpot>
<pairpot name="MPC" type="MPC" source="e" target="e" ecut="60.0" physical="false"/>
<!-- <estimator type="flux" name="Flux"/> -->
</hamiltonian>
</qmcsystem>

<qmc method="vmc" move="pbyp">
<estimator name="LocalEnergy" hdf5="no"/>
<parameter name="walkers"> 1 </parameter>
<parameter name="substeps"> 1 </parameter>
<parameter name="warmupSteps"> 1 </parameter>
<parameter name="steps"> 1 </parameter>
<parameter name="blocks"> 1 </parameter>
<parameter name="timestep"> 1.0 </parameter>
<parameter name="usedrift"> no </parameter>
</qmc>
<qmc method="dmc" move="pbyp" checkpoint="-1">
<estimator name="LocalEnergy" hdf5="no"/>
<parameter name="targetwalkers"> 1 </parameter>
<parameter name="reconfiguration"> no </parameter>
<parameter name="warmupSteps"> 3 </parameter>
<parameter name="timestep"> 0.005 </parameter>
<parameter name="steps"> 3 </parameter>
<parameter name="blocks"> 3 </parameter>
<parameter name="nonlocalmoves"> no </parameter>
</qmc>

</simulation>
Loading

0 comments on commit 1211c56

Please sign in to comment.