@author Vladimir Mironov @brief This module contains subroutines for 1-electron integrals calculation. @date Sep, 2018 Initial release
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public, | parameter | :: | blocksize | = | 28*28 | |
integer, | public, | parameter | :: | mult_bs(0:MAX_EL_MOM) | = | [1, 3, 6, 10] | |
integer, | public, | parameter | :: | mult_all_bs(MAX_EL_MOM) | = | [3, 9, 19] |
@brief Compute contracted block of Coulomb 1e integrals @param[in] cntp shell pair data @param[in] xyzc coordinates and charges of particles @param[in] nat number of particles @param[in] chgtol cut-off for charge @param[inout] blk block of 1e Coulomb integrals @author Vladimir Mironov @date Sep, 2018 Initial release
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(shpair_t), | intent(in) | :: | cntp | |||
real(kind=real64), | intent(in), | contiguous | :: | xyzc(:) | ||
integer, | intent(in) | :: | nat | |||
real(kind=real64), | intent(in) | :: | chgtol | |||
real(kind=real64), | intent(inout), | contiguous | :: | blk(:) |
@brief Compute contracted block of Coulomb 1e integrals
@param[in] cntp shell pair data
@param[in] x X
coordinates of charged particles
@param[in] y Y
coordinates of charged particles
@param[in] z Z
coordinates of charged particles
@param[in] c charges of particles
@param[in] nat number of particles
@param[in] chgtol cut-off for charge
@param[inout] blk block of 1e Coulomb integrals
@author Vladimir Mironov
@date Sep, 2018 Initial release
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(shpair_t), | intent(in) | :: | cntp | |||
real(kind=REAL64), | intent(in), | CONTIGUOUS | :: | x(:) | ||
real(kind=REAL64), | intent(in), | CONTIGUOUS | :: | y(:) | ||
real(kind=REAL64), | intent(in), | CONTIGUOUS | :: | z(:) | ||
real(kind=REAL64), | intent(in), | CONTIGUOUS | :: | c(:) | ||
integer, | intent(in) | :: | nat | |||
real(kind=REAL64), | intent(in) | :: | chgtol | |||
real(kind=REAL64), | intent(inout), | CONTIGUOUS | :: | blk(:) |
@brief Compute contracted block of Coulomb 1e integrals @param[in] cntp shell pair data @param[in] xyz coordinates of particles @param[in] c charges of particles @param[in] nat number of particles @param[in] chgtol cut-off for charge @param[inout] blk block of 1e Coulomb integrals @author Vladimir Mironov @date Sep, 2018 Initial release
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(shpair_t), | intent(in) | :: | cntp | |||
real(kind=REAL64), | intent(in), | CONTIGUOUS | :: | xyz(:,:) | ||
real(kind=REAL64), | intent(in), | CONTIGUOUS | :: | c(:) | ||
integer, | intent(in) | :: | nat | |||
real(kind=REAL64), | intent(in) | :: | chgtol | |||
real(kind=REAL64), | intent(inout), | CONTIGUOUS | :: | blk(:) |
@brief Driver for conventional h, S, and T integrals @details Compute one electron integrals and core Hamiltonian, - S is evaluated by Gauss-Hermite quadrature, - T is an overlap with -2,0,+2 angular momentum shifts, - V is evaluated by Gauss-Rys quadrature, then \f$ h = T+V \f$ Also, do \f$ L_z \f$ integrals if requested
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(basis_set), | intent(in) | :: | basis | |||
real(kind=real64), | intent(in), | contiguous | :: | coord(:,:) | ||
real(kind=real64), | intent(in), | contiguous | :: | zq(:) | ||
real(kind=real64), | intent(inout), | contiguous | :: | h(:) | ||
real(kind=real64), | intent(inout), | contiguous | :: | s(:) | ||
real(kind=real64), | intent(inout), | contiguous | :: | t(:) | ||
real(kind=real64), | intent(inout), | optional, | contiguous | :: | z(:) | |
logical, | intent(in), | optional | :: | debug | ||
real(kind=real64), | intent(in), | optional | :: | logtol | ||
integer(kind=int32) | :: | comm | ||||
logical(kind=c_bool), | intent(in) | :: | usempi |
@brief Driver for multipole integrals @details Compute one electron multipole integrals Integrals are evaluated by Gauss-Hermite quadrature, @author Vladimir Mironov @date Feb, 2023 Initial release
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(basis_set), | intent(in) | :: | basis | |||
real(kind=real64), | intent(inout), | contiguous | :: | ints(:,:) | ||
real(kind=real64), | intent(in) | :: | r(:) | |||
integer, | intent(in) | :: | mxmom | |||
logical, | intent(in), | optional | :: | debug | ||
real(kind=real64), | intent(in), | optional | :: | logtol |
@brief Compute electronic contribution to electrostatic potential on a grid @author Vladimir Mironov @date Sep, 2023 Initial release
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(basis_set), | intent(inout) | :: | basis | |||
real(kind=real64), | intent(in), | contiguous | :: | x(:) | ||
real(kind=real64), | intent(in), | contiguous | :: | y(:) | ||
real(kind=real64), | intent(in), | contiguous | :: | z(:) | ||
real(kind=real64), | intent(in), | contiguous | :: | wt(:) | ||
real(kind=real64), | intent(inout), | contiguous | :: | d(:) | ||
real(kind=real64), | intent(out), | contiguous | :: | pot(:) | ||
real(kind=real64), | intent(in), | optional | :: | logtol |
@brief Compute overlap matrix between two basis sets @details Overlap integrals are computed using Gauss-Hermite quadrature formula @author Igor S. Gerasimov @date Oct, 2022 Initial release
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=REAL64), | intent(inout), | CONTIGUOUS | :: | s(:,:) | ||
type(basis_set), | intent(in) | :: | basis1 | |||
type(basis_set), | intent(in) | :: | basis2 | |||
real(kind=REAL64), | intent(in) | :: | tol |
@brief Compute overlap and integrals @details Overlap integrals are computed using Gauss-Hermite quadrature formula @author Vladimir Mironov @date Mar, 2023 Initial release
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=REAL64), | intent(inout), | CONTIGUOUS | :: | s(:) | ||
type(basis_set), | intent(in) | :: | basis | |||
real(kind=REAL64), | intent(in) | :: | tol |