(git:6a2e663)
qs_vxc Module Reference

Functions/Subroutines

subroutine, public qs_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 More...
 
subroutine, public qs_xc_density (ks_env, rho_struct, xc_section, dispersion_env, xc_ener, xc_den, vxc, vtau)
 calculates the XC density: E_xc(r) - V_xc(r)*rho(r) or E_xc(r)/rho(r) More...
 

Detailed Description

History
refactoring 03-2011 [MI]
Author
MI

Function/Subroutine Documentation

◆ qs_vxc_create()

subroutine, public qs_vxc::qs_vxc_create ( type(qs_ks_env_type), pointer  ks_env,
type(qs_rho_type), pointer  rho_struct,
type(section_vals_type), pointer  xc_section,
type(pw_r3d_rs_type), dimension(:), pointer  vxc_rho,
type(pw_r3d_rs_type), dimension(:), pointer  vxc_tau,
real(kind=dp), intent(out)  exc,
logical, intent(in), optional  just_energy,
real(kind=dp), intent(out), optional  edisp,
type(qs_dispersion_type), optional, pointer  dispersion_env,
real(kind=dp), intent(in), optional  adiabatic_rescale_factor,
type(pw_env_type), optional, pointer  pw_env_external 
)

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

Parameters
ks_envto get all the needed things
rho_structdensity for which v_xc is calculated
xc_section...
vxc_rhowill contain the v_xc part that depend on rho (if one of the chosen xc functionals has it it is allocated and you are responsible for it)
vxc_tauwill contain the kinetic tau part of v_xc (if one of the chosen xc functionals has it it is allocated and you are responsible for it)
exc...
just_energyif true calculates just the energy, and does not allocate v_*_rspace
edisp...
dispersion_env...
adiabatic_rescale_factor...
pw_env_externalexternal plane wave environment
History
  • 05.2002 modified to use the mp_allgather function each pe computes only part of the grid and this is broadcasted to all instead of summed. This scales significantly better (e.g. factor 3 on 12 cpus 32 H2O) [Joost VdV]
  • moved to qs_ks_methods [fawzi]
  • sic alterations [Joost VandeVondele]
Author
Fawzi Mohamed

Definition at line 95 of file qs_vxc.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ qs_xc_density()

subroutine, public qs_vxc::qs_xc_density ( type(qs_ks_env_type), pointer  ks_env,
type(qs_rho_type), pointer  rho_struct,
type(section_vals_type), pointer  xc_section,
type(qs_dispersion_type), optional, pointer  dispersion_env,
type(pw_r3d_rs_type), intent(inout), optional  xc_ener,
type(pw_r3d_rs_type), intent(inout), optional  xc_den,
type(pw_r3d_rs_type), dimension(:), optional  vxc,
type(pw_r3d_rs_type), dimension(:), optional  vtau 
)

calculates the XC density: E_xc(r) - V_xc(r)*rho(r) or E_xc(r)/rho(r)

Parameters
ks_envto get all the needed things
rho_structdensity
xc_section...
dispersion_env...
xc_enerwill contain the xc energy density E_xc(r) - V_xc(r)*rho(r)
xc_denwill contain the xc energy density E_xc(r)/rho(r)
vxc...
vtau...
Author
JGH

Definition at line 571 of file qs_vxc.F.

Here is the caller graph for this function: