tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_integral_dipole Module Reference

Implementation of dipole moment integrals. More...

Data Types

interface  get_dipole_integrals
 

Functions/Subroutines

pure subroutine, public dipole_cgto (cgtoj, cgtoi, r2, vec, intcut, overlap, dpint)
 
pure subroutine, public dipole_cgto_diat (cgtoj, cgtoi, r2, vec, intcut, ksig, kpi, kdel, overlap, overlap_diat, dpint)
 
pure subroutine, public dipole_grad_cgto (cgtoj, cgtoi, r2, vec, intcut, overlap, dpint, doverlap, ddpint)
 

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 dipole moment integrals.

Function/Subroutine Documentation

◆ dipole_cgto()

pure subroutine, public tblite_integral_dipole::dipole_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 )
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

◆ dipole_cgto_diat()

pure subroutine, public tblite_integral_dipole::dipole_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 )
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 (unscaled and diatomic frame-scaled) for the given pair i and j
[out]overlap_diatOverlap integrals (unscaled and diatomic frame-scaled) for the given pair i and j
[out]dpintDipole moment integrals for the given pair i and j

Block overlap matrix as a technical intermediate for the diatomic frame

◆ dipole_grad_cgto()

pure subroutine, public tblite_integral_dipole::dipole_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(3, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) doverlap,
real(wp), dimension(3, 3, msao(cgtoj%ang), msao(cgtoi%ang)), intent(out) ddpint )
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]doverlapOverlap integral gradient for the given pair i and j
[out]ddpintDipole moment integral gradient for the given pair i and j