(git:b279b6b)
xc.F File Reference

Go to the source code of this file.

Modules

module  xc
 Exchange and Correlation functional calculations.
 

Functions/Subroutines

logical function, public xc::xc_uses_kinetic_energy_density (xc_fun_section, lsd)
 ... More...
 
logical function, public xc::xc_uses_norm_drho (xc_fun_section, lsd)
 ... More...
 
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. More...
 
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 More...
 
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. More...
 
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) More...
 
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, lsd_singlets, do_excitations, do_triplet, do_tddft, compute_virial, virial_xc)
 Caller routine to calculate the second order potential in the direction of rho1_r. More...
 
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 More...
 
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. More...
 
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. More...
 
subroutine, public xc::divide_by_norm_drho (deriv_set, rho_set, lsd)
 divides derivatives from deriv_set by norm_drho More...