ergo
|
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include "densityfitting.h"
#include "output.h"
#include "memorymanag.h"
#include "integrals_2el_single.h"
#include "solve_lin_eq_syst.h"
#include "utilities.h"
#include "integrals_general.h"
#include "integrals_2el.h"
#include "pi.h"
#include "boysfunction.h"
#include "gblas.h"
Classes | |
struct | abalpha_struct |
Defines | |
#define | MAX_NO_OF_INTEGRALS_PER_SHELL_COMB 1000 |
#define | MAX_NO_OF_EXPPAIRS_PER_SHELL_COMB 200 |
#define | MAX_NO_OF_XYZ_XYZ_ENTRIES 4000 |
#define | MAX_NO_OF_ITERMLIST_ENTRIES 10000 |
Functions | |
static ergo_real | do_2center_integral (const IntegralInfo *integralInfo, const BasisInfoStruct &basisInfo, int alpha, int beta) |
static int | compute_gamma_or_J_shelldriven (const BasisInfoStruct &basisInfoMain, const BasisInfoStruct &basisInfoDensFit, const IntegralInfo *integralInfo, ergo_real *gamma, ergo_real *J, ergo_real *dens, ergo_real *c_vector, ergo_real threshold) |
int | densfit_compute_gamma (const IntegralInfo *integralInfo, const BasisInfoStruct &basisInfoMain, const BasisInfoStruct &basisInfoDensFit, ergo_real *densityMatrix, ergo_real *result_gamma, ergo_real threshold) |
int | densfit_compute_alpha_beta_matrix_inverse (const IntegralInfo *integralInfo, const BasisInfoStruct &basisInfoDensFit, ergo_real *result_U_inverse) |
DensfitData * | densfit_init (const IntegralInfo *integralInfo, const BasisInfoStruct &basisInfoDensFit) |
void | densfit_destroy (DensfitData *d) |
int | densfit_compute_c_vector (const IntegralInfo *integralInfo, const BasisInfoStruct &basisInfoDensFit, DensfitData *df_data, ergo_real *gamma, ergo_real *result_c_vector) |
int | densfit_compute_J (const IntegralInfo *integralInfo, const BasisInfoStruct &basisInfoMain, const BasisInfoStruct &basisInfoDensFit, ergo_real *c_vector, ergo_real *result_J, ergo_real threshold) |
Variables | |
static const size_t | ALPHA_BETA_MEM_SZ_LIMIT = 40000 |
#define MAX_NO_OF_EXPPAIRS_PER_SHELL_COMB 200 |
Referenced by compute_gamma_or_J_shelldriven().
#define MAX_NO_OF_INTEGRALS_PER_SHELL_COMB 1000 |
Referenced by compute_gamma_or_J_shelldriven().
#define MAX_NO_OF_ITERMLIST_ENTRIES 10000 |
#define MAX_NO_OF_XYZ_XYZ_ENTRIES 4000 |
Referenced by compute_gamma_or_J_shelldriven().
static int compute_gamma_or_J_shelldriven | ( | const BasisInfoStruct & | basisInfoMain, |
const BasisInfoStruct & | basisInfoDensFit, | ||
const IntegralInfo * | integralInfo, | ||
ergo_real * | gamma, | ||
ergo_real * | J, | ||
ergo_real * | dens, | ||
ergo_real * | c_vector, | ||
ergo_real | threshold | ||
) | [static] |
References do_output(), LOG_CAT_ERROR, LOG_AREA_INTEGRALS, BasisInfoStruct::noOfBasisFuncs, A, B, MAX_NO_OF_INTEGRALS_PER_SHELL_COMB, ergo_new, LOG_CAT_INFO, MAX_NO_OF_CONTR_GAUSSIANS, MAX_NO_OF_EXPPAIRS_PER_SHELL_COMB, MAX_NO_OF_XYZ_XYZ_ENTRIES, BasisInfoStruct::shellList, ShellSpecStruct_::shell_ID, ShellSpecStruct_::shellType, IntegralInfo::monomial_info, monomial_info_struct::no_of_monomials_list, ShellSpecStruct_::noOfBasisFuncs, ShellSpecStruct_::startIndexInMatrix, BasisInfoStruct::noOfShells, abalpha_struct::a, abalpha_struct::b, abalpha_struct::alpha, ShellSpecStruct_::centerCoords, ShellSpecStruct_::noOfContr, ShellSpecStruct_::sizeList, ShellSpecStruct_::coeffList, ShellSpecStruct_::exponentList, BoysFunction(), IntegralInfo::basis_func_poly_list, MAX_NO_OF_BASIS_FUNC_POLYS, basis_func_poly_struct::noOfTerms, basis_func_poly_struct::termList, basis_func_term_struct::monomialID, basis_func_term_struct::coeff, and ergo_free().
Referenced by densfit_compute_gamma(), and densfit_compute_J().
int densfit_compute_alpha_beta_matrix_inverse | ( | const IntegralInfo * | integralInfo, |
const BasisInfoStruct & | basisInfoDensFit, | ||
ergo_real * | result_U_inverse | ||
) |
int densfit_compute_c_vector | ( | const IntegralInfo * | integralInfo, |
const BasisInfoStruct & | basisInfoDensFit, | ||
DensfitData * | df_data, | ||
ergo_real * | gamma, | ||
ergo_real * | result_c_vector | ||
) |
References BasisInfoStruct::noOfBasisFuncs, ergo_new, DensfitData::using_file, DensfitData::f, do_output(), LOG_CAT_INFO, LOG_AREA_INTEGRALS, DensfitData::ptr, LOG_CAT_ERROR, and ergo_free().
Referenced by compute_2e_matrix_coulomb().
int densfit_compute_gamma | ( | const IntegralInfo * | integralInfo, |
const BasisInfoStruct & | basisInfoMain, | ||
const BasisInfoStruct & | basisInfoDensFit, | ||
ergo_real * | densityMatrix, | ||
ergo_real * | result_gamma, | ||
ergo_real | threshold | ||
) |
References do_output(), LOG_CAT_INFO, LOG_AREA_INTEGRALS, BasisInfoStruct::noOfBasisFuncs, LOG_CAT_ERROR, and compute_gamma_or_J_shelldriven().
Referenced by compute_2e_matrix_coulomb().
int densfit_compute_J | ( | const IntegralInfo * | integralInfo, |
const BasisInfoStruct & | basisInfoMain, | ||
const BasisInfoStruct & | basisInfoDensFit, | ||
ergo_real * | c_vector, | ||
ergo_real * | result_J, | ||
ergo_real | threshold | ||
) |
References BasisInfoStruct::noOfBasisFuncs, compute_gamma_or_J_shelldriven(), do_output(), LOG_CAT_ERROR, LOG_AREA_INTEGRALS, and LOG_CAT_INFO.
Referenced by compute_2e_matrix_coulomb().
void densfit_destroy | ( | DensfitData * | d | ) |
References DensfitData::using_file, DensfitData::f, ergo_free(), and DensfitData::ptr.
DensfitData* densfit_init | ( | const IntegralInfo * | integralInfo, |
const BasisInfoStruct & | basisInfoDensFit | ||
) |
References BasisInfoStruct::noOfBasisFuncs, ergo_new, do_2center_integral(), DensfitData::using_file, do_output(), LOG_CAT_INFO, LOG_AREA_INTEGRALS, DensfitData::f, ergo_free(), and DensfitData::ptr.
Referenced by SCF_general::SCF_general().
static ergo_real do_2center_integral | ( | const IntegralInfo * | integralInfo, |
const BasisInfoStruct & | basisInfo, | ||
int | alpha, | ||
int | beta | ||
) | [static] |
const size_t ALPHA_BETA_MEM_SZ_LIMIT = 40000 [static] |