(git:6a2e663)
eri_mme_gaussian Module Reference

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. More...
 
pure real(kind=dp) function, public hermite_gauss_norm (zet, l)
 Norm of 1d Hermite-Gauss functions. More...
 
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) More...
 
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. More...
 

Variables

integer, parameter, public eri_mme_coulomb = 1
 
integer, parameter, public eri_mme_yukawa = 2
 
integer, parameter, public eri_mme_longrange = 3
 

Detailed Description

Methods related to properties of Hermite and Cartesian Gaussian functions.

History
2015 09 created
Author
Patrick Seewald

Function/Subroutine Documentation

◆ create_hermite_to_cartesian()

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.

Parameters
zetexponent
l_max...
h_to_ctransformation matrix with dimensions (0:l_max, 0:l_max)
Note
is idempotent, so transformation is the same in both directions.

Definition at line 50 of file eri_mme_gaussian.F.

Here is the caller graph for this function:

◆ hermite_gauss_norm()

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.

Parameters
zet...
l...
Returns
...

Definition at line 75 of file eri_mme_gaussian.F.

Here is the caller graph for this function:

◆ get_minimax_coeff_v_gspace()

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)

Parameters
n_minimaxNumber of minimax terms
cutoffPlane Wave cutoff
G_minMinimum absolute value of G
minimax_awMinimax coefficients a_i, w_i
potentialpotential 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_parpotential parameter a for yukawa V(r)=e(-a*r)/r or long-range coulomb V(r)=erf(a*r)/r
err_minimaxMaximum error MAX (|1/G^2-\sum_i w_i exp(-a_i G^2)|)

Definition at line 98 of file eri_mme_gaussian.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_gaussian_overlap_dist_to_hermite()

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.

Parameters
l...
m...
a...
b...
R1...
R2...
H_or_C_product1: cartesian product, 2: hermite product
E...

Definition at line 193 of file eri_mme_gaussian.F.

Here is the caller graph for this function:

Variable Documentation

◆ eri_mme_coulomb

integer, parameter, public eri_mme_gaussian::eri_mme_coulomb = 1

Definition at line 29 of file eri_mme_gaussian.F.

◆ eri_mme_yukawa

integer, parameter, public eri_mme_gaussian::eri_mme_yukawa = 2

Definition at line 29 of file eri_mme_gaussian.F.

◆ eri_mme_longrange

integer, parameter, public eri_mme_gaussian::eri_mme_longrange = 3

Definition at line 29 of file eri_mme_gaussian.F.