(git:1f2bf8e)
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_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)

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()

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()

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()

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()

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()

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()

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 233 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: