![]()  | 
  
     (git:e68414f)
    
   | 
 
#include <math.h>#include <stdlib.h>#include "grpp_radial_type2_integral.h"#include "grpp_norm_gaussian.h"#include "grpp_screening.h"#include "grpp_specfunc.h"#include "grpp_utils.h"Go to the source code of this file.
Data Structures | |
| struct | radial_type2_params_t | 
| struct | radial_type2_grid_t | 
Macros | |
| #define | M_PI 3.14159265358979323846 | 
| #define | MIN_GRID 31 | 
| #define | MAX_GRID 10000 | 
Functions | |
| static double | calculate_radial_type2_integral (radial_type2_grid_t *grid, int n, int lambda1, int lambda2, double tolerance, int *converged) | 
| static radial_type2_grid_t * | create_radial_type2_grid (int lambda1_max, int lambda2_max, int n_max, radial_type2_params_t *params) | 
| static void | delete_radial_type2_grid (radial_type2_grid_t *grid) | 
| static double | radial_type2_integrand_fun_contracted (double r, int lambda, double *k, double CA, libgrpp_shell_t *gauss_fun) | 
| static void | expand_radial_type2_grid (radial_type2_grid_t *grid, int nr) | 
| static void | calc_k_values (int nprim, const double *alpha, double CA, double *k) | 
| double | libgrpp_gaussian_integral (int n, double a) | 
| radial_type2_table_t * | libgrpp_tabulate_radial_type2_integrals (int lambda1_max, int lambda2_max, int n_max, double CA_2, double CB_2, libgrpp_potential_t *potential, libgrpp_shell_t *bra, libgrpp_shell_t *ket) | 
| void | libgrpp_delete_radial_type2_integrals (radial_type2_table_t *table) | 
| double | libgrpp_get_radial_type2_integral (radial_type2_table_t *table, int lambda1, int lambda2, int n) | 
| #define M_PI 3.14159265358979323846 | 
Definition at line 32 of file grpp_radial_type2_integral.c.
| #define MIN_GRID 31 | 
Definition at line 42 of file grpp_radial_type2_integral.c.
| #define MAX_GRID 10000 | 
Definition at line 43 of file grpp_radial_type2_integral.c.
      
  | 
  static | 
pre-definitions of the functions used below
calculates type 2 radial integral T^N_{lambda1,lambda2} for the two given contracted gaussian functions and the contracted potential
Definition at line 232 of file grpp_radial_type2_integral.c.
      
  | 
  static | 
Numerical integration on the Log3 grid
Definition at line 308 of file grpp_radial_type2_integral.c.
      
  | 
  static | 
deallocates memory used for the radial grid
Definition at line 433 of file grpp_radial_type2_integral.c.
      
  | 
  static | 
Calculate the value of the integrand function
Definition at line 447 of file grpp_radial_type2_integral.c.
      
  | 
  static | 
constructs new radial grid points
Definition at line 372 of file grpp_radial_type2_integral.c.
      
  | 
  static | 
Definition at line 465 of file grpp_radial_type2_integral.c.
| double libgrpp_gaussian_integral | ( | int | n, | 
| double | a | ||
| ) | 
Analytically evaluates Gaussian integral: \int_0^\infty r^n e^(-a r^2) dr
Definition at line 233 of file grpp_screening.c.
| radial_type2_table_t * libgrpp_tabulate_radial_type2_integrals | ( | int | lambda1_max, | 
| int | lambda2_max, | ||
| int | n_max, | ||
| double | CA_2, | ||
| double | CB_2, | ||
| libgrpp_potential_t * | potential, | ||
| libgrpp_shell_t * | bra, | ||
| libgrpp_shell_t * | ket | ||
| ) | 
Creates table with pre-calculated radial type 2 integrals.
Definition at line 98 of file grpp_radial_type2_integral.c.
| void libgrpp_delete_radial_type2_integrals | ( | radial_type2_table_t * | table | ) | 
destructor for the table of radial type 2 integrals
Definition at line 205 of file grpp_radial_type2_integral.c.
| double libgrpp_get_radial_type2_integral | ( | radial_type2_table_t * | table, | 
| int | lambda1, | ||
| int | lambda2, | ||
| int | n | ||
| ) | 
Returns radial integral at complex index (lambda1,lambda2,N)
Definition at line 213 of file grpp_radial_type2_integral.c.