|
| subroutine, public | v_ks_init (ks, namespace, gr, st, ions, mc, space, kpoints) |
| |
| subroutine, public | v_ks_end (ks) |
| |
| subroutine, public | v_ks_write_info (ks, iunit, namespace) |
| |
| subroutine, public | v_ks_check_generalized_overlap (ks, st, hm, namespace) |
| | Fence the spin treatments and theory levels / functionals that are not yet correct for ultrasoft/PAW. More...
|
| |
| subroutine, public | v_ks_h_setup (namespace, space, gr, ions, ext_partners, st, ks, hm, calc_eigenval, calc_current) |
| |
| subroutine, public | v_ks_calc (ks, namespace, space, hm, st, ions, ext_partners, calc_eigenval, time, calc_energy, calc_current, force_semilocal) |
| |
| subroutine, public | v_ks_calc_start (ks, namespace, space, hm, st, ions, latt, ext_partners, time, calc_energy, force_semilocal) |
| | This routine starts the calculation of the Kohn-Sham potential. The routine v_ks_calc_finish must be called to finish the calculation. The argument hm is not modified. The argument st can be modified after the function have been used. More...
|
| |
| subroutine, public | v_ks_calc_finish (ks, hm, namespace, space, latt, st, ext_partners, force_semilocal) |
| |
| subroutine | isdf_ace_compute_potentials (exxop, namespace, space, gr, hf_st, xst, kpoints) |
| | Temporary wrapper for selecting ISDF implementation computing application of the exact exchange operator on the KS states, in the ACE framework. More...
|
| |
| subroutine | v_ks_hartree (namespace, ks, space, hm, ext_partners) |
| | Hartree contribution to the KS potential. This function is designed to be used by v_ks_calc_finish and it cannot be called directly. More...
|
| |
| subroutine, public | v_ks_freeze_hxc (ks) |
| |
| subroutine, public | v_ks_calculate_current (this, calc_cur) |
| |
| subroutine, public | v_ks_update_dftu_energy (ks, namespace, hm, st, int_dft_u) |
| | Update the value of <\psi | V_U | \psi>, where V_U is the DFT+U potential. More...
|
| |
| logical function, public | v_ks_is_orbital_dependent (ks) |
| | Is the theory method and functional orbital-dependent? More...
|
| |
Fence the spin treatments and theory levels / functionals that are not yet correct for ultrasoft/PAW.
With a generalized overlap (ultrasoft/PAW) the density is reconstructed as n = sum_n f_n |psi~_n|^2 + sum_ij rho_ij Q_ij(r) (Vanderbilt PRB 41, 7892 (1990); Laasonen et al. PRB 47, 10142 (1993)). Any correction that is an explicit functional of n(r) and whose potential enters as a local multiplicative V(r) is handled by the existing machinery, because strho already carries the augmentation and update_dij screens D_ij with the full V_eff. This covers LDA, GGA, ADSIC and the Amaldi correction, for unpolarized calculations.
It does NOT cover:
- spin-polarized calculations: the screened D_ij is built from a single spin channel of V_eff.
- noncollinear (spinor) calculations: the spinor augmentation density is not implemented.
- meta-GGA: tau is built from the pseudo orbitals only; the tau-augmentation is missing.
- hybrids / Hartree-Fock: the exact-exchange codensity and its D-screening are not augmented (see Wu, Selloni, Car PRB 79, 085102 (2009)).
- PZ-SIC via OEP: orbital-resolved augmentation plus OEP in the generalized-overlap setting.
- DFT+U: the occupation matrix needs the S-augmented projection <psi~|S|phi> (Cococcioni and de Gironcoli PRB 71, 035105 (2005)), not the bare <phi|psi~> used here.
This must be called AFTER the Hamiltonian has set strequires_generalized_overlap.
Definition at line 665 of file v_ks.F90.