QMCPACK / QMCPACK/qmcpack

Issues with Cartesian Spherical Harmonics between QMCPACK and pyscf

Open
#1,592 5 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
403
Forks
154
Avg merge
1d 13h
Merged PRs (30d)
90

Description

For solids, it appears as though the default basis set type in pyscf is standard spherical harmonics for the angular piece of the LCAO basis. Currently, the pyscf->QMCPACK converter can handle this, and I can match Hartree-Fock energies between the two codes. However, when I force pyscf to use the cartesian spherical harmonic basis instead, I converge to a similar energy as before, but after converting to QMCPACK, the VMC energy and variance are pretty large, indicating to me that there's probably something wrong in the pyscf->QMCPACK conversion step.

The reason for wanting to use the cartesian basis is that derivatives w.r.t. cartesian coordinates are trivial in this basis, whereas they are very very much not in the angular basis. I think it's a waste of time to implement force/BF relevant derivatives for the angular basis.

I see two possible solutions:
1.) Figure out the bug in the converter.
2.) Keep everything in the plain spherical harmonic basis on the pyscf side, and then do the basis change to cartesian coordinates internally in QMCPACK.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the pyscf-to-QMCPACK conversion with PySCF's Cartesian basis and compare the resulting VMC energy and variance with the spherical-basis case. Determine whether the converter or QMCPACK's internal basis handling is responsible; done means Cartesian-basis results agree with the expected Hartree-Fock and VMC behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
hpc
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.