QMCPACK / QMCPACK/qmcpack

Direct support for UPF format pseudopotentials

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

Description

UPF format pseudopotentials, as used by QE, can include the semi-local potential needed for QMC as well as the non-local Kleinman-Bylander projectors used by plane wave codes such as QE. A big simplification in our workflows would therefore be to support these files directly since users would only need one pseudopotential file. While the UPF documentation is a little ambiguous, the modular reader code used by pw.x correctly skips semi-local components while the pseudopotential generator code has example source for formatting the semi-local data. As far as I can tell, there are no existing potentials with both components.

Since UPF files with projectors are currently being generated for https://pseudopotentiallibrary.org/ , I suggest we plan to use UPF files with both components in QMCPACK as a simplifying step. Modifying QMCPACK to read this data is straightforward. In the same way that pseudopotential generating code information is currently included in the opening comments in the UPF files, I suggest we add (require) specification of the local potential and cutoffs there.

Contributor guide

Open the contributing guide

Research direction

Start by reading the UPF documentation and comparing the modular reader in pw.x with the pseudopotential generator examples for semi-local data. Determine how QMCPACK should read files containing both semi-local and Kleinman-Bylander components, including the required local potential and cutoff information in the opening comments. Done means QMCPACK accepts the combined UPF format directly.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
hpc
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.