braket Function

public function braket(g, b, i, j, f) result(value)

braket(): where i, j indicate i-th and j-th basis function braket_Laplacian():

This integration is crucial to reduce computational time. There are many overlaps among atomic grids. Note that a multiplication of two AOs is NOT decomposed into a sum of two atomic-centered grid sets. Even one AO is NOT represented with one atomic-centered grid set, because of many overlaps. Thus, a multiplication of two AOs (overlap matrix) SHOULD NOT BE CALCULATED simply with integral_double_center()!!! Here is how to calculate multicenter integration. --- Method (d) First, decompose into individual atomic-centered grid set (atomic sphere). Second, check if i-th basis function and j-th basis function have a large contribution (overlap) to each atomic sphere. Also check if a multiplication of i-th and j-th basis functions has a large contribution to each atomic sphere. All of them are taken into account via B%yes_overlap(k_nuc,ij). Third, sum up only if there is a large contribution.


Arguments

Type IntentOptional Attributes Name
type(grid3d), intent(in) :: g
type(basis), intent(in) :: b
integer, intent(in) :: i
integer, intent(in) :: j
real(kind=long), intent(in) :: f(:)

Return Value real(kind=long)