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.
Type | Intent | Optional | 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(:) |