You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CP2K: register the code, with a first editor, input generator and parser (periodic DFT+U geometry optimisation) #329
CP2K is one of the target codes, but ECCE has no CP2K support yet: there is no code registration (EDML, scripts/codereg), no input generator, and no output parser. The Builder already opens with the lattice tools for periodic codes (#300).
First case
A periodic geometry optimisation with Quickstep:
GPW, MOLOPT basis sets and GTH pseudopotentials, with the basis and potential files given by name
PBE, with D3 dispersion
DFT+U on a transition-metal site
UKS, with charge and multiplicity set
OT SCF
periodic in XYZ, with the cell taken from the Builder lattice
coordinates written into the input or a PDB coordinate file
Stages
Code registration. CP2K in Register Machines and in the code lists, run as cp2k.psmp (MPI) or cp2k.ssmp, through the sh job scripts.
CP2K follows the Quantum ESPRESSO registration: needsBasis="false", its own theory and runtype dialogs, the cell taken from the Builder lattice only, and per-element files picked by scanning the code's own libraries (BASIS_MOLOPT, GTH_POTENTIALS), as qetheory.py does for UPF files. It does not use the NWChem MD path, which is classical force-field MD (topology, segments); CP2K's classical side (FIST, QM/MM) is later and closer to GROMACS.
QE was modelled on NWChem's plane-wave module (NWPW) but did not take all of it. Compared with NWPW, QE has k-points (NWPW never had them) and lacks:
an MD run type (NWPW: Car-Parrinello, with time step, fictitious mass, inner/outer iterations, ion and electron thermostats, restart)
Vibration
the BAND theory, and Mulliken analysis
Order:
QE md (Born–Oppenheimer) run type and the trajectory parser, starting from the NWPW Car-Parrinello widgets for time step, temperature and thermostat. QE vc-relax cell trace (LATTICEVEC).
CP2K on the same pieces: ENERGY/GEO_OPT first, then CELL_OPT and MD.
Coverage audit: Quantum ESPRESSO and CP2K in ECCE (2026-10-15)
Columns: Dialog = can be set in the theory/runtype dialogs; Writer = ai.qe/qe.tpl writes it; Reader = qe.desc extracts it; Display = shown in the Builder/Viewer or a property panel. Priority: P1 = needed for the first real periodic DFT+U/MD cases, P2 = common in published periodic work, P3 = specialised.
P2 (two-step job; does not fit one input/one output)
Löwdin charges (projwfc.x)
no
no
no
no
P2
Hybrid functionals (exx: nqx, ecutfock)
only through the input_dft override
partly
–
–
P3
Isolated systems (assume_isolated), ESM, Environ solvation
no
no
–
–
P3
Phonons / IR / Raman (ph.x, dynmat.x)
no
no
no
no
P3
NEB (neb.x)
no
no
no
no
P3
Noncollinear / spin–orbit
no
no
–
–
P3
CP2K (Quickstep; nothing in ECCE yet)
The first case is taken from the structure of a real periodic input in hand (a talc cell with Fe, GEO_OPT and MD); no data from it goes into the repository.
Capability
Priority
Notes
Registration, cp2k.psmp/cp2k.ssmp, sh job scripts
P1
as QE
ENERGY, GEO_OPT
P1
&MOTION &GEO_OPT; trajectory from -pos-1.xyz
GPW, MOLOPT basis + GTH potentials per element (charge state qn picked from BASIS_MOLOPT/GTH_POTENTIALS)
P1
scan the files, as qetheory.py scans UPFs
PBE + D3 (&VDW_POTENTIAL PAIR_POTENTIAL DFTD3)
P1
UKS, charge, multiplicity
P1
DFT+U per kind (&DFT_PLUS_U, U_MINUS_J, L)
P1
OT SCF, cutoff/rel_cutoff
P1
Cell from the Builder lattice, PERIODIC XYZ
P1
Energy, SCF/opt progress (#284), final geometry, Mulliken charges, spin moments
P1
reader
MD (NVT/NPT; Nosé–Hoover, CSVR, GLE thermostats)
P1
the same real input uses MD with GLE
CELL_OPT
P2
Restart (.wfn, RESTART_HISTORY)
P2
Vibrational analysis
P3
QM/MM (FIST), classical MD
P3
closer to the GROMACS path
Hybrid functionals (ADMM), TDDFPT, metadynamics
P3
Proposed order
QE P1: md, DFT+U and dispersion. These three appear together in most published periodic work on oxides and clays.
md reuses the NWPW Car–Parrinello widgets (time step, temperature, thermostat) and the GEOMTRACE reader, plus energy and temperature against time.
DFT+U and dispersion are dialog and writer only.
CP2K P1 on the same pieces, plus the file-scanning basis/potential picker. Validation: run CP2K and QE directly on the same cell (ENERGY, GEO_OPT, short NVT) and compare with ECCE's results.
QE and CP2K P2: constraints and target pressure, magnetic moments and charges, then the two-step jobs (bands/DOS), which need the multi-step job model.
P3 only on request.
Steps 1 and 2 are each about one working session; step 3 is larger, because of the two-step job model.
QE status after 9.2.0: md, DFT+U and dispersion shipped. Next, for battery work (2026-10-16): magnetic moments per site and Löwdin charges; NEB (#182); DOS/PDOS and band structure (multi-step jobs, #153); phonons last. The multi-step job mechanism is needed for DOS, bands, phonons and partly NEB. Design it once, for QE, CP2K and the workflows. Planned for 9.4.0.
Done on main: CP2K is registered with editor, input generator and parser, stages 1-4 (dc7325a ... e00f79d), parser fixtures from real CP2K 2025.1 runs. The QE points discussed here are tracked in #153, #181 and #182.
Activity
ohlincha commentedon Oct 14, 2026
Plan
CP2K follows the Quantum ESPRESSO registration:
needsBasis="false", its own theory and runtype dialogs, the cell taken from the Builder lattice only, and per-element files picked by scanning the code's own libraries (BASIS_MOLOPT,GTH_POTENTIALS), asqetheory.pydoes for UPF files. It does not use the NWChem MD path, which is classical force-field MD (topology, segments); CP2K's classical side (FIST, QM/MM) is later and closer to GROMACS.QE was modelled on NWChem's plane-wave module (NWPW) but did not take all of it. Compared with NWPW, QE has k-points (NWPW never had them) and lacks:
Order:
md(Born–Oppenheimer) run type and the trajectory parser, starting from the NWPW Car-Parrinello widgets for time step, temperature and thermostat. QEvc-relaxcell trace (LATTICEVEC).ohlincha commentedon Oct 15, 2026
Coverage audit: Quantum ESPRESSO and CP2K in ECCE (2026-10-15)
Columns: Dialog = can be set in the theory/runtype dialogs; Writer =
ai.qe/qe.tplwrites it; Reader =qe.descextracts it; Display = shown in the Builder/Viewer or a property panel. Priority: P1 = needed for the first real periodic DFT+U/MD cases, P2 = common in published periodic work, P3 = specialised.Quantum ESPRESSO (pw.x and companions)
&IONSbfgs)&CELLbfgs)HUBBARDcard, QE ≥ 7.1 syntax)vdw_corr= dft-d3 / grimme-d2 / xdm)cell_dofree), target pressure (press)if_posin ATOMIC_POSITIONS)assume_isolated), ESM, Environ solvationCP2K (Quickstep; nothing in ECCE yet)
The first case is taken from the structure of a real periodic input in hand (a talc cell with Fe, GEO_OPT and MD); no data from it goes into the repository.
cp2k.psmp/cp2k.ssmp, sh job scripts&MOTION &GEO_OPT; trajectory from-pos-1.xyzBASIS_MOLOPT/GTH_POTENTIALS)qetheory.pyscans UPFs&VDW_POTENTIALPAIR_POTENTIAL DFTD3)&DFT_PLUS_U, U_MINUS_J, L).wfn,RESTART_HISTORY)Proposed order
Steps 1 and 2 are each about one working session; step 3 is larger, because of the two-step job model.
Progress: pw.x's step-limit line after an md run is not an unconverge…
ohlincha commentedon Oct 16, 2026
QE status after 9.2.0: md, DFT+U and dispersion shipped. Next, for battery work (2026-10-16): magnetic moments per site and Löwdin charges; NEB (#182); DOS/PDOS and band structure (multi-step jobs, #153); phonons last. The multi-step job mechanism is needed for DOS, bands, phonons and partly NEB. Design it once, for QE, CP2K and the workflows. Planned for 9.4.0.
CP2K (#329), stage 2: Theory and Runtype Details dialogs
CP2K (#329), stage 3: input generator and input checker
CP2K (#329), stage 4: output parsing, progress, failure reasons, tests
ohlincha commentedon Oct 21, 2026
Done on main: CP2K is registered with editor, input generator and parser, stages 1-4 (dc7325a ... e00f79d), parser fixtures from real CP2K 2025.1 runs. The QE points discussed here are tracked in #153, #181 and #182.