(git:6a2e663)
qs_integrate_potential_product Module Reference

Build up the plane wave density by collocating the primitive Gaussian functions (pgf). More...

Functions/Subroutines

subroutine, public integrate_v_dbasis (v_rspace, matrix_vhxc_dbasis, matrix_p, qs_env, lambda)
 Integrate a potential v_rspace over the derivatives of the basis functions < da/dR | V | b > + < a | V | db/dR > Adapted from the old version of integrate_v_rspace (ED) More...
 
subroutine, public integrate_v_rspace (v_rspace, hmat, hmat_kp, pmat, pmat_kp, qs_env, calculate_forces, force_adm, compute_tau, gapw, basis_type, pw_env_external, task_list_external)
 computes matrix elements corresponding to a given potential More...
 

Detailed Description

Build up the plane wave density by collocating the primitive Gaussian functions (pgf).

History
Joost VandeVondele (02.2002) 1) rewrote collocate_pgf for increased accuracy and speed 2) collocate_core hack for PGI compiler 3) added multiple grid feature 4) new way to go over the grid Joost VandeVondele (05.2002) 1) prelim. introduction of the real space grid type JGH [30.08.02] multigrid arrays independent from potential JGH [17.07.03] distributed real space code JGH [23.11.03] refactoring and new loop ordering JGH [04.12.03] OpneMP parallelization of main loops Joost VandeVondele (12.2003) 1) modified to compute tau Joost removed incremental build feature Joost introduced map consistent Rewrote grid integration/collocation routines, [Joost VandeVondele,03.2007] JGH [26.06.15] modification to allow for k-points
Author
Matthias Krack (03.04.2001)

Function/Subroutine Documentation

◆ integrate_v_dbasis()

subroutine, public qs_integrate_potential_product::integrate_v_dbasis ( type(pw_r3d_rs_type), intent(in)  v_rspace,
type(dbcsr_p_type), dimension(:), pointer  matrix_vhxc_dbasis,
type(dbcsr_type), pointer  matrix_p,
type(qs_environment_type), pointer  qs_env,
integer, intent(in)  lambda 
)

Integrate a potential v_rspace over the derivatives of the basis functions < da/dR | V | b > + < a | V | db/dR > Adapted from the old version of integrate_v_rspace (ED)

Parameters
v_rspace...
matrix_vhxc_dbasis...
matrix_p...
qs_env...
lambdaThe atom index.

Definition at line 108 of file qs_integrate_potential_product.F.

Here is the call graph for this function:

◆ integrate_v_rspace()

subroutine, public qs_integrate_potential_product::integrate_v_rspace ( type(pw_r3d_rs_type), intent(in)  v_rspace,
type(dbcsr_p_type), intent(inout), optional  hmat,
type(dbcsr_p_type), dimension(:), optional, pointer  hmat_kp,
type(dbcsr_p_type), intent(in), optional  pmat,
type(dbcsr_p_type), dimension(:), optional, pointer  pmat_kp,
type(qs_environment_type), pointer  qs_env,
logical, intent(in)  calculate_forces,
real(kind=dp), intent(in), optional  force_adm,
logical, intent(in), optional  compute_tau,
logical, intent(in), optional  gapw,
character(len=*), intent(in), optional  basis_type,
type(pw_env_type), optional, pointer  pw_env_external,
type(task_list_type), optional, pointer  task_list_external 
)

computes matrix elements corresponding to a given potential

Parameters
v_rspace...
hmat...
hmat_kp...
pmat...
pmat_kp...
qs_env...
calculate_forces...
force_admoptional scaling of force
compute_tau...
gapw...
basis_type...
pw_env_external...
task_list_external...
History
IAB (29-Apr-2010): Added OpenMP parallelisation to task loop (c) The Numerical Algorithms Group (NAG) Ltd, 2010 on behalf of the HECToR project Some refactoring, get priorities for options correct (JGH, 04.2014) Added options to allow for k-points For a smooth transition we allow for old and new (vector) matrices (hmat, pmat) (JGH, 06.2015)
Note
integrates a given potential (or other object on a real space grid) = v_rspace using a multi grid technique (mgrid_*) over the basis set producing a number for every element of h (should have the same sparsity structure of S) additional screening is available using the magnitude of the elements in p (? I'm not sure this is a very good idea) this argument is optional derivatives of these matrix elements with respect to the ionic coordinates can be computed as well

Definition at line 574 of file qs_integrate_potential_product.F.

Here is the call graph for this function: