Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| nuclear-electronic_orbital_method [2024/01/29 13:45] – removed explicit mention of NEO thresholds in a few examples rmata | nuclear-electronic_orbital_method [2025/05/21 12:36] (current) – [Density fitting NEO-DFT] rmata | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Nuclear-electronic orbital (NEO) method ====== | ||
| + | The [[https:// | ||
| + | |||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | |||
| + | Currently, all NEO programs require the use of the **'' | ||
| + | |||
| + | ===== Density fitting NEO-Hartree-Fock ===== | ||
| + | |||
| + | Using | ||
| + | |||
| + | < | ||
| + | DF-NEO-RHF, options | ||
| + | </ | ||
| + | |||
| + | enables the density fitting NEO-RHF program. Through the density fitting approximation in the electronic subsystem as well as the Coulomb coupling the computational scaling for small to mid-size systems is drastically reduced. The calculation parameters can be fine tuned with the options described in [[the SCF program]] section and [[density fitting]] section. However, NEO calculations require some additional parameters explained in the following. | ||
| + | |||
| + | ===== Local density fitting NEO-Hartree-Fock ===== | ||
| + | |||
| + | Using | ||
| + | |||
| + | < | ||
| + | LDF-NEO-RHF, | ||
| + | </ | ||
| + | |||
| + | enables the local density fitting NEO-RHF program. The local density fitting of the electronic subsystem leads to further speed-ups in particular for large molecular systems. The specific parameters for local density fitting can be adjusted with the options given in the [[the SCF program# | ||
| + | |||
| + | ===== Density fitting NEO-DFT ===== | ||
| + | |||
| + | The spin-restricted NEO-DFT program with density fitting for electron-repulsion integrals is available through | ||
| + | |||
| + | < | ||
| + | DF-NEO-RKS, | ||
| + | NEOEPC, | ||
| + | </ | ||
| + | |||
| + | Currently only standard grids are supported ('' | ||
| + | |||
| + | The definition of the quantum nuclei as well as the thresholds for the convergence of the nuclear cycles follows the same procedure as NEO-HF. | ||
| + | ===== NEO specific options ===== | ||
| + | |||
| + | ==== Basis sets ==== | ||
| + | |||
| + | The basis definition for NEO calculations must be given accordingly to the following basis block layout | ||
| + | |||
| + | < | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | The electronic basis set can be freely chosen from the Molpro basis set library. At the current stage no user defined mixed basis sets are possible within the NEO programs. | ||
| + | |||
| + | The nuclear basis set is defined via the **'' | ||
| + | |||
| + | The density fitting basis for the nuclear subsystem is defined via the **'' | ||
| + | |||
| + | ==== NEO centers ==== | ||
| + | |||
| + | The desired NEO centers must be declared immediately before the NEO computation explicitly via | ||
| + | |||
| + | < | ||
| + | qnuc, H1, ... | ||
| + | </ | ||
| + | |||
| + | Additionally, | ||
| + | |||
| + | < | ||
| + | 3 | ||
| + | Water molecule with one NEO center | ||
| + | H1 -3.5008791 | ||
| + | O | ||
| + | H | ||
| + | </ | ||
| + | ==== Starting options ==== | ||
| + | |||
| + | In order to provide suitable starting orbitals for the NEO computation three options can be chosen. | ||
| + | |||
| + | * The first option is to carry out a regular Hartree-Fock computation bevor the NEO program is called. Thereby, the program reads the electronic orbitals from the default RHF record. In order to give a specific record the **'' | ||
| + | * The second option is especially beneficial for large systems, since the computational costs of a prior RHF calculation is avoided. One makes use of the natural orbitals from a diagonal density matrix constructed using atomic orbitals. Atomic occupation numbers are employed as electronic starting orbitals. This option can be used via the **'' | ||
| + | * The third option is to start from a prior NEO computation via the **'' | ||
| + | |||
| + | ==== Thresholds ==== | ||
| + | |||
| + | The thresholds for the NEO computation can be adjusted with the following keywords | ||
| + | |||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | |||
| + | For robust convergence it is recommended to use higher thresholds for the SCF computations of both subsystems than the overall NEO energy. | ||
| + | |||
| + | ==== Additional options ==== | ||
| + | |||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | * **'' | ||
| + | ===== Adaptive NEO ===== | ||
| + | |||
| + | Optimization of quantum nuclei positions with the adaptive NEO approach, where the nuclear centroids are computed on-the-fly during the SCF iterations. This procedure is available by using the | ||
| + | |||
| + | < | ||
| + | ADAPTIVE | ||
| + | </ | ||
| + | keyword in the NEO program input card. This approach is so far only available for NEO-RHF calculations. | ||
| + | |||
| + | ==== Threshold ==== | ||
| + | |||
| + | The thresholds for the convergence criteria of the nuclear centers during an adaptive NEO computation can be adjusted with the following keyword | ||
| + | |||
| + | * **'' | ||
| + | * **'' | ||
| + | ==== Damping ==== | ||
| + | |||
| + | The shift of the nuclear basis function center towards the charge centroid can be damped with the following keyword | ||
| + | |||
| + | * **'' | ||
| + | |||
| + | ===== NEO examples ===== | ||
| + | |||
| + | The first example shows the input of a **'' | ||
| + | |||
| + | < | ||
| + | memory,50,m | ||
| + | gdirect | ||
| + | nosym | ||
| + | |||
| + | geometry={ | ||
| + | 3 | ||
| + | |||
| + | H1 -3.5008791 | ||
| + | H2 -4.9109791 | ||
| + | O | ||
| + | } | ||
| + | |||
| + | charge=0 | ||
| + | |||
| + | basis={ | ||
| + | default=cc-pvdz | ||
| + | |||
| + | set,nucbas | ||
| + | default=neo-basis | ||
| + | H1=pb4-f2 | ||
| + | H2=pb4-f2 | ||
| + | |||
| + | set,nucfit | ||
| + | default=neo-basis | ||
| + | H1=10s10p10d10f | ||
| + | H2=10s10p10d10f | ||
| + | } | ||
| + | |||
| + | qnuc,H1,H2 | ||
| + | |||
| + | {df-neo-rhf, | ||
| + | neothre, | ||
| + | neothrie, | ||
| + | neothrin, | ||
| + | neothrg, | ||
| + | neothrd, | ||
| + | neoatden} | ||
| + | </ | ||
| + | |||
| + | The second example shows the input of a **'' | ||
| + | |||
| + | < | ||
| + | memory,50,m | ||
| + | gdirect | ||
| + | nosym | ||
| + | noextra | ||
| + | geometry={ | ||
| + | 3 | ||
| + | |||
| + | H1 -3.5008791 | ||
| + | H2 -4.9109791 | ||
| + | O | ||
| + | } | ||
| + | charge=0 | ||
| + | basis={ | ||
| + | default=cc-pvdz | ||
| + | set,nucbas | ||
| + | default=neo-basis | ||
| + | H1=pb4-D | ||
| + | H2=pb4-D | ||
| + | set,nucfit, context=JKFIT | ||
| + | default=cc-pvdz | ||
| + | H1=10s10p10d10f | ||
| + | H2=10s10p10d10f | ||
| + | } | ||
| + | {grid, | ||
| + | {df-rks, | ||
| + | qnuc,H1,H2 | ||
| + | {df-neo-rks, | ||
| + | NEOEPC, | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | The following example shows the input of a **'' | ||
| + | |||
| + | < | ||
| + | memory,50,m | ||
| + | gdirect | ||
| + | nosym | ||
| + | |||
| + | geometry={ | ||
| + | 3 | ||
| + | |||
| + | H1 -3.5008791 | ||
| + | H2 -4.9109791 | ||
| + | O | ||
| + | } | ||
| + | |||
| + | charge=0 | ||
| + | |||
| + | basis={ | ||
| + | default=cc-pvdz | ||
| + | |||
| + | set,nucbas | ||
| + | default=neo-basis | ||
| + | H1=pb4-f2 | ||
| + | H2=pb4-f2 | ||
| + | |||
| + | set,nucfit | ||
| + | default=neo-basis | ||
| + | H1=10s10p10d10f | ||
| + | H2=10s10p10d10f | ||
| + | } | ||
| + | |||
| + | {rhf} | ||
| + | |||
| + | qnuc,H1,H2 | ||
| + | |||
| + | {ldf-neo-rhf, | ||
| + | |||
| + | {cube, | ||
| + | </ | ||
| + | |||
| + | The following example shows a NEO calculation, | ||
| + | |||
| + | < | ||
| + | memory,50,m | ||
| + | gdirect | ||
| + | nosym | ||
| + | |||
| + | geometry={ | ||
| + | 3 | ||
| + | |||
| + | H1 -3.5008791 | ||
| + | H2 -4.9109791 | ||
| + | O | ||
| + | } | ||
| + | |||
| + | charge=0 | ||
| + | |||
| + | basis={ | ||
| + | default=cc-pvtz | ||
| + | H1=cc-pv5z | ||
| + | |||
| + | set,nucbas | ||
| + | default=neo-basis | ||
| + | H1=pb4-f2 | ||
| + | |||
| + | set,nucfit | ||
| + | default=neo-basis | ||
| + | H1=10s10p10d10f | ||
| + | |||
| + | set,elebas | ||
| + | default=cc-pvtz | ||
| + | H1=cc-pv5z | ||
| + | |||
| + | set, | ||
| + | default=cc-pvtz | ||
| + | H1=cc-pv5z | ||
| + | } | ||
| + | |||
| + | qnuc,H1 | ||
| + | |||
| + | {df-neo-rhf, | ||
| + | neoatden | ||
| + | neomixbas | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | The example below shows the input for an adaptive NEO calculation, | ||
| + | |||
| + | < | ||
| + | memory,50,m | ||
| + | gdirect | ||
| + | nosym | ||
| + | |||
| + | geometry={ | ||
| + | 3 | ||
| + | |||
| + | H1 -3.5008791 | ||
| + | H2 -4.9109791 | ||
| + | O | ||
| + | } | ||
| + | |||
| + | charge=0 | ||
| + | |||
| + | basis={ | ||
| + | default=cc-pvdz | ||
| + | |||
| + | set,nucbas | ||
| + | default=neo-basis | ||
| + | H1=pb4-f2 | ||
| + | |||
| + | set,nucfit | ||
| + | default=neo-basis | ||
| + | H1=10s10p10d10f | ||
| + | } | ||
| + | |||
| + | {rhf} | ||
| + | |||
| + | qnuc,H1 | ||
| + | |||
| + | {df-neo-rhf, | ||
| + | adaptive | ||
| + | adthres, | ||
| + | addump,0.5 | ||
| + | } | ||
| + | </ | ||
| + | ===== Bibliography ===== | ||
| + | |||
| + | ===NEO methodology=== | ||
| + | |||
| + | Simon P. Webb, Tzvetelin Iordanov, and Sharon Hammes-Schiffer [[https:// | ||
| + | |||
| + | Fabijan Pavošević, | ||
| + | |||
| + | ===PB basis sets=== | ||
| + | |||
| + | Qi Yu, Fabijan Pavošević, | ||
| + | |||
| + | ===(L)DF-NEO-RHF=== | ||
| + | |||
| + | Lukas Hasecke, and Ricardo A. Mata [[https:// | ||
| + | |||
| + | ===DF-NEO-RKS=== | ||
| + | |||
| + | Lukas Hasecke, Maximilian Breitenbach, | ||