(git:5e7fe52)
Loading...
Searching...
No Matches
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, native_skala_atom_force, qs_env_external, native_gapw_composite_override, native_skala_defer_to_atom_composite)
 calculates and allocates the xc potential, already reducing it to the dependence on rho and the one on tau
subroutine, public qs_xc_density (ks_env, rho_struct, xc_section, dispersion_env, xc_ener, xc_den, exc, vxc, vtau)
 calculates the XC density: E_xc(r) - V_xc(r)*rho(r) or E_xc(r)/rho(r)

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,
real(kind=dp), dimension(:, :), intent(out), optional native_skala_atom_force,
type(qs_environment_type), optional, pointer qs_env_external,
logical, intent(in), optional native_gapw_composite_override,
logical, intent(in), optional native_skala_defer_to_atom_composite )

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
native_skala_atom_force...
qs_env_externalparent Quickstep environment for GAPW reconstruction
native_gapw_composite_override...
native_skala_defer_to_atom_compositeprepare VXC storage while deferring the native SKALA evaluation to the atom-centered GAPW composite path
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 114 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), optional exc,
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)
excwill contain the xc energy density E_xc(r)
vxc...
vtau...
Author
JGH

Definition at line 1218 of file qs_vxc.F.

Here is the caller graph for this function: