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

Evaluation of the diatomic scaled overlap. More...

Data Types

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

Functions/Subroutines

pure subroutine, public tblite_integral_diat_trafo::setup_diat_trafo (cache, vec, maxlj, maxli, grad)
 Prepare the diatomic frame rotation matrices once per atom pair reusing memory.
pure subroutine, public tblite_integral_diat_trafo::diat_trafo (cache, ksig, kpi, kdel, block_overlap, block_doverlap)
 Apply a prepared diatomic frame transformation to a shell-pair overlap block and optionally calaculate the Cartesian derivatives.

Detailed Description

Evaluation of the diatomic scaled overlap.

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 a prepared diatomic frame transformation to a shell-pair overlap block and optionally calaculate the Cartesian derivatives.

Parameters
[in,out]cacheCache for intermediate diatomic frame transformation 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 transformed and scaled
[in,out]block_doverlapDerivative of diatomic block of CGTO overlap to be transformed and 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 diatomic frame rotation matrices once per atom pair reusing memory.

Parameters
[in,out]cacheCache for intermediate diatomic frame transformation data
[in]vecInteratomic vector defining the diatomic frame z-axis
[in]maxljMaximum angular momentum on atom j
[in]maxliMaximum angular momentum on atom i
[in]gradOptional flag to prepare diatomic frame transformation gradient matrices