(git:b77b4be)
Loading...
Searching...
No Matches
grpp_radial_type2_integral.c File Reference
#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_tcreate_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_tlibgrpp_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)
 

Macro Definition Documentation

◆ M_PI

#define M_PI   3.14159265358979323846

Definition at line 32 of file grpp_radial_type2_integral.c.

◆ MIN_GRID

#define MIN_GRID   31

Definition at line 42 of file grpp_radial_type2_integral.c.

◆ MAX_GRID

#define MAX_GRID   10000

Definition at line 43 of file grpp_radial_type2_integral.c.

Function Documentation

◆ calculate_radial_type2_integral()

static double calculate_radial_type2_integral ( radial_type2_grid_t grid,
int  n,
int  lambda1,
int  lambda2,
double  tolerance,
int *  converged 
)
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.

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

◆ create_radial_type2_grid()

static radial_type2_grid_t * create_radial_type2_grid ( int  lambda1_max,
int  lambda2_max,
int  n_max,
radial_type2_params_t params 
)
static

Numerical integration on the Log3 grid

Definition at line 308 of file grpp_radial_type2_integral.c.

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

◆ delete_radial_type2_grid()

static void delete_radial_type2_grid ( radial_type2_grid_t grid)
static

deallocates memory used for the radial grid

Definition at line 433 of file grpp_radial_type2_integral.c.

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

◆ radial_type2_integrand_fun_contracted()

static double radial_type2_integrand_fun_contracted ( double  r,
int  lambda,
double *  k,
double  CA,
libgrpp_shell_t gauss_fun 
)
static

Calculate the value of the integrand function

Definition at line 447 of file grpp_radial_type2_integral.c.

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

◆ expand_radial_type2_grid()

static void expand_radial_type2_grid ( radial_type2_grid_t grid,
int  nr 
)
static

constructs new radial grid points

Definition at line 372 of file grpp_radial_type2_integral.c.

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

◆ calc_k_values()

static void calc_k_values ( int  nprim,
const double *  alpha,
double  CA,
double *  k 
)
static

Definition at line 465 of file grpp_radial_type2_integral.c.

Here is the caller graph for this function:

◆ libgrpp_gaussian_integral()

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.

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

◆ libgrpp_tabulate_radial_type2_integrals()

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.

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

◆ libgrpp_delete_radial_type2_integrals()

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.

Here is the caller graph for this function:

◆ libgrpp_get_radial_type2_integral()

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.

Here is the caller graph for this function: