Add pslibrary ultrasoft and PAW families (scalar- and fully-relativistic, PBE) - #18
Open
skilledwolf wants to merge 1 commit into
Open
Add pslibrary ultrasoft and PAW families (scalar- and fully-relativistic, PBE)#18skilledwolf wants to merge 1 commit into
skilledwolf wants to merge 1 commit into
Conversation
Four families packaged from Quantum ESPRESSO's pslibrary 1.0.0 (PBE): ultrasoft (rrkjus) and PAW (kjpaw), each in scalar-relativistic (Fe, Si) and fully-relativistic (Bi, Fe, Pt, Si) flavors — the first ultrasoft and PAW families in the collection, added as an initial subset that can be extended element by element. Following the pattern of the other collections, scripts/add_pslibrary.jl generates the whole tree: it holds the per-element variant selection and pinned md5 checksums, downloads the files unmodified from the official distribution site (pseudopotentials.quantum-espresso.org), and derives the recommended cutoffs from the wfc_cutoff/rho_cutoff fields of the UPF headers. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
skilledwolf
force-pushed
the
pslibrary-uspaw-families
branch
from
July 27, 2026 20:04
abaf92b to
4a27c4c
Compare
Member
|
Thanks for the PR and sorry for the slow response, I hope to take a more detailled look later this week. In general partial families are fine, but if all it takes is to add more elements in the script, why not do it ? |
Member
|
Some more comments after having had a closer look:
I'm unsure what is a good strategy here, but we should make sure that we settle on something that is reasonably future-proof (e.g. changing the meaning of Regarding the added keys:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds four families packaged from Quantum ESPRESSO's pslibrary 1.0.0 (PBE): ultrasoft (
rrkjus) and PAW (kjpaw), each in a scalar-relativistic and a fully-relativistic flavour. These are the first ultrasoft and PAW families in the collection.pslibrary.us.sr.pbe.v1_0_0.default.upf— Fe, Sipslibrary.us.fr.pbe.v1_0_0.default.upf— Bi, Fe, Pt, Sipslibrary.paw.sr.pbe.v1_0_0.default.upf— Fe, Sipslibrary.paw.fr.pbe.v1_0_0.default.upf— Bi, Fe, Pt, SiOne thing worth settling before the rest: that's a handful of elements, not a periodic table, and every family already here carries 64 or more. I put these together for ultrasoft/PAW work in DFTK (DFTK#1092), where a few elements spanning US/PAW × SR/FR is what you need to develop and test against, and pslibrary is the natural source in the QE ecosystem. Extending later is cheap — see the script below. But if you'd rather the collection only carried complete families, say so and I'll close this — better to hear it now than to have it sit.
Everything follows the pattern of the other collections:
scripts/add_pslibrary.jlgenerates the whole tree. Its curated input is a per-element variant table (Feis thespnsemicore variant,Sithenone — the variant recommended per element on the pslibrary page, which is what thedefaulttag refers to; pslibrary has no accuracy tiers) plus pinned md5 checksums. It downloads exactly those files, unmodified, from pseudopotentials.quantum-espresso.org, verifies them, and derivesEcut/supersamplingfrom thewfc_cutoff/rho_cutofffields of the UPF headers — so the recommendations transmitted here are pslibrary's own, like the other collections' are theirs. To add an element, extend the tables and re-run. The tree in this PR is exactly the script's output;scripts/check_pseudo_folders.jlpasses.Two smaller choices I'd like a ruling on. I added
licenseandsourcekeys tometa.toml—GPL-2.0-or-later, matching pslibrary's own "version 2, or at your option any later version" grant. No existing family records either key, and it seemed worth having for redistributed data, but it's your schema. And I leftLIBRARY_VERSIONalone, since I gather bumping it belongs to your release commit.A companion PR registering these in PseudoPotentialData follows once there's a release to point at. PseudoPotentialIO#33 adds the accessor for reading the augmentation data out of files like these.