|
logical function, public | xc::xc_uses_kinetic_energy_density (xc_fun_section, lsd) |
| ...
|
|
logical function, public | xc::xc_uses_norm_drho (xc_fun_section, lsd) |
| ...
|
|
subroutine, public | xc::xc_vxc_pw_create1 (vxc_rho, vxc_tau, rho_r, rho_g, tau, exc, xc_section, pw_pool, compute_virial, virial_xc, exc_r) |
| Exchange and Correlation functional calculations. depending on the selected functional_routine calls the correct routine.
|
|
subroutine, public | xc::smooth_cutoff (pot, rho, rhoa, rhob, rho_cutoff, rho_smooth_cutoff_range, e_0, e_0_scale_factor) |
| smooths the cutoff on rho with a function smoothderiv_rho that is 0 for rho<rho_cutoff and 1 for rho>rho_cutoff*rho_smooth_cutoff_range: E= integral e_0*smoothderiv_rho => dE/d...= de/d... * smooth, dE/drho = de/drho * smooth + e_0 * dsmooth/drho
|
|
subroutine, public | xc::calc_xc_density (pot, rho, rho_cutoff) |
|
subroutine, public | xc::xc_vxc_pw_create (vxc_rho, vxc_tau, exc, rho_r, rho_g, tau, xc_section, pw_pool, compute_virial, virial_xc, exc_r) |
| Exchange and Correlation functional calculations.
|
|
real(kind=dp) function, public | xc::xc_exc_calc (rho_r, rho_g, tau, xc_section, pw_pool) |
| calculates just the exchange and correlation energy (no vxc)
|
|
subroutine, public | xc::xc_calc_2nd_deriv (v_xc, v_xc_tau, deriv_set, rho_set, rho1_r, rho1_g, tau1_r, pw_pool, xc_section, gapw, vxg, do_excitations, do_triplet, compute_virial, virial_xc) |
| Caller routine to calculate the second order potential in the direction of rho1_r.
|
|
subroutine, public | xc::xc_calc_2nd_deriv_numerical (v_xc, v_tau, rho_set, rho1_r, rho1_g, tau1_r, pw_pool, xc_section, do_triplet, calc_virial, virial_xc, deriv_set) |
| calculates 2nd derivative numerically
|
|
subroutine, public | xc::xc_calc_2nd_deriv_analytical (v_xc, v_xc_tau, deriv_set, rho_set, rho1_set, pw_pool, xc_section, gapw, vxg, tddfpt_fac, compute_virial, virial_xc) |
| Calculates the second derivative of E_xc at rho in the direction rho1 (if you see the second derivative as bilinear form) partial_rho|_(rho=rho) partial_rho|_(rho=rho) E_xc drho(rho1)drho The other direction is still undetermined, thus it returns a potential (partial integration is performed to reduce it to function of rho, removing the dependence from its partial derivs) Has to be called after the setup by xc_prep_2nd_deriv.
|
|
subroutine, public | xc::xc_prep_2nd_deriv (deriv_set, rho_set, rho_r, pw_pool, xc_section, tau_r) |
| Prepare objects for the calculation of the 2nd derivatives of the density functional. The calculation must then be performed with xc_calc_2nd_deriv.
|
|
subroutine, public | xc::divide_by_norm_drho (deriv_set, rho_set, lsd) |
| divides derivatives from deriv_set by norm_drho
|
|