tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines | Variables
tblite_integral_multipole Module Reference

Implementation of multipole moment integrals, dipole and quadrupole. More...

Data Types

interface  get_multipole_integrals
 

Functions/Subroutines

pure subroutine, public multipole_cgto (cgtoj, cgtoi, r2, vec, intcut, overlap, dpint, qpint)
 
pure subroutine, public multipole_cgto_diat (cgtoj, cgtoi, r2, vec, intcut, ksig, kpi, kdel, overlap, overlap_diat, dpint, qpint)
 
pure subroutine, public multipole_grad_cgto (cgtoj, cgtoi, r2, vec, intcut, overlap, dpint, qpint, doverlap, ddpintj, dqpintj, ddpinti, dqpinti)
 

Variables

integer, parameter, public maxl = 6
 
integer, dimension(0:maxl), parameter, public msao = [1, 3, 5, 7, 9, 11, 13]
 
integer, dimension(0:maxl), parameter, public smap = [0, 1, 4, 9, 16, 25, 36]
 

Detailed Description

Implementation of multipole moment integrals, dipole and quadrupole.

Function/Subroutine Documentation

◆ multipole_cgto()

pure subroutine, public tblite_integral_multipole::multipole_cgto ( type(cgto_type), intent(in) cgtoj,
type(cgto_type), intent(in) cgtoi,
real(wp), intent(in) r2,
real(wp), dimension(3), intent(in) vec,
real(wp), intent(in) intcut,
real(wp), dimension(msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) overlap,
real(wp), dimension(3, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) dpint,
real(wp), dimension(6, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) qpint )
Parameters
[in]cgtoiDescription of contracted Gaussian function on center i
[in]cgtojDescription of contracted Gaussian function on center j
[in]r2Square distance between center i and j
[in]vecDistance vector between center i and j, ri - rj
[in]intcutMaximum value of integral prefactor to consider
[out]overlapOverlap integrals for the given pair i and j
[out]dpintDipole moment integrals for the given pair i and j
[out]qpintQuadrupole moment integrals for the given pair i and j

◆ multipole_cgto_diat()

pure subroutine, public tblite_integral_multipole::multipole_cgto_diat ( type(cgto_type), intent(in) cgtoj,
type(cgto_type), intent(in) cgtoi,
real(wp), intent(in) r2,
real(wp), dimension(3), intent(in) vec,
real(wp), intent(in) intcut,
real(wp), intent(in) ksig,
real(wp), intent(in) kpi,
real(wp), intent(in) kdel,
real(wp), dimension(msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) overlap,
real(wp), dimension(msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) overlap_diat,
real(wp), dimension(3, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) dpint,
real(wp), dimension(6, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) qpint )
Parameters
[in]cgtoiDescription of contracted Gaussian function on center i
[in]cgtojDescription of contracted Gaussian function on center j
[in]r2Square distance between center i and j
[in]vecDistance vector between center i and j, ri - rj
[in]intcutMaximum value of integral prefactor to consider
[in]ksigScaling factors for the diatomic frame for the three differnt bonding motifs
[in]kpiScaling factors for the diatomic frame for the three differnt bonding motifs
[in]kdelScaling factors for the diatomic frame for the three differnt bonding motifs
[out]overlapOverlap integrals for the given pair i and j
[out]overlap_diatDiatomic frame-scaled overlap integrals for the given pair i and j
[out]dpintDipole moment integrals for the given pair i and j
[out]qpintQuadrupole moment integrals for the given pair i and j

Block overlap matrix as a technical intermediate for the diatomic frame

◆ multipole_grad_cgto()

pure subroutine, public tblite_integral_multipole::multipole_grad_cgto ( type(cgto_type), intent(in) cgtoj,
type(cgto_type), intent(in) cgtoi,
real(wp), intent(in) r2,
real(wp), dimension(3), intent(in) vec,
real(wp), intent(in) intcut,
real(wp), dimension(msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) overlap,
real(wp), dimension(3, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) dpint,
real(wp), dimension(6, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) qpint,
real(wp), dimension(3, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) doverlap,
real(wp), dimension(3, 3, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) ddpintj,
real(wp), dimension(3, 6, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) dqpintj,
real(wp), dimension(3, 3, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) ddpinti,
real(wp), dimension(3, 6, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) dqpinti )
Parameters
[in]cgtoiDescription of contracted Gaussian function on center i
[in]cgtojDescription of contracted Gaussian function on center j
[in]r2Square distance between center i and j
[in]vecDistance vector between center i and j, ri - rj
[in]intcutMaximum value of integral prefactor to consider
[out]overlapOverlap integrals for the given pair i and j
[out]dpintDipole moment integrals for the given pair i and j
[out]qpintQuadrupole moment integrals for the given pair i and j
[out]doverlapOverlap integral gradient for the given pair i and j
[out]ddpintiDipole moment integral gradient for the given pair i and j
[out]dqpintiQuadrupole moment integral gradient for the given pair i and j
[out]ddpintjDipole moment integral gradient for the given pair i and j
[out]dqpintjQuadrupole moment integral gradient for the given pair i and j