(git:58e3e09)
qs_integrate_potential.F
Go to the documentation of this file.
1 !--------------------------------------------------------------------------------------------------!
2 ! CP2K: A general program to perform molecular dynamics simulations !
3 ! Copyright 2000-2024 CP2K developers group <https://cp2k.org> !
4 ! !
5 ! SPDX-License-Identifier: GPL-2.0-or-later !
6 !--------------------------------------------------------------------------------------------------!
7 
8 ! **************************************************************************************************
9 !> \brief Integrate single or product functions over a potential on a RS grid
10 !> \par History
11 !> Refactored from earlier versions by Joost VandeVondele (2002,2003,2007)
12 !> \author JGH [04.2014]
13 ! **************************************************************************************************
14 !
15 ! This module acts as a common container for the routines from the low level
16 ! modules
17 ! grid_api
18 ! qs_integrate_potential_product
19 ! qs_integrate_potential_single
20 !
21 ! **************************************************************************************************
32 #include "./base/base_uses.f90"
33 
34  IMPLICIT NONE
35 
36  PRIVATE
37 
38  CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'qs_integrate_potential'
39 
40 ! *** Public subroutines ***
41 
42  ! included from qs_integrate_potential_product
43  PUBLIC :: integrate_v_rspace, &
45 
46  ! included from qs_integrate_potential_single
53 
54  ! included from grid_api
55  PUBLIC :: integrate_pgf_product
56 
57 END MODULE qs_integrate_potential
Fortran API for the grid package, which is written in C.
Definition: grid_api.F:12
subroutine, public integrate_pgf_product(la_max, zeta, la_min, lb_max, zetb, lb_min, ra, rab, rsgrid, hab, pab, o1, o2, radius, calculate_forces, force_a, force_b, compute_tau, use_virial, my_virial_a, my_virial_b, hdab, hadb, a_hdab, use_subpatch, subpatch_pattern)
low level function to compute matrix elements of primitive gaussian functions
Definition: grid_api.F:279
Build up the plane wave density by collocating the primitive Gaussian functions (pgf).
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
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 | ...
Build up the plane wave density by collocating the primitive Gaussian functions (pgf).
subroutine, public integrate_v_gaussian_rspace(v_rspace, qs_env, alpha, ccore, atecc)
computes the overlap of a set of Gaussians with a potential on grid
subroutine, public integrate_v_rspace_diagonal(v_rspace, ksmat, pmat, qs_env, calculate_forces, basis_type)
computes integrals of product of v_rspace times the diagonal block basis functions required for LRIGP...
subroutine, public integrate_v_core_rspace(v_rspace, qs_env, atecc)
computes the forces/virial due to the ionic cores with a potential on grid
subroutine, public integrate_v_rspace_one_center(v_rspace, qs_env, int_res, calculate_forces, basis_type, atomlist)
computes integrals of product of v_rspace times a one-center function required for LRIGPW
subroutine, public integrate_ppl_rspace(rho_rspace, qs_env)
computes the forces/virial due to the local pseudopotential
subroutine, public integrate_rho_nlcc(rho_rspace, qs_env)
computes the forces/virial due to the nlcc pseudopotential
Integrate single or product functions over a potential on a RS grid.