![]() |
(git:b77b4be)
|
#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 221 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.