(git:3add494)
qs_core_hamiltonian Module Reference

Calculation of the core Hamiltonian integral matrix <a|H|b> over Cartesian Gaussian-type functions. More...

Functions/Subroutines

subroutine, public build_core_hamiltonian_matrix (qs_env, calculate_forces)
 Cosntruction of the QS Core Hamiltonian Matrix. More...
 
subroutine, public dump_info_core_hamiltonian (qs_env, calculate_forces)
 Possibly prints matrices after the construction of the Core Hamiltonian Matrix. More...
 
subroutine, public qs_matrix_h_allocate_imag_from_real (qs_env)
 (Re-)allocates matrix_h_im from matrix_h More...
 

Detailed Description

Calculation of the core Hamiltonian integral matrix <a|H|b> over Cartesian Gaussian-type functions.

<a|H|b> = <a|T|b> + <a|V|b>

Kinetic energy:

<a|T|b> = <a|-nabla**2/2|b> _______________/ | kinetic

Nuclear potential energy:

a) Allelectron calculation:

                erfc(r)

<a|V|b> = -Z*<a|------—|b> r

1 - erf(r) = -Z*<a|---------—|b> r

1 erf(r) = -Z*(<a|—|b> - <a|-----—|b>) r r

1 = -Z*(<a|—|b> - N*<ab||c>) r

-Z = <a|—|b> + Z*N*<ab||c> r _______/ _____/ | | nuclear coulomb

b) Pseudopotential calculation (Goedecker, Teter and Hutter; GTH):

<a|V|b> = <a|(V(local) + V(non-local))|b>

    = <a|(V(local)|b> + <a|V(non-local))|b>

<a|V(local)|b> = <a|-Z(eff)*erf(SQRT(2)*alpha*r)/r + (C1 + C2*(alpha*r)**2 + C3*(alpha*r)**4 + C4*(alpha*r)**6)*exp(-(alpha*r)**2/2))|b>

<a|V(non-local)|b> = <a|p(l,i)>h(i,j)<p(l,j)|b>

Literature
S. Goedecker, M. Teter and J. Hutter, Phys. Rev. B 54, 1703 (1996) C. Hartwigsen, S. Goedecker and J. Hutter, Phys. Rev. B 58, 3641 (1998) M. Krack and M. Parrinello, Phys. Chem. Chem. Phys. 2, 2105 (2000) S. Obara and A. Saika, J. Chem. Phys. 84, 3963 (1986)
History
  • Joost VandeVondele (April 2003) : added LSD forces
  • Non-redundant calculation of the non-local part of the GTH PP (22.05.2003,MK)
  • New parallelization scheme (27.06.2003,MK)
  • OpenMP version (07.12.2003,JGH)
  • Binary search loop for VPPNL operators (09.01.2004,JGH,MK)
  • Refactoring of pseudopotential and nuclear attraction integrals (25.02.2009,JGH)
  • General refactoring (01.10.2010,JGH)
  • Refactoring related to the new kinetic energy and overlap routines (07.2014,JGH)
  • k-point functionality (07.2015,JGH)
Author
Matthias Krack (14.09.2000,21.03.02)

Function/Subroutine Documentation

◆ build_core_hamiltonian_matrix()

subroutine, public qs_core_hamiltonian::build_core_hamiltonian_matrix ( type(qs_environment_type), pointer  qs_env,
logical, intent(in)  calculate_forces 
)

Cosntruction of the QS Core Hamiltonian Matrix.

Parameters
qs_env...
calculate_forces...
Author
Creation (11.03.2002,MK) Non-redundant calculation of the non-local part of the GTH PP (22.05.2003,MK) New parallelization scheme (27.06.2003,MK)

Definition at line 156 of file qs_core_hamiltonian.F.

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

◆ dump_info_core_hamiltonian()

subroutine, public qs_core_hamiltonian::dump_info_core_hamiltonian ( type(qs_environment_type), pointer  qs_env,
logical, intent(in)  calculate_forces 
)

Possibly prints matrices after the construction of the Core Hamiltonian Matrix.

Parameters
qs_env...
calculate_forces...

Definition at line 563 of file qs_core_hamiltonian.F.

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

◆ qs_matrix_h_allocate_imag_from_real()

subroutine, public qs_core_hamiltonian::qs_matrix_h_allocate_imag_from_real ( type(qs_environment_type)  qs_env)

(Re-)allocates matrix_h_im from matrix_h

Parameters
qs_env...

Definition at line 746 of file qs_core_hamiltonian.F.

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