Energy and force for constrained nuclear-electronic orbital density
functional theory (J. Chem. Theory Comput. 2025, 21, 16, 7865–7877).
`POTENTIAL CNEO` triggers CNEO calculations for certain atom kinds
(hydrogen is the most common, but no limit in principle) and nuclear
basis functions are supplied by `BASIS_SET NUC basis_name`. PB series
basis sets for proton are provided in `data/NUCLEAR_BASIS_SETS`.
The `MASS` can be tuned to simulate isotopes such as deuterium, however,
one should be careful that basis functions need to be changed
accordingly. One simple modification to PB4-D with scaled exponents that
is suitable for deuterium is also added to `data/NUCLEAR_BASIS_SETS`
Note that GAPW is mandatory for atoms with quantum nuclei in CNEO-DFT
calculations, and pseudopotentials or even `GPW_TYPE T` can be used for
atom kinds with conventional classical nuclei.
For the electronic part, k-points can be enabled. However, this k-points
setting will not affect the quantum nuclear part. This is because even
quantum nuclei are delocalized as compared to conventional classical
point charges, they are still relatively localized. Therefore, a
distinguishable-particle approximation is used for quantum nuclei. This
is similar to the Gamma-point approximation for indistinguishable
quantum nuclei, with the added benefit that each quantum nucleus only
involves a small Kohn-Sham equation with localized basis functions, and
multiple quantum nuclei create multiple coupled Kohn-Sham equations,
instead of a giant one in the indistinguishable fermion case.
- Add SOC keyword for spin-orbit coupling to database file as a new extension of GTH PP format
- Rename database file from GTH_POTENTIALS_SOC to GTH_SOC_POTENTIALS
- Improve proper indentation and spacing in restart file dump
- Add quotes for char_t variables in restart file
- Replace spaces in the project name with underscores
tests for nequip, allegro double prec.
include torch allow_tf32
included torch freeze model
updated energy of nequip water test with double prec.
nequip/allegro: update parsing input and torch api