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

Orbital optimization wavefunction with einspline is missing kinetic energy #637

Open rcclay opened 6 years ago

rcclay commented 6 years ago

Performing VMC on 1 walker on 1 OpenMP thread using slater determinant specified in the H4 orbital optimization example, the kinetic energy is identically 0. Oddly, all other observables, and even the acceptance ratio, are identical with VMC run on a determinant specified in the normal manner. Example problem available upon request. On the plus side, at least the ratios and gradients are being computed correctly, so the fix shouldn't be too hard.

rcclay commented 6 years ago

Here's the wavefunction modifications from the LCAO example to get it to run with einspline.

  <wavefunction id="psi0" target="e">
    <determinantset type="bspline" href="H4.scf.pwscf.h5" sort="1" tilematrix="1 0 0 0 1 0 0 0 1" twistnum="0" source="ion0" version="0.10">
      <basisset/>
      <slaterdeterminant optimize="yes">
        <determinant id="det_up" sposet="spo-up">
          <opt_vars size="4">
            0 0 0 0
          </opt_vars>
        </determinant>
        <determinant id="det_down" sposet="spo-dn">
          <opt_vars size="4">
            0 0 0 0
          </opt_vars>
        </determinant>
      </slaterdeterminant>
      <sposet name="spo-up" size="4" optimize="yes">
        <occupation mode="ground" spindataset="0"></occupation>
      </sposet>
      <sposet name="spo-dn" size="4" optimize="yes">
        <occupation mode="ground" spindataset="0"></occupation>
      </sposet>
    </determinantset>
  </wavefunction>
ye-luo commented 6 years ago

orbital rotation with spline orbitals was not validated since we didn't have a test. I only made the code build. Someone from Berkeley needs to take the responsibility.

rcclay commented 6 years ago

Cool. You know, it wouldn't be too hard to submit the test that lead to this issue report... but it would fail until someone fixed the issue. I'll hold off until we hear from Berkeley though.