(git:691081d)
Loading...
Searching...
No Matches
grpp_outercore_integrals.c File Reference
#include <assert.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "grpp_factorial.h"
#include "grpp_lmatrix.h"
#include "grpp_overlap.h"
#include "grpp_spherical_harmonics.h"
#include "grpp_utils.h"
#include "libgrpp.h"

Go to the source code of this file.

Macros

#define M_PI   3.14159265358979323846

Functions

void libgrpp_outercore_potential_integrals_part_1 (libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *C, libgrpp_potential_t *oc_potential, libgrpp_shell_t *oc_shell, double *arep_matrix, double *so_x_matrix, double *so_y_matrix, double *so_z_matrix)
void libgrpp_outercore_potential_integrals_part_2 (libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *C, libgrpp_potential_t *oc_potential_1, libgrpp_shell_t *oc_shell_1, libgrpp_potential_t *oc_potential_2, libgrpp_shell_t *oc_shell_2, double *arep_matrix, double *so_x_matrix, double *so_y_matrix, double *so_z_matrix)
static double calculate_delta_integral (libgrpp_potential_t *oc_pot_1, libgrpp_shell_t *oc_shell_1, libgrpp_potential_t *oc_pot_2, libgrpp_shell_t *oc_shell_2)
static void transform_to_sph_basis_ket (int dim_bra, int dim_ket_cart, int dim_ket_sph, double *A_in, double *A_out, double *S_lm_coef)
static void transform_to_sph_basis_bra (int dim_bra_cart, int dim_bra_sph, int dim_ket, double *A_in, double *A_out, double *S_lm_coef)
static double ang_norm_factor (int lx, int ly, int lz)
static double analytic_one_center_rpp_integral_contracted (libgrpp_shell_t *bra, libgrpp_shell_t *ket, libgrpp_potential_t *pot)
static double analytic_one_center_rpp_integral_primitive (int L, double alpha1, double alpha2, int n, double zeta)
static double radial_gto_norm_factor (int L, double alpha)
void libgrpp_outercore_potential_integrals (libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *rpp_origin, int num_oc_shells, libgrpp_potential_t **oc_potentials, libgrpp_shell_t **oc_shells, double *arep, double *esop_x, double *esop_y, double *esop_z)

Macro Definition Documentation

◆ M_PI

#define M_PI   3.14159265358979323846

Definition at line 27 of file grpp_outercore_integrals.c.

Function Documentation

◆ libgrpp_outercore_potential_integrals_part_1()

void libgrpp_outercore_potential_integrals_part_1 ( libgrpp_shell_t * shell_A,
libgrpp_shell_t * shell_B,
double * C,
libgrpp_potential_t * oc_potential,
libgrpp_shell_t * oc_shell,
double * arep_matrix,
double * so_x_matrix,
double * so_y_matrix,
double * so_z_matrix )

integration of the non-local outercore potential: the U*|nlj><nlj| + |nlj><nlj|*U part

Definition at line 133 of file grpp_outercore_integrals.c.

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

◆ libgrpp_outercore_potential_integrals_part_2()

void libgrpp_outercore_potential_integrals_part_2 ( libgrpp_shell_t * shell_A,
libgrpp_shell_t * shell_B,
double * C,
libgrpp_potential_t * oc_potential_1,
libgrpp_shell_t * oc_shell_1,
libgrpp_potential_t * oc_potential_2,
libgrpp_shell_t * oc_shell_2,
double * arep_matrix,
double * so_x_matrix,
double * so_y_matrix,
double * so_z_matrix )

integration of the non-local outercore potential: the |nlj><nlj| U |n'lj><n'lj| part

Definition at line 276 of file grpp_outercore_integrals.c.

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

◆ calculate_delta_integral()

double calculate_delta_integral ( libgrpp_potential_t * oc_pot_1,
libgrpp_shell_t * oc_shell_1,
libgrpp_potential_t * oc_pot_2,
libgrpp_shell_t * oc_shell_2 )
static

Calculation of radial "delta" integrals. Is performed analytically.

Definition at line 409 of file grpp_outercore_integrals.c.

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

◆ transform_to_sph_basis_ket()

void transform_to_sph_basis_ket ( int dim_bra,
int dim_ket_cart,
int dim_ket_sph,
double * A_in,
double * A_out,
double * S_lm_coef )
static

Transforms matrix from the basis of unitary sphere polynomials to the basis of real spherical harmonics S_lm (separately for 'bra' and 'ket' vectors)

Definition at line 506 of file grpp_outercore_integrals.c.

Here is the caller graph for this function:

◆ transform_to_sph_basis_bra()

void transform_to_sph_basis_bra ( int dim_bra_cart,
int dim_bra_sph,
int dim_ket,
double * A_in,
double * A_out,
double * S_lm_coef )
static

Definition at line 523 of file grpp_outercore_integrals.c.

Here is the caller graph for this function:

◆ ang_norm_factor()

double ang_norm_factor ( int lx,
int ly,
int lz )
static

Definition at line 541 of file grpp_outercore_integrals.c.

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

◆ analytic_one_center_rpp_integral_contracted()

double analytic_one_center_rpp_integral_contracted ( libgrpp_shell_t * bra,
libgrpp_shell_t * ket,
libgrpp_potential_t * pot )
static

analytic formula for one-center RPP integral between two contracted gaussian functions.

Definition at line 431 of file grpp_outercore_integrals.c.

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

◆ analytic_one_center_rpp_integral_primitive()

double analytic_one_center_rpp_integral_primitive ( int L,
double alpha1,
double alpha2,
int n,
double zeta )
static

analytic formula for one-center RPP integral between two gaussian primitives. normalization factors are omitted here.

Definition at line 467 of file grpp_outercore_integrals.c.

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

◆ radial_gto_norm_factor()

double radial_gto_norm_factor ( int L,
double alpha )
static

calculate normalization factor for the radial Gaussian-type orbital: G(r) = N * r^L * exp(-alpha * r^2)

Definition at line 486 of file grpp_outercore_integrals.c.

Here is the caller graph for this function:

◆ libgrpp_outercore_potential_integrals()

void libgrpp_outercore_potential_integrals ( libgrpp_shell_t * shell_A,
libgrpp_shell_t * shell_B,
double * rpp_origin,
int num_oc_shells,
libgrpp_potential_t ** oc_potentials,
libgrpp_shell_t ** oc_shells,
double * arep,
double * esop_x,
double * esop_y,
double * esop_z )

Calculates non-local contributions to the scalar-relativistic ECP and effective spin-orbit interaction matrices from the outercore (OC) potentials.

Definition at line 82 of file grpp_outercore_integrals.c.

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