Skip to content

Commit

Permalink
Merge pull request #5338 from prckent/dia111
Browse files Browse the repository at this point in the history
Add diamondC 1x1x1 VMC batched spline and pw tests
  • Loading branch information
prckent authored Feb 24, 2025
2 parents cb5ef6b + 4a06d7f commit 6c0b0f2
Show file tree
Hide file tree
Showing 3 changed files with 213 additions and 0 deletions.
28 changes: 28 additions & 0 deletions tests/solids/diamondC_1x1x1_pp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ list(APPEND DIAMOND_SCALARS "samples" "128000 0.0")
list(APPEND DIAMOND_SCALARS "mpc" "-2.453044 0.004431")
# LIST(APPEND DIAMOND_SCALARS "flux" "0.0 0.4")

# PW does not setup density; MPC can not be used
set(DIAMOND_SCALARS_NO_MPC ${DIAMOND_SCALARS})
list(REMOVE_ITEM DIAMOND_SCALARS_NO_MPC "mpc")

qmc_run_and_check(
short-diamondC_1x1x1_pp-vmc_sdj
"${qmcpack_SOURCE_DIR}/tests/solids/diamondC_1x1x1_pp"
Expand All @@ -21,6 +25,30 @@ qmc_run_and_check(
DIAMOND_SCALARS # VMC
)

qmc_run_and_check(
short-diamondC_1x1x1_pp-vmcbatch_sdj
"${qmcpack_SOURCE_DIR}/tests/solids/diamondC_1x1x1_pp"
qmc_short
qmc_short_vmcbatch.in.xml
1
16
TRUE
0
DIAMOND_SCALARS # VMC
)

qmc_run_and_check(
short-diamondC_1x1x1_pp-vmcbatch_pw_sdj
"${qmcpack_SOURCE_DIR}/tests/solids/diamondC_1x1x1_pp"
qmc_short_pw
qmc_short_vmcbatch_pw.in.xml
1
16
TRUE
0
DIAMOND_SCALARS_NO_MPC # VMC
)

# Hybridrep is not implemented in legacy CUDA but should be correctly error trapped
qmc_run_and_check(
short-diamondC_1x1x1_hybridrep_pp-vmc_sdj
Expand Down
93 changes: 93 additions & 0 deletions tests/solids/diamondC_1x1x1_pp/qmc_short_vmcbatch.in.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<?xml version="1.0"?>
<simulation>
<project id="qmc_short" series="0">
<application name="qmcapp" role="molecu" class="serial" version="1.0"/>
<parameter name="driver_version">batched</parameter>
</project>
<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">
<sposet_collection type="bspline" href="pwscf.pwscf.h5" tilematrix="1 0 0 0 1 0 0 0 1" twistnum="0" source="ion0" meshfactor="1.0" precision="double">
<sposet type="bspline" name="spo_ud" size="4" spindataset="0"/>
</sposet_collection>
<determinantset>
<slaterdeterminant>
<determinant sposet="spo_ud"/>
<determinant sposet="spo_ud"/>
</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="total_walkers" > 16 </parameter>
<parameter name="blocks" > 1000 </parameter>
<parameter name="steps" > 8.0 </parameter>
<parameter name="subSteps" > 2 </parameter>
<parameter name="timestep" > 0.3 </parameter>
<parameter name="warmupSteps" > 100 </parameter>
</qmc>
</simulation>
92 changes: 92 additions & 0 deletions tests/solids/diamondC_1x1x1_pp/qmc_short_vmcbatch_pw.in.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<?xml version="1.0"?>
<simulation>
<project id="qmc_short_pw" series="0">
<application name="qmcapp" role="molecu" class="serial" version="1.0"/>
<parameter name="driver_version">batched</parameter>
</project>
<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">
<sposet_collection type="pw" href="pwscf.pwscf.h5" tilematrix="1 0 0 0 1 0 0 0 1" twistnum="0" source="ion0" meshfactor="1.0" precision="double">
<sposet type="pw" name="spo_ud" size="4" spindataset="0"/>
</sposet_collection>
<determinantset>
<slaterdeterminant>
<determinant sposet="spo_ud"/>
<determinant sposet="spo_ud"/>
</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>
<estimator type="flux" name="Flux"/>
</hamiltonian>
</qmcsystem>
<qmc method="vmc" move="pbyp">
<estimator name="LocalEnergy" hdf5="no"/>
<parameter name="total_walkers" > 16 </parameter>
<parameter name="blocks" > 1000 </parameter>
<parameter name="steps" > 8.0 </parameter>
<parameter name="subSteps" > 2 </parameter>
<parameter name="timestep" > 0.3 </parameter>
<parameter name="warmupSteps" > 100 </parameter>
</qmc>
</simulation>

0 comments on commit 6c0b0f2

Please sign in to comment.