Add test for DMC time limit.

Current time limit is 60 seconds, and the test times out after
120 seconds should the time limit fail.
This commit is contained in:
Mark Dewing 2017-11-13 17:16:57 -06:00
parent 1d583e7411
commit 975c525548
2 changed files with 126 additions and 0 deletions

View File

@ -80,6 +80,21 @@ ENDIF(ENABLE_SOA)
SET_PROPERTY(TEST ${FULL_NAME} APPEND PROPERTY LABELS "coverage")
ENDIF()
# Test time limit
SET(FULL_NAME "cpu_limit-diamondC_1x1x1_pp-dmc")
SET(TEST_ADDED FALSE)
RUN_QMC_APP(${FULL_NAME}
"${CMAKE_SOURCE_DIR}/tests/solids/diamondC_1x1x1_pp"
1 1
TEST_ADDED
qmc_cpu_limit_dmc.xml)
IF (TEST_ADDED)
SET_PROPERTY(TEST ${FULL_NAME} APPEND PROPERTY TIMEOUT 120)
SET_PROPERTY(TEST ${FULL_NAME} APPEND PROPERTY PASS_REGULAR_EXPRESSION "Time limit reached for")
ENDIF()
#
# Long tests

View File

@ -0,0 +1,111 @@
<?xml version="1.0"?>
<simulation>
<project id="qmc_cpu_limit_dmc" series="0">
<application name="qmcapp" role="molecu" class="serial" version="1.0"/>
</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">
<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="float">
<slaterdeterminant>
<determinant id="updet" size="4">
<occupation mode="ground" spindataset="0"/>
</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>
<!-- <estimator type="flux" name="Flux"/> -->
</hamiltonian>
</qmcsystem>
<qmc method="vmc" move="pbyp">
<estimator name="LocalEnergy" hdf5="no"/>
<parameter name="walkers"> 256 </parameter>
<parameter name="substeps"> 1 </parameter>
<parameter name="warmupSteps"> 100 </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"> 256 </parameter>
<parameter name="reconfiguration"> no </parameter>
<parameter name="warmupSteps"> 100 </parameter>
<parameter name="timestep"> 0.005 </parameter>
<parameter name="steps"> 100 </parameter>
<!-- make large to ensure time limit is hit -->
<parameter name="blocks"> 10000 </parameter>
<parameter name="nonlocalmoves"> no </parameter>
<parameter name="maxcpusecs"> 60 </parameter>
</qmc>
</simulation>