(git:34ef472)
qs_overlap Module Reference

Calculation of overlap matrix, its derivatives and forces. More...

Functions/Subroutines

subroutine, public build_overlap_matrix (ks_env, matrix_s, matrixkp_s, matrix_name, nderivative, basis_type_a, basis_type_b, sab_nl, calculate_forces, matrix_p, matrixkp_p)
 Calculation of the overlap matrix over Cartesian Gaussian functions. More...
 
subroutine, public build_overlap_matrix_simple (ks_env, matrix_s, basis_set_list_a, basis_set_list_b, sab_nl)
 Calculation of the overlap matrix over Cartesian Gaussian functions. More...
 
subroutine, public build_overlap_force (ks_env, force, basis_type_a, basis_type_b, sab_nl, matrix_p, matrixkp_p)
 Calculation of the force contribution from an overlap matrix over Cartesian Gaussian functions. More...
 

Detailed Description

Calculation of overlap matrix, its derivatives and forces.

History
JGH: removed printing routines JGH: upgraded to unique routine for overlaps JGH: Add specific routine for 'forces only' Major refactoring for new overlap routines JGH: Kpoints JGH: openMP refactoring
Author
Matthias Krack (03.09.2001,25.06.2003)

Function/Subroutine Documentation

◆ build_overlap_matrix()

subroutine, public qs_overlap::build_overlap_matrix ( type(qs_ks_env_type), pointer  ks_env,
type(dbcsr_p_type), dimension(:), optional, pointer  matrix_s,
type(dbcsr_p_type), dimension(:, :), optional, pointer  matrixkp_s,
character(len=*), intent(in), optional  matrix_name,
integer, intent(in), optional  nderivative,
character(len=*), intent(in)  basis_type_a,
character(len=*), intent(in)  basis_type_b,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_nl,
logical, intent(in), optional  calculate_forces,
type(dbcsr_type), optional, pointer  matrix_p,
type(dbcsr_p_type), dimension(:, :), optional, pointer  matrixkp_p 
)

Calculation of the overlap matrix over Cartesian Gaussian functions.

Parameters
ks_envthe QS env
matrix_sThe overlap matrix to be calculated (optional)
matrixkp_sThe overlap matrices to be calculated (kpoints, optional)
matrix_nameThe name of the overlap matrix (i.e. for output)
nderivativeDerivative with respect to basis origin
basis_type_abasis set to be used for bra in <a|b>
basis_type_bbasis set to be used for ket in <a|b>
sab_nlpair list (must be consistent with basis sets!)
calculate_forces(optional) ...
matrix_pdensity matrix for force calculation (optional)
matrixkp_pdensity matrix for force calculation with k_points (optional)
Date
11.03.2002
History
Enlarged functionality of this routine. Now overlap matrices based on different basis sets can be calculated, taking into account also mixed overlaps NOTE: the pointer to the overlap matrix must now be put into its corresponding env outside of this routine [Manuel Guidon] Generalized for derivatives and force calculations [JHU] Kpoints, returns overlap matrices in real space index form
Author
MK
Version
1.0

Definition at line 117 of file qs_overlap.F.

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

◆ build_overlap_matrix_simple()

subroutine, public qs_overlap::build_overlap_matrix_simple ( type(qs_ks_env_type), pointer  ks_env,
type(dbcsr_p_type), dimension(:), pointer  matrix_s,
type(gto_basis_set_p_type), dimension(:), pointer  basis_set_list_a,
type(gto_basis_set_p_type), dimension(:), pointer  basis_set_list_b,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_nl 
)

Calculation of the overlap matrix over Cartesian Gaussian functions.

Parameters
ks_envthe QS env
matrix_sThe overlap matrix to be calculated
basis_set_list_abasis set list to be used for bra in <a|b>
basis_set_list_bbasis set list to be used for ket in <a|b>
sab_nlpair list (must be consistent with basis sets!)
Date
11.03.2016
History
Simplified version of build_overlap_matrix
Author
MK
Version
1.0

Definition at line 556 of file qs_overlap.F.

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

◆ build_overlap_force()

subroutine, public qs_overlap::build_overlap_force ( type(qs_ks_env_type), pointer  ks_env,
real(kind=dp), dimension(:, :), intent(inout)  force,
character(len=*), intent(in)  basis_type_a,
character(len=*), intent(in)  basis_type_b,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_nl,
type(dbcsr_type), optional  matrix_p,
type(dbcsr_p_type), dimension(:), optional  matrixkp_p 
)

Calculation of the force contribution from an overlap matrix over Cartesian Gaussian functions.

Parameters
ks_envthe QS environment
forceholds the calcuated force Tr(P dS/dR)
basis_type_abasis set to be used for bra in <a|b>
basis_type_bbasis set to be used for ket in <a|b>
sab_nlpair list (must be consistent with basis sets!)
matrix_pdensity matrix for force calculation
matrixkp_p...
Date
11.03.2002
History
Enlarged functionality of this routine. Now overlap matrices based on different basis sets can be calculated, taking into account also mixed overlaps NOTE: the pointer to the overlap matrix must now be put into its corresponding env outside of this routine [Manuel Guidon] Generalized for derivatives and force calculations [JHU] This special version is only for forces [07.07.2014, JGH]
Author
MK/JGH
Version
1.0

Definition at line 782 of file qs_overlap.F.

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