ergo
|
Code for explicit computation of 4-index 2-electron integrals. More...
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <memory.h>
#include <time.h>
#include <stdarg.h>
#include "integrals_2el_explicit.h"
#include "memorymanag.h"
#include "pi.h"
#include "output.h"
#include "utilities.h"
#include "boysfunction.h"
#include "integral_info.h"
#include "integrals_general.h"
#include "integrals_2el_single.h"
Classes | |
struct | abcd_struct |
Macros | |
#define | set_abcd_list_item_macro(i, A, B, C, D) list[i].a = A; list[i].b = B; list[i].c = C; list[i].d = D; |
Functions | |
ergo_real | do_2e_integral (int mu, int nu, int la, int si, const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo) |
ergo_real | do_2e_integral_general (int mu, int nu, int la, int si, const BasisInfoStruct &basisInfo_mu, const BasisInfoStruct &basisInfo_nu, const BasisInfoStruct &basisInfo_la, const BasisInfoStruct &basisInfo_si, const IntegralInfo &integralInfo) |
int | compute_2e_matrix_simple (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real hf_weight, ergo_real *result, const ergo_real *dens) |
compute_2e_matrix_simple computes the 2el matrix in the simplest possible way. More... | |
static int | compute_J_and_K_integraldriven (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real *J, ergo_real *K, ergo_real *dens) |
int | compute_2e_matrix_list_explicit (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real **resultList, ergo_real **densList, int noOfMatrices, ergo_real threshold) |
Variables | |
static int | globalCount = 0 |
Code for explicit computation of 4-index 2-electron integrals.
#define set_abcd_list_item_macro | ( | i, | |
A, | |||
B, | |||
C, | |||
D | |||
) | list[i].a = A; list[i].b = B; list[i].c = C; list[i].d = D; |
Referenced by compute_J_and_K_integraldriven().
int compute_2e_matrix_list_explicit | ( | const BasisInfoStruct & | basisInfo, |
const IntegralInfo & | integralInfo, | ||
ergo_real ** | resultList, | ||
ergo_real ** | densList, | ||
int | noOfMatrices, | ||
ergo_real | threshold | ||
) |
References compute_J_and_K_integraldriven(), do_output(), ergo_free(), ergo_malloc(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, LOG_CAT_INFO, and BasisInfoStruct::noOfBasisFuncs.
Referenced by get_2e_matrix_and_energy_sparse().
int compute_2e_matrix_simple | ( | const BasisInfoStruct & | basisInfo, |
const IntegralInfo & | integralInfo, | ||
ergo_real | hf_weight, | ||
ergo_real * | result, | ||
const ergo_real * | dens | ||
) |
compute_2e_matrix_simple computes the 2el matrix in the simplest possible way.
It assumes that the matrix is computed for closed shell. The weight of the HF exchange is controlled by
hf_weight | which is equal 1 for ordinary Hartree-Fock calculation. No assumption are made regarding symmetry of the density matrix |
dens | . The computed two-electron part of the Fock matrix is returned in |
result | . |
basisInfo | info about the used basis set. |
integralInfo | info needed for evaluation of integrals of Gaussian functions. |
References do_2e_integral(), do_output(), LOG_AREA_INTEGRALS, LOG_CAT_INFO, and BasisInfoStruct::noOfBasisFuncs.
Referenced by ErgoE2Evaluator::transform().
|
static |
ergo_real do_2e_integral | ( | int | mu, |
int | nu, | ||
int | la, | ||
int | si, | ||
const BasisInfoStruct & | basisInfo, | ||
const IntegralInfo & | integralInfo | ||
) |
References do_2e_integral_general().
Referenced by compute_2e_matrix_simple(), compute_J_and_K_integraldriven(), do_CI(), main(), try_integral_diffs(), and write_2el_integral_m_file().
ergo_real do_2e_integral_general | ( | int | mu, |
int | nu, | ||
int | la, | ||
int | si, | ||
const BasisInfoStruct & | basisInfo_mu, | ||
const BasisInfoStruct & | basisInfo_nu, | ||
const BasisInfoStruct & | basisInfo_la, | ||
const BasisInfoStruct & | basisInfo_si, | ||
const IntegralInfo & | integralInfo | ||
) |
References do_2e_integral_using_symb_info(), do_output(), get_product_simple_primitives(), globalCount, LOG_AREA_INTEGRALS, and LOG_CAT_ERROR.
Referenced by do_2e_integral().
|
static |
Referenced by do_2e_integral_general().