QMCPACK / qmcpack

Main repository for QMCPACK, an open-source production level many-body ab initio Quantum Monte Carlo code for computing the electronic structure of atoms, molecules, and solids with full performance portable GPU support
http://www.qmcpack.org
Other
296 stars 138 forks source link

Complex gaussian test is failing #2566

Closed jtkrogel closed 4 years ago

jtkrogel commented 4 years ago

short-diamondC_1x1x1_pp-vmc_gaussian_sdj-1-16 fails when run in complex. See

https://cdash.qmcpack.org/CDash/testDetails.php?test=8838131&build=125922

The failure is:

Fatal Error. Aborting at LCAOrbitalBuilder::readRealMatrixFromH5 Missing /Super_Twist/eigenset_0_imag from HDF5 File.

Presumably the test is meant to be run only with the real code and a guard is needed. Correct @anbenali?

prckent commented 4 years ago

Indeed all complex runs of this test are failing https://cdash.qmcpack.org/CDash/testSummary.php?project=1&name=short-diamondC_1x1x1_pp-vmc_gaussian_sdj-1-16&date=2020-07-01

prckent commented 4 years ago

@anbenali

Is this a recent breakage or do we need to add an unsupported note + abort to the code? My guess is that a file/file format has not been updated properly, or a type is bad etc.

https://cdash.qmcpack.org/CDash/testSummary.php?project=1&name=short-diamondC_1x1x1_pp-vmc_gaussian_sdj-1-16&date=2020-07-30

anbenali commented 4 years ago

argh.. yes this is something that was ought to happen but I forgot to apply the correct fix.

Originally all orbitals were stored per kpts. and named KPTS0/eigenstate_0 ... but then it became clear that we would store them in Super_twist instead. Since molecules and solids in the real code use the same path, I added retro-compatibility to make sure that we don't touch the tests and that we don't break old runs. But for the solids, since I was the only one using it when pushed the format I put the references with KPTS0 and did not add the back compatibility. The references need to be updated. I will do that now.

anbenali commented 4 years ago

fixed with an if statement. Forgot that I had added backward compatibility everywhere but must have acted too fast and forgot the case where people would run real WF with complex code. If needed we could add a warning that they should not..