tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
diat_trafo.f90 File Reference

Evaluation of the diatomic scaled overlap based on projection of the sigma, pi, and delta contributions onto the bond axis. More...

Data Types

type  tblite_integral_diat_trafo::diat_trafo_cache
 Thread-private reusable cache for one atom-pair scaling. More...

Functions/Subroutines

pure subroutine, public tblite_integral_diat_trafo::setup_diat_trafo (cache, vec, maxlj, maxli, grad)
 Prepare the bond axis and its derivative once per atom pair reusing memory.
pure subroutine, public tblite_integral_diat_trafo::diat_trafo (cache, ksig, kpi, kdel, block_overlap, block_doverlap)
 Apply the diatomic sigma, pi and delta scaling to a shell-pair overlap block and optionally calculate the Cartesian derivatives.

Variables

real(wp), parameter tblite_integral_diat_trafo::sqrtthotw = sqrt(1.5_wp)

Detailed Description

Evaluation of the diatomic scaled overlap based on projection of the sigma, pi, and delta contributions onto the bond axis.

Function/Subroutine Documentation

◆ diat_trafo()

pure subroutine, public tblite_integral_diat_trafo::diat_trafo ( type(diat_trafo_cache), intent(inout) cache,
real(wp), intent(in) ksig,
real(wp), intent(in) kpi,
real(wp), intent(in) kdel,
real(wp), dimension(:, :), intent(inout), contiguous block_overlap,
real(wp), dimension(:, :, :), intent(inout), optional, contiguous block_doverlap )

Apply the diatomic sigma, pi and delta scaling to a shell-pair overlap block and optionally calculate the Cartesian derivatives.

Parameters
[in,out]cacheCache for intermediate diatomic scaling data
[in]ksigScaling parameters for sigma bonding contributions
[in]kpiScaling parameters for pi bonding contributions
[in]kdelScaling parameters for delta bonding contributions
[in,out]block_overlapDiatomic block of CGTO overlap to be scaled
[in,out]block_doverlapDerivative of diatomic block of CGTO overlap to be scaled

◆ setup_diat_trafo()

pure subroutine, public tblite_integral_diat_trafo::setup_diat_trafo ( type(diat_trafo_cache), intent(inout) cache,
real(wp), dimension(3), intent(in) vec,
integer, intent(in) maxlj,
integer, intent(in) maxli,
logical, intent(in), optional grad )

Prepare the bond axis and its derivative once per atom pair reusing memory.

Parameters
[in,out]cacheCache for intermediate scaling data
[in]vecInteratomic vector defining the bond axis
[in]maxljMaximum angular momentum on atom j
[in]maxliMaximum angular momentum on atom i
[in]gradOptional flag to prepare the derivative of the bond axis