Repository navigation
ECCE-QM: geometry optimisation, frequencies, size limits #248
Copy link
Copy link
Closed
Description
ECCE-QM, the built-in Hartree–Fock/DFT engine (since 9.0.0-alpha.8), computes energies, orbitals, Mulliken charges and the dipole moment at a fixed geometry. Planned next steps, in order:
1. Geometry optimisation
- Analytic nuclear gradients for RHF/UHF/ROHF and the supported functionals (SVWN, PBE, B3LYP, PBE0). This includes the grid-weight contribution, or a grid fine enough that it can be neglected; to be decided by comparison.
- An optimiser in internal or redundant coordinates (BFGS with a line search, or RFO) with the usual convergence criteria.
- Results go to the Builder's existing geometry trace, so steps can be played back and an energy plot shown.
- Calculation Editor: run type "Geometry".
- Validation against ORCA: final geometries and energies for the test set (H2O, NH3, CH4, CO, N2, O2 triplet, HF), within agreed tolerances.
2. Vibrational frequencies
- Hessian by finite differences of analytic gradients first. It is simpler and adequate for small molecules; an analytic Hessian can come later if needed.
- Harmonic frequencies and normal modes, with IR intensities from dipole derivatives.
- Raman activities from polarisability derivatives. This needs the static polarisability, from coupled-perturbed HF/KS or finite electric fields, differentiated along the modes. Depolarisation ratios are shown in the spectrum viewer's Raman pane.
- Output in the form the Builder's vibration panel and spectrum viewer already read.
- Validation against ORCA frequencies and intensities.
3. Size limits from benchmarks
- Time single points, gradients and frequency runs on typical laptops (recent and older; Windows, macOS, Linux) for a range of molecules and the five basis sets.
- From that, set the largest number of atoms or basis functions the Calculation Editor accepts for ECCE-QM, or warns about, so a run does not appear to hang.
- Record the benchmark table in the help.
- Known factors to measure:
- two-electron integrals are held in memory (about N⁴ bytes for N basis functions; the program refuses above a fixed 12 GB), so the cap should follow the machine's memory;
- integrals and the XC grid use OpenMP threads, but the J/K build per SCF cycle is serial;
- the macOS build has no OpenMP (Apple clang without libomp), so it runs on one core;
- an integral-direct mode would be needed beyond about 250–300 functions.
Later
- Defining parts of a calculation by hand for teaching quantum chemistry:
- a user-specified basis, initial guess or orbital occupation;
- a user-defined exchange–correlation functional, for example a hybrid given as the fractions of exact (HF) exchange, Slater/B88 exchange and VWN/LYP/PBE correlation (B3LYP- or PBE0-type mixtures), built on libxc's components;
- step-by-step SCF output.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
ohlincha commentedon Oct 11, 2026
Part 1, geometry optimisation, is on main (69d9a86, a4f033f, 9d1bb37):
Not yet checked: the trace in the Builder in a real run, and the Windows/macOS clients. Next: frequencies and IR intensities.
ECCE-QM: analytic nuclear gradients for HF and DFT (#248)
ECCE-QM: runtype keyword and Cartesian BFGS geometry optimisation (#248)
ECCE-QM: Gradient and Geometry run types in the Calculation Editor (#248
ECCE-QM: start each SCF from the previous geometry's orbitals (#248)
ECCE-QM: harmonic frequencies, IR intensities and thermochemistry (#248)
ECCE-QM: Vibration and GeoVib run types, frequencies and thermochemis…
ECCE-QM: end-to-end and Builder tests for Geometry, Vibration and Geo…
ECCE-QM: cost of frequency runs and a size pointer for student machin…
ohlincha commentedon Oct 11, 2026
Part 2, frequencies, is on main (7380b04, b8c57df, d0c4f15, edfb86b, 53d1979):
Not yet: the size warning in the editor, progress output during a long frequency run, Raman.
Launch warns before a large ECCE-QM run (#248)
ecce-qm: Schwarz screening of the two-electron integrals and their gr…
ecce-qm: pruned DFT grid and per-batch AO screening in the XC integra…
ecce-qm: benchmark script and timing table in the help (#248)
ohlincha commentedon Oct 12, 2026
In 9.0.0: integral screening and a pruned DFT grid make DFT 2–3.4 times faster with unchanged results; timings are in the help (Size and speed). Raman and an analytic Hessian remain.
ohlincha commentedon Oct 13, 2026
Raman: plan
ECCE already shows Raman data from ORCA (activities and depolarisation ratios as
VIBRAM/VIBRAMDEPOL, in the vibration panel and the spectrum viewer's Raman pane) and draws a polarisability as an ellipsoid. ECCE-QM has to compute and print these; the display needs no new work.Theory. Raman activity of mode k: S_k = 45 a'_k² + 7 γ'_k² (Å⁴/amu), with a' and γ' the isotropic and anisotropic invariants of ∂α/∂Q_k; depolarisation ratio ρ_k = 3γ'²/(45a'² + 4γ'²). ∂α/∂Q_k comes from ∂α/∂x (Cartesian) and the normal modes ECCE-QM already has.
Stages
ecceqm.descreads asVIBRAM/VIBRAMDEPOL. A "Raman activities" tick box for run types Vibration and GeoVib. Cost about 7× the frequency run (water B3LYP/6-31G*: roughly 2 min); the existing size warning is extended.Validation against ORCA 6.1.1 (
%elprop Polar 1, NumFreq with Raman) and NWChem (property; polarizability,raman) on H2O, NH3, CH4, CO, N2, HF at HF and B3LYP/6-31G*: α components, Raman activities and depolarisation ratios, with tolerances set from the field step (finite-field α is accurate to about 1e-4 a.u. at F = 0.001 a.u.).Examples: ethanol with Raman activities (ORCA, B3LYP/6-31G*, NumFreq)…
ECCE-QM: static polarisability by finite field, Raman activities from…
ECCE-QM in ECCE: Raman activities option, POLARIZ/VIBRAM/VIBRAMDEPOL …
ECCE-QM: polarisability and Raman tests against ORCA and NWChem oracl…
ohlincha commentedon Oct 14, 2026
ECCE-QM in 9.1.0 computes static polarisabilities and Raman activities with depolarisation ratios (agreement with ORCA 6.1.1 in the release notes), adds 6-31G, 6-31+G*, 6-311G*, aug-cc-pVDZ and cc-pVTZ, and runs the displaced geometries of a frequency run side by side.