Skip to content

Drop the dead bare-Coulomb refusal entry - #141

Merged
elinsc-bot merged 1 commit into
mainfrom
dead-semilocal-entry
Aug 11, 2026
Merged

Drop the dead bare-Coulomb refusal entry#141
elinsc-bot merged 1 commit into
mainfrom
dead-semilocal-entry

Conversation

@elinsc-bot

@elinsc-bot elinsc-bot commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Problem

The norm-conserving header check's refusal set (#128) spelled its bare-Coulomb entry "1/r" while the check compares the upcased header value — the entry never matched, so 1/r pseudopotentials were accepted. On inspection, that accidental behavior is the correct one: both kcp.x (CPV/src/pseudopot_sub.f90 synthesizes vloc = -2 zv/r for tcoulombp, identical in the koopmans fork) and kcw.x (shared upflib/vloc_mod.f90 handling) take bare Coulomb potentials and treat them like local-only norm-conserving potentials, so there is nothing to refuse. (Grade: code-read in both QE trees; no live kcp.x run with a Coulomb UPF.)

Changes

  • Remove the dead "1/r" entry instead of fixing its spelling; the comment now states why Coulomb potentials pass and cites the QE sources.
  • Add a fake bare-Coulomb family fixture and a test pinning acceptance, alongside the existing US/PAW refusal cases.

Testing

  • The new acceptance test discriminates against a rework that "fixes" the spelling to "1/R": under that variant it fails with the refusal message (run both ways).
  • The existing refusal and acceptance tests pass unchanged.

@read-the-docs-community

read-the-docs-community Bot commented Aug 10, 2026

Copy link
Copy Markdown

Documentation build overview

📚 koopmans-dev | 🛠️ Build #34008032 | 📁 Comparing 4e5d897 against latest (d4cf240)

  🔍 Preview build  

1 file changed
± input_schema.html

@codecov

codecov Bot commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.91%. Comparing base (d9e15b2) to head (4e5d897).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #141      +/-   ##
==========================================
+ Coverage   83.85%   83.91%   +0.05%     
==========================================
  Files          47       47              
  Lines        3581     3581              
  Branches      561      561              
==========================================
+ Hits         3003     3005       +2     
+ Misses        450      449       -1     
+ Partials      128      127       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@elinsc-bot
elinsc-bot marked this pull request as ready for review August 11, 2026 05:21
@elinsc-bot
elinsc-bot requested a review from elinscott August 11, 2026 05:21
@elinsc-bot elinsc-bot changed the title Match the bare-Coulomb pseudo type after upcasing Drop the dead bare-Coulomb refusal entry Aug 11, 2026
@elinsc-bot
elinsc-bot force-pushed the dead-semilocal-entry branch from ce899c6 to db79513 Compare August 11, 2026 06:22
The refusal set spelled its bare-Coulomb entry "1/r" while the check
compares the upcased header value, so the entry never matched and 1/r
pseudopotentials were accepted. That accidental behavior is the
correct one: kcp.x and kcw.x both synthesize the local potential for
a Coulomb UPF and treat it like a local-only norm-conserving
potential.

- Remove the entry rather than fix its spelling; the comment now
  cites the QE sources.
- Add a fake bare-Coulomb family fixture and a test pinning
  acceptance.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@elinsc-bot
elinsc-bot force-pushed the dead-semilocal-entry branch from db79513 to 4e5d897 Compare August 11, 2026 06:22
@elinsc-bot
elinsc-bot merged commit 8155c58 into main Aug 11, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants