(git:b77b4be)
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()

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

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

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

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

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

Definition at line 523 of file grpp_outercore_integrals.c.

Here is the caller graph for this function:

◆ ang_norm_factor()

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

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

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

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