Documentation for module qs_vxc

source: qs_vxc.F
Loading...

public Subroutines/Functions:

calculates and allocates the xc potential, already reducing it to the dependence on rho and the one on tau

SUBROUTINEqs_vxc_create(ks_env, rho_struct, xc_section, vxc_rho, vxc_tau, exc, just_energy, edisp, dispersion_env, adiabatic_rescale_factor, pw_env_external)

calculates and allocates the xc potential, already reducing it to the dependence on rho and the one on tau

Arguments:
POINTER
:: ks_env to get all the needed things
POINTER
:: rho_struct density for which v_xc is calculated
POINTER
:: xc_section ...
TYPE(pw_p_type),
POINTER
:: vxc_rho(:) will contain the v_xc part that depend on rho (if one of the choosen xc functionals has it it is allocated and you are responsible for it)
TYPE(pw_p_type),
POINTER
:: vxc_tau(:) will contain the kinetic (tau) part of v_xc (if one of the choosen xc functionals has it it is allocated and you are responsible for it)
REAL(dp),
INTENT(out)
:: exc ...
LOGICAL,
INTENT(in),
OPTIONAL
:: just_energy if true calculates just the energy, and does not allocate v_*_rspace
REAL(dp),
INTENT(out),
OPTIONAL
:: edisp ...
OPTIONAL, POINTER
:: dispersion_env ...
REAL(dp),
INTENT(in),
OPTIONAL
:: adiabatic_rescale_factor ...
OPTIONAL, POINTER
:: pw_env_external external plane wave environment