![]() |
(git:73f2880)
|
Methods related to properties of Hermite and Cartesian Gaussian functions. More...
Functions/Subroutines | |
| pure subroutine, public | create_hermite_to_cartesian (zet, l_max, h_to_c) |
| Create matrix to transform between cartesian and hermite gaussian basis functions. | |
| pure real(kind=dp) function, public | hermite_gauss_norm (zet, l) |
| Norm of 1d Hermite-Gauss functions. | |
| subroutine, public | get_minimax_coeff_v_gspace (n_minimax, cutoff, g_min, minimax_aw, potential, pot_par, err_minimax) |
| Get minimax coefficient a_i and w_i for approximating 1/G^2 by sum_i w_i exp(-a_i G^2) | |
| pure subroutine, public | create_gaussian_overlap_dist_to_hermite (l, m, a, b, r1, r2, h_or_c_product, e) |
| Expand 1d product of cartesian (or hermite) gaussians into single hermite gaussians: Find E_t^{lm} s.t. F(l, a, r-R1) * F(m, b, r-R2) = sum_{t=0}^{l+m} E_t^{lm} H(t, p, r-R_P) with p = a + b, R_P = (a*R1 + b*R2)/p. The function F can be either Cartesian Gaussian or Hermite Gaussian. | |
Variables | |
| integer, parameter, public | eri_mme_coulomb = 1 |
| integer, parameter, public | eri_mme_yukawa = 2 |
| integer, parameter, public | eri_mme_longrange = 3 |
Methods related to properties of Hermite and Cartesian Gaussian functions.
| pure subroutine, public eri_mme_gaussian::create_hermite_to_cartesian | ( | real(kind=dp), intent(in) | zet, |
| integer, intent(in) | l_max, | ||
| real(kind=dp), dimension(:, :), intent(out), allocatable | h_to_c | ||
| ) |
Create matrix to transform between cartesian and hermite gaussian basis functions.
| zet | exponent |
| l_max | ... |
| h_to_c | transformation matrix with dimensions (0:l_max, 0:l_max) |
Definition at line 50 of file eri_mme_gaussian.F.
| pure real(kind=dp) function, public eri_mme_gaussian::hermite_gauss_norm | ( | real(kind=dp), intent(in) | zet, |
| integer, dimension(3), intent(in) | l | ||
| ) |
Norm of 1d Hermite-Gauss functions.
| zet | ... |
| l | ... |
Definition at line 75 of file eri_mme_gaussian.F.
| subroutine, public eri_mme_gaussian::get_minimax_coeff_v_gspace | ( | integer, intent(in) | n_minimax, |
| real(kind=dp), intent(in) | cutoff, | ||
| real(kind=dp), intent(in) | g_min, | ||
| real(kind=dp), dimension(:), intent(out) | minimax_aw, | ||
| integer, intent(in), optional | potential, | ||
| real(kind=dp), intent(in), optional | pot_par, | ||
| real(kind=dp), intent(out), optional | err_minimax | ||
| ) |
Get minimax coefficient a_i and w_i for approximating 1/G^2 by sum_i w_i exp(-a_i G^2)
| n_minimax | Number of minimax terms |
| cutoff | Plane Wave cutoff |
| G_min | Minimum absolute value of G |
| minimax_aw | Minimax coefficients a_i, w_i |
| potential | potential to use. Accepts the following values: 1: coulomb potential V(r)=1/r 2: yukawa potential V(r)=e(-a*r)/r 3: long-range coulomb erf(a*r)/r |
| pot_par | potential parameter a for yukawa V(r)=e(-a*r)/r or long-range coulomb V(r)=erf(a*r)/r |
| err_minimax | Maximum error MAX (|1/G^2-\sum_i w_i exp(-a_i G^2)|) |
Definition at line 98 of file eri_mme_gaussian.F.
| pure subroutine, public eri_mme_gaussian::create_gaussian_overlap_dist_to_hermite | ( | integer, intent(in) | l, |
| integer, intent(in) | m, | ||
| real(kind=dp), intent(in) | a, | ||
| real(kind=dp), intent(in) | b, | ||
| real(kind=dp), intent(in) | r1, | ||
| real(kind=dp), intent(in) | r2, | ||
| integer, intent(in) | h_or_c_product, | ||
| real(kind=dp), dimension(-1:l+m+1, -1:l, -1:m), intent(out) | e | ||
| ) |
Expand 1d product of cartesian (or hermite) gaussians into single hermite gaussians: Find E_t^{lm} s.t. F(l, a, r-R1) * F(m, b, r-R2) = sum_{t=0}^{l+m} E_t^{lm} H(t, p, r-R_P) with p = a + b, R_P = (a*R1 + b*R2)/p. The function F can be either Cartesian Gaussian or Hermite Gaussian.
| l | ... |
| m | ... |
| a | ... |
| b | ... |
| R1 | ... |
| R2 | ... |
| H_or_C_product | 1: cartesian product, 2: hermite product |
| E | ... |
Definition at line 193 of file eri_mme_gaussian.F.
| integer, parameter, public eri_mme_gaussian::eri_mme_coulomb = 1 |
Definition at line 29 of file eri_mme_gaussian.F.
| integer, parameter, public eri_mme_gaussian::eri_mme_yukawa = 2 |
Definition at line 29 of file eri_mme_gaussian.F.
| integer, parameter, public eri_mme_gaussian::eri_mme_longrange = 3 |
Definition at line 29 of file eri_mme_gaussian.F.