Repository navigation
Conversation
ABACUS-PR-BOT
left a comment
There was a problem hiding this comment.
Static review of 0c2c11d. No builds or ABACUS runtime tests were run; CI diagnostics were unavailable.
Non-blocking: Please add the exact build/test/comparison commands, executable identity/configuration, MPI ranks and observed outcomes behind the validation table, noting which force/convergence checks remain deferred. Also state the generated INPUT-documentation workflow and whether documentation-generation/CLI checks were run.
| "forces, no stress (cal_stress is rejected); nspin 1 or 2; assume_isolated none, pcc_0d or " | ||
| "pcc_2d; no electric/gate field, DFT-1/2, DeePKS or dm_to_rho. Use assume_isolated pcc_0d " | ||
| "or pcc_2d for charged systems: with assume_isolated none a charged cell only prints a " |
There was a problem hiding this comment.
Numerical limitation: This help advertises SCCS+PCC forces without the current derivative/accuracy qualification. A PCC potential can have a boundary jump, but the full potential is differentiated by a periodic FFT before forming the continuum cavity term. The fixed-point tests and force-adapter comparisons with the same kernel do not establish the nonuniform-cavity energy/force accuracy; please document the limitation, the deferred lowpass follow-up, and recommended cutoff/finite-difference checks here.
There was a problem hiding this comment.
This is a known limitation of the default continuum cavity potential −ε′|∇φ|²/8π (same as Environ deriv_method fft): with PCC it is not the exact derivative of the discrete energy, and the FFT gradient of the PCC-corrected potential rings near the potential step at the cell boundary.
Finite-difference check (O displaced ±0.01 Å along y; analytic minus FD of the solvation part, solvent minus vacuum + PCC, in eV/Å):
| System | Default (this PR) | Lowpass 10/5 (next PR) |
|---|---|---|
| H3O⁺, PCC0D, 20 bohr cube | +1.7×10⁻² | +9×10⁻⁴ |
| H3O⁺, PCC2D, 12 × 20 × 12 bohr slab | −4.6×10⁻³ | −2.0×10⁻³ |
sccs_lowpass_p1/p2 in next PR will resolve this
| #include "sccs_cavity.h" | ||
|
|
||
| #include <string> | ||
| #include <vector> |
There was a problem hiding this comment.
Non-blocking: No declaration in this header uses std::vector. Please remove the new include; this cleanup can follow after merge.
Address ABACUS-PR-BOT review of SCCS step 2: no declaration in the header uses std::vector yet.
Reminder
AGENTS.mdanddocs/developers_guide/agent_governance.md.source/changes.Linked Issue
Third part of #8052. It follows #8075 (PCC) and #8162 (SCCS Step 1: periodic SCCS).
Remaining follow-up PRs, each stacked on the previous one: lowpass and full cavity → SCF integration → solvent-aware cavity.
What's changed?
imp_sol 2can now be combined withassume_isolated pcc_0dandpcc_2d(O. Andreussi and N. Marzari, Phys. Rev. B 90, 245101 (2014)). This removes the cell-size dependence of charged solvated systems: molecules (pcc_0d) and slabs (pcc_2d, open alongpcc_2d_axis). Neutral periodic SCCS from Step 1 is unchanged.Deliberate difference from Environ (inherited from #8075): for a charged slab,
pcc_2duses the monopole constant −πQL/(3A), whereas Environ uses −πQ/(3L).Cavity derivatives: two paths.
sccs_cav_derivbuilds grad s and lapl s for the dielectric coefficient.deriv_method chain: grad s = s′ grad n and lapl s = s′ lapl n + s″ |grad n|², from FFT derivatives of the density n.deriv_method fft, because the chain coefficient is not converged at the cavity edge.The PCC cases are therefore compared with QE in
fftmode below. Periodic results are unchanged from Step 1.CavityPointgainsd2solute_drho2for the chain path, which is checked against finite differences.Validation against QE 7.6 + Environ 3.1.1
How the comparison was run. (reply to ABACUS-PR-BOT)
Each case directory has an ABACUS INPUT/STRU/KPT and a QE
pw.in+environ.in.One script runs them with
OMP_NUM_THREADS=1:mpirun -np 8 abacus_std_para > run.logmpirun -np 8 pw.x -environ -in pw.in > run.loganalyze.pytakes ΔG from!FINAL_ETOT_IS(ABACUS) and! total energy(QE). It reads the surface and volume from theSCCS_CAVITYline and fromenviron.debug, and the forces fromTOTAL-FORCEand "Forces acting on atoms".Executables:
The ABACUS energies were reproduced bit-for-bit. Since then the code has only been renamed and switched to the ModuleBase SI constants, which moves the solvation energies by about 2×10⁻⁸ eV.
Deferred checks: there are no charged integration cases (CI time; charged energies are validated in the table above). Force accuracy with PCC is addressed by the lowpass filter in the next PR.