(git:6a2e663)
qs_kpp1_env_methods Module Reference

module that builds the second order perturbation kernel kpp1 = delta_rho|_P delta_rho|_P E drho(P1) drho More...

Functions/Subroutines

subroutine, public kpp1_create (kpp1_env)
 allocates and initializes a kpp1_env More...
 
subroutine, public kpp1_calc_k_p_p1 (p_env, qs_env, rho1, rho1_xc)
 calculates the k_p_p1 kernel of the perturbation theory More...
 
subroutine, public calc_kpp1 (rho1_xc, rho1, xc_section, do_tddft, lsd_singlets, lrigpw, do_excitations, do_triplet, qs_env, p_env, calc_forces, calc_virial, virial)
 ... More...
 
subroutine, public kpp1_calc_k_p_p1_fdiff (qs_env, k_p_p1, rho, rho1, diff)
 calcualtes the k_p_p1 kernel of the perturbation theory with finite differences More...
 
subroutine, public kpp1_check_i_alloc (kpp1_env, qs_env, do_excitations, lsd_singlets, do_triplet)
 checks that the intenal storage is allocated, and allocs it if needed More...
 
subroutine, public kpp1_did_change (kpp1_env)
 function to advise of changes either in the grids More...
 

Detailed Description

module that builds the second order perturbation kernel kpp1 = delta_rho|_P delta_rho|_P E drho(P1) drho

History
07.2002 created [fawzi]
Author
Fawzi Mohamed

Function/Subroutine Documentation

◆ kpp1_create()

subroutine, public qs_kpp1_env_methods::kpp1_create ( type(qs_kpp1_env_type)  kpp1_env)

allocates and initializes a kpp1_env

Parameters
kpp1_envthe environment to initialize
History
07.2002 created [fawzi]
Author
Fawzi Mohamed

Definition at line 110 of file qs_kpp1_env_methods.F.

Here is the caller graph for this function:

◆ kpp1_calc_k_p_p1()

subroutine, public qs_kpp1_env_methods::kpp1_calc_k_p_p1 ( type(qs_p_env_type)  p_env,
type(qs_environment_type), pointer  qs_env,
type(qs_rho_type), pointer  rho1,
type(qs_rho_type), optional, pointer  rho1_xc 
)

calculates the k_p_p1 kernel of the perturbation theory

Parameters
p_envperturbation environment containing kpp1 kernel and kpp1_env
qs_envkpp1's qs_env
rho1the density that represent the first direction along which you should evaluate the derivatives
rho1_xc...

Definition at line 125 of file qs_kpp1_env_methods.F.

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

◆ calc_kpp1()

subroutine, public qs_kpp1_env_methods::calc_kpp1 ( type(qs_rho_type), pointer  rho1_xc,
type(qs_rho_type), pointer  rho1,
type(section_vals_type), pointer  xc_section,
logical, intent(in)  do_tddft,
logical, intent(in)  lsd_singlets,
logical, intent(in)  lrigpw,
logical, intent(in)  do_excitations,
logical, intent(in)  do_triplet,
type(qs_environment_type), pointer  qs_env,
type(qs_p_env_type)  p_env,
logical, intent(in), optional  calc_forces,
logical, intent(in), optional  calc_virial,
real(kind=dp), dimension(3, 3), intent(inout), optional  virial 
)

...

Parameters
rho1_xc...
rho1...
xc_section...
do_tddft...
lsd_singlets...
lrigpw...
do_excitations...
do_triplet...
qs_env...
p_env...
calc_forces...
calc_virial...
virial...

Definition at line 190 of file qs_kpp1_env_methods.F.

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

◆ kpp1_calc_k_p_p1_fdiff()

subroutine, public qs_kpp1_env_methods::kpp1_calc_k_p_p1_fdiff ( type(qs_environment_type), pointer  qs_env,
type(dbcsr_p_type), dimension(:), pointer  k_p_p1,
type(qs_rho_type), pointer  rho,
type(qs_rho_type), pointer  rho1,
real(kind=dp), intent(in), optional  diff 
)

calcualtes the k_p_p1 kernel of the perturbation theory with finite differences

Parameters
qs_envkpp1's qs_env
k_p_p1the sparse matrix that will contain the kernel k_p_p1
rhothe density where to evaluate the derivatives (i.e. p along with with its grid representations, that must be valid)
rho1the density that represent the first direction along which you should evaluate the derivatives
diffthe amount of the finite difference step
History
01.2003 created [fawzi]
Author
Fawzi Mohamed
Note
useful for testing purposes. rescale my_diff depending on the norm of rho1?

Definition at line 568 of file qs_kpp1_env_methods.F.

Here is the caller graph for this function:

◆ kpp1_check_i_alloc()

subroutine, public qs_kpp1_env_methods::kpp1_check_i_alloc ( type(qs_kpp1_env_type)  kpp1_env,
type(qs_environment_type), intent(in), pointer  qs_env,
logical, intent(in)  do_excitations,
logical, intent(in)  lsd_singlets,
logical, intent(in)  do_triplet 
)

checks that the intenal storage is allocated, and allocs it if needed

Parameters
kpp1_envthe environment to check
qs_envthe qs environment this kpp1_env lives in
do_excitations...
lsd_singlets...
do_triplet...
Author
Fawzi Mohamed
Note
private routine

Definition at line 658 of file qs_kpp1_env_methods.F.

Here is the caller graph for this function:

◆ kpp1_did_change()

subroutine, public qs_kpp1_env_methods::kpp1_did_change ( type(qs_kpp1_env_type)  kpp1_env)

function to advise of changes either in the grids

Parameters
kpp1_envthe kpp1_env
History
11.2002 created [fawzi]
Author
Fawzi Mohamed

Definition at line 770 of file qs_kpp1_env_methods.F.

Here is the caller graph for this function: