CP2K 2.4 (Revision 12889)
Functions | Variables

qs_vxc Namespace Reference

Functions

subroutine, public qs_vxc_create (qs_env, rho_struct, xc_section, vxc_rho, vxc_tau, exc, just_energy, adiabatic_rescale_factor, error)
 calculates and allocates the xc potential, already reducing it to the dependence on rho and the one on tau

Variables

CHARACTER(len=*), parameter,
private 
moduleN = 'qs_vxc'

Detailed Description

History
refactoring 03-2011 [MI]
Author:
MI

Function Documentation

subroutine,public qs_vxc::qs_vxc_create ( TYPE(qs_environment_type),pointer  qs_env,
TYPE(qs_rho_type),pointer  rho_struct,
TYPE(section_vals_type),pointer  xc_section,
TYPE(pw_p_type),dimension(:),pointer  vxc_rho,
TYPE(pw_p_type),dimension(:),pointer  vxc_tau,
REAL(KIND=dp)  exc,
LOGICAL,intent(in),optional  just_energy,
REAL(KIND=dp),intent(in),optional  adiabatic_rescale_factor,
TYPE(cp_error_type),intent(inout)  error 
)

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

Parameters:
vxc_rhowill 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)
vxc_tauwill 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)
qs_envqs_environment to get all the needed things
rho_structdensity for which v_xc is calculated
just_energyif true calculates just the energy, and does not allocate v_*_rspace
errorvariable to control error logging, stopping,... see module cp_error_handling
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.f90.

References qs_dispersion_nonloc::calculate_dispersion_nonloc(), pw_types::COMPLEXDATA1D, CPPostcondition, CPPostconditionNoFail, error, qs_mo_types::get_mo_set(), qs_environment_types::get_qs_env(), pw_methods::pw_axpy(), pw_env_types::pw_env_get(), pw_grids::pw_grid_compare(), pw_pool_types::pw_pool_create_pw(), input_constants::sic_ad, timings::timeset(), and xc::xc_exc_calc().

Referenced by qs_linres_epr_nablavks::epr_nablavks(), harris_force::harris_calc_nsc_force(), harris_functional::harris_energy_correction(), harris_force::harris_force_correction(), harris_force::harris_force_EVal(), harris_force::harris_force_test_integral_vxc(), kg_correction::kg_ekin_subset(), qs_ks_methods::qs_ks_build_kohn_sham_matrix(), and xc_adiabatic_utils::rescale_xc_potential().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

CHARACTER(len=*),parameter,private qs_vxc::moduleN = 'qs_vxc'

Definition at line 66 of file qs_vxc.f90.