|
CP2K 2.4 (Revision 12889)
|
Build up the nuclear potential part of the core Hamiltonian matrix in the case of an allelectron calculation by computing the nuclear attraction integral matrix <a|-Z/r|b> and the integral matrix <a|Z*erf(r)/r|b>. The integrals <a|Z*erf(r)/r|b> can be rewritten as the three-center Coulomb integrals <ab||c> with a primitive s-type Gaussian function c multiplied by a factor N. More...
Functions | |
| subroutine, public | verfc (la_max1, npgfa, zeta, rpgfa, la_min1, lb_max1, npgfb, zetb, rpgfb, lb_min1, zetc, rpgfc, zc, cerf, rab, rab2, rac, rac2, rbc2, vabc, verf, vnuc, f, maxder, vabc_plus, vnabc, pVp_sum, pVp, dkh_erfc) |
| Calculation of the primitive three-center nuclear potential integrals <a|Z*erfc(r)/r|b> over Cartesian Gaussian-type functions. | |
Variables | |
| CHARACTER(len=*), parameter, private | moduleN = 'ai_verfc' |
Build up the nuclear potential part of the core Hamiltonian matrix in the case of an allelectron calculation by computing the nuclear attraction integral matrix <a|-Z/r|b> and the integral matrix <a|Z*erf(r)/r|b>. The integrals <a|Z*erf(r)/r|b> can be rewritten as the three-center Coulomb integrals <ab||c> with a primitive s-type Gaussian function c multiplied by a factor N.
erfc(r) <a|V|b> = -Z*<a|---------|b> r
1 - erf(r) = -Z*<a|------------|b> r
1 erf(r) = -Z*(<a|---|b> - <a|--------|b>) r r
1 = -Z*(<a|---|b> - N*<ab||c>) r
1 = -Z*<a|---|b> + Z*N*<ab||c> r / / | | nuclear coulomb
| subroutine,public ai_verfc::verfc | ( | INTEGER,intent(in) | la_max1, |
| INTEGER,intent(in) | npgfa, | ||
| REAL(KIND=dp),dimension(:),intent(in) | zeta, | ||
| REAL(KIND=dp),dimension(:),intent(in) | rpgfa, | ||
| INTEGER,intent(in) | la_min1, | ||
| INTEGER,intent(in) | lb_max1, | ||
| INTEGER,intent(in) | npgfb, | ||
| REAL(KIND=dp),dimension(:),intent(in) | zetb, | ||
| REAL(KIND=dp),dimension(:),intent(in) | rpgfb, | ||
| INTEGER,intent(in) | lb_min1, | ||
| REAL(KIND=dp),intent(in) | zetc, | ||
| REAL(KIND=dp),intent(in) | rpgfc, | ||
| REAL(KIND=dp),intent(in) | zc, | ||
| REAL(KIND=dp),intent(in) | cerf, | ||
| REAL(KIND=dp),dimension(3),intent(in) | rab, | ||
| REAL(KIND=dp),intent(in) | rab2, | ||
| REAL(KIND=dp),dimension(3),intent(in) | rac, | ||
| REAL(KIND=dp),intent(in) | rac2, | ||
| REAL(KIND=dp),intent(in) | rbc2, | ||
| REAL(KIND=dp),dimension(:, :),intent(inout) | vabc, | ||
| REAL(KIND=dp),dimension(:, :, :) | verf, | ||
| REAL(KIND=dp),dimension(:, :, :) | vnuc, | ||
| REAL(KIND=dp),dimension(0:) | f, | ||
| INTEGER,intent(in),optional | maxder, | ||
| REAL(KIND=dp),dimension(:, :),optional | vabc_plus, | ||
| REAL(KIND=dp),dimension(:, :),optional | vnabc, | ||
| REAL(KIND=dp),dimension(:, :),optional | pVp_sum, | ||
| REAL(KIND=dp),dimension(:, :),optional | pVp, | ||
| LOGICAL,optional | dkh_erfc | ||
| ) |
Calculation of the primitive three-center nuclear potential integrals <a|Z*erfc(r)/r|b> over Cartesian Gaussian-type functions.
Definition at line 108 of file ai_verfc.f90.
References orbital_pointers::coset, and mathconstants::pi.
Referenced by core_ae::build_core_ae().
Here is the caller graph for this function:| CHARACTER(len=*),parameter,private ai_verfc::moduleN = 'ai_verfc' |
Definition at line 91 of file ai_verfc.f90.
1.7.3