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
295 stars 138 forks source link

Missing field from convertpw4qmc output triggers ion checkup #2811

Open tiihonej opened 3 years ago

tiihonej commented 3 years ago

Describe the bug

QMCPACK crashes with ERROR Primitive cell ion 0 vs supercell ion 0 atomic number not matching: 0 vs 74 because atomic_number cannot be read from an orbital file created by convertpw4qmc.

The source of convertpw4qmc contains comments regarding future implementation of the field, but it is currently needed in src/QMCWaveFunctions/EinsplineSetBuilderESHDF.fft.cpp. It seems possible to override abortion by hardcoding skipChecks=True, but I haven't tried it.

To Reproduce The problem occurs e.g. in a simulation of W atom with a noncollinear QE trial using QMCPACK 3.10.0. Input files to reproduce are attached, but convert4qmc needs to be executed after QE.

Expected behavior Convertpw4qmc is expected to provide atomic_number, so that the QMCPACK checks pass.

System: Cades batch node

converter_problem.zip

prckent commented 3 years ago

Have you checked the development version?

tiihonej commented 3 years ago

Sure, the development version is what I actually mean (12b90fbb86742b9087cb8c07c9e7f5dbfc49ce34-dirty). This use case seems to be somewhere between SOC and non-SOC and may not bear much relevance. Also, I've been told that another way to circumvent this problem is to set atomic_number to zero in QMCPACK xml input. I'm still working on possible ways around, but I think the ideal solution is still adding atomic_number to the converter.

prckent commented 3 years ago

Thanks Juha. I recall some recent history with similar problems. I won't have bandwidth to check today, but perhaps someone else recalls.

ye-luo commented 3 years ago

@rcclay since you added skipChecks=True, could expose it via the input xml to help Juha running the code?

prckent commented 3 years ago

Any chance of a more comprehensive HDF5 from QE any time soon?

tiihonej commented 3 years ago

@prckent is that a call for additional reproduction material or upcoming QE/converter features?

prckent commented 3 years ago

@tiihonej Not now. It was a question to Ye who might know. None of these workarounds should be necessary at some point in the future.

ye-luo commented 3 years ago

@tiihonej Not now. It was a question to Ye who might know. None of these workarounds should be necessary at some point in the future.

In my understanding of QE logic, xml is responsible for metadata and hdf5 is for binary data. So it is unlikely to have a comprehensive hdf5 from QE.

mcbennet commented 3 years ago

My recent experience confirms this behavior.

For a periodic system, I find that QMCPACK executes successfully without skipsCheck=True when atomic_number and valence_charge are added to atoms/species_X in the .h5 file.

It might be possible to obtain the ion data from the UPF files -- whose locations are given in data-file-schema.xml that convertpw4qmc reads.