NAME
sc::Int2eV3 -
Int2eV3 is a class wrapper for the two body part of the C language
IntV3 library.
SYNOPSIS
#include <int2e.h>
Inherits sc::RefCount.
Classes
struct store_list
Public Types
enum { STORAGE_CHUNK = 4096 }
Public Member Functions
Int2eV3 (Integral *, const Ref< GaussianBasisSet > &bs1, const Ref<
GaussianBasisSet > &bs2, const Ref< GaussianBasisSet > &bs3, const
Ref< GaussianBasisSet > &bs4, int order, size_t storage)
void init_storage (int size)
void done_storage ()
int storage_used ()
void init_bounds ()
void init_bounds_1der ()
void done_bounds ()
void done_bounds_1der ()
int redundant ()
void set_redundant (int i)
int permute ()
void set_permute (int i)
int used_storage () const
void erep (int &psh1, int &psh2, int &psh3, int &psh4)
void erep (int *shells, int *sizes)
void erep_all1der (int &psh1, int &psh2, int &psh3, int &psh4,
der_centersv3_t *der_centers)
void erep_all1der (int *shells, int *sizes, der_centersv3_t
*dercenters)
void erep_2center (int &psh1, int &psh2)
void erep_2center (int *shells, int *sizes)
void erep_3center (int &psh1, int &psh2, int &psh3)
void erep_3center (int *shells, int *sizes)
int erep_4bound (int s1, int s2, int s3, int s4)
int erep_4bound_1der (int s1, int s2, int s3, int s4)
double * buffer ()
Ref< GaussianBasisSet > basis ()
Ref< GaussianBasisSet > basis1 ()
Ref< GaussianBasisSet > basis2 ()
Ref< GaussianBasisSet > basis3 ()
Ref< GaussianBasisSet > basis4 ()
Ref< GaussianBasisSet > cs1 () const
Ref< GaussianBasisSet > cs2 () const
Ref< GaussianBasisSet > cs3 () const
Ref< GaussianBasisSet > cs4 () const
GaussianBasisSet * pcs1 () const
GaussianBasisSet * pcs2 () const
GaussianBasisSet * pcs3 () const
GaussianBasisSet * pcs4 () const
Static Public Member Functions
static double logbound_to_bound (int)
static int bound_to_logbound (double value)
Protected Types
enum { int_bound_min = SCHAR_MIN, int_bound_max = SCHAR_MAX }
typedef struct store_list store_list_t
typedef int(BuildIntV3::* intfunc )()
typedef signed char int_bound_t
Protected Member Functions
void add_store (void *p)
void free_store ()
void _free_store (store_list_t *s, int n)
void build_not_using_gcs (int nc1, int nc2, int nc3, int nc4, int
minam1, int minam3, int maxam12, int maxam34, int dam1, int dam2,
int dam3, int dam4, int eAB)
void build_using_gcs (int nc1, int nc2, int nc3, int nc4, int minam1,
int minam3, int maxam12, int maxam34, int dam1, int dam2, int dam3,
int dam4, int eAB)
void gen_prim_intermediates (int pr1, int pr2, int pr3, int pr4, int
am)
void gen_prim_intermediates_with_norm (int pr1, int pr2, int pr3, int
pr4, int am, double norm)
void gen_shell_intermediates (int sh1, int sh2, int sh3, int sh4)
void blockbuildprim (int minam1, int maxam12, int minam3, int maxam34)
void blockbuildprim_1 (int am12min, int am12max, int am34, int m)
void blockbuildprim_3 (int am34min, int am34max, int m)
void int_init_buildgc (int order, int am1, int am2, int am3, int am4,
int nc1, int nc2, int nc3, int nc4)
void int_done_buildgc ()
void int_buildgcam (int minam1, int minam2, int minam3, int minam4, int
maxam1, int maxam2, int maxam3, int maxam4, int dam1, int dam2, int
dam3, int dam4, int sh1, int sh2, int sh3, int sh4, int eAB)
void int_offset_print (std::ostream &, double *buffer, Ref<
GaussianBasisSet > c1, int s1, Ref< GaussianBasisSet > c2, int s2,
Ref< GaussianBasisSet > c3, int s3, Ref< GaussianBasisSet > c4, int
s4)
void int_offset_print_n (std::ostream &, double *buffer, int n1, int
n2, int n3, int n4, int o1, int o2, int o3, int o4, int e12, int
e13e24, int e34)
void int_print (std::ostream &, double *buffer, Ref< GaussianBasisSet >
c1, int s1, Ref< GaussianBasisSet > c2, int s2, Ref<
GaussianBasisSet > c3, int s3, Ref< GaussianBasisSet > c4, int s4)
void int_print_n (std::ostream &, double *buffer, int n1, int n2, int
n3, int n4, int e12, int e13e24, int e34)
void int_print_intermediates (std::ostream &)
void shiftam_12 (double *I0100, double *I1000, double *I0000, int am1,
int am2, int am3, int am4)
void shiftam_12eAB (double *I0100, double *I1000, double *I0000, int
am1, int am2, int am3, int am4)
void shiftam_34 (double *I0001, double *I0010, double *I0000, int am1,
int am2, int am3, int am4)
void int_init_shiftgc (int order, int am1, int am2, int am3, int am4)
void int_done_shiftgc ()
double * int_shiftgcam (int gc1, int gc2, int gc3, int gc4, int tam1,
int tam2, int tam3, int tam4, int peAB)
void alloc_inter (int nprim, int nshell)
void compute_shell_1 (Ref< GaussianBasisSet > cs, int, int)
void compute_prim_2 (Ref< GaussianBasisSet > cs1, int, int, Ref<
GaussianBasisSet > cs2, int, int)
double * int_initialize_erep (size_t storage, int order, const Ref<
GaussianBasisSet > &cs1, const Ref< GaussianBasisSet > &cs2, const
Ref< GaussianBasisSet > &cs3, const Ref< GaussianBasisSet > &cs4)
void int_done_erep ()
void transform_init ()
void transform_done ()
void source_space (int nsource)
void copy_to_source (double *integrals, int nsource)
void do_gencon_sparse_transform_2e (Integral *integ, double *integrals,
double *target, int index, GaussianShell *sh1, GaussianShell *sh2,
GaussianShell *sh3, GaussianShell *sh4)
void transform_2e_slow (Integral *, double *integrals, double *target,
GaussianShell *sh1, GaussianShell *sh2, GaussianShell *sh3,
GaussianShell *sh4)
void transform_2e (Integral *, double *integrals, double *target,
GaussianShell *sh1, GaussianShell *sh2, GaussianShell *sh3,
GaussianShell *sh4)
void compute_erep (int flags, int *psh1, int *psh2, int *psh3, int
*psh4, int dam1, int dam2, int dam3, int dam4)
void compute_erep_1der (int flags, double *buffer, int *psh1, int
*psh2, int *psh3, int *psh4, int dercenter)
void nonredundant_erep (double *buffer, int e12, int e34, int e13e24,
int n1, int n2, int n3, int n4, int *red_off, int *nonred_off)
void compute_erep_bound1der (int flags, double *buffer, int *psh1, int
*psh2, int *psh3, int *psh4)
void int_erep_bound1der (int flags, int bsh1, int bsh2, int *size)
void int_init_bounds_nocomp ()
void int_init_bounds_1der_nocomp ()
void int_bounds_comp (int s1, int s2)
void int_bounds_1der_comp (int s1, int s2)
int int_erep_2bound (int s1, int s2)
int int_erep_0bound_1der ()
int int_erep_2bound_1der (int s1, int s2)
void compute_bounds (int_bound_t *overall, int_bound_t *vec, int flag)
void compute_bounds_shell (int_bound_t *overall, int_bound_t *vec, int
flag, int sh1, int sh2)
int int_have_stored_integral (int sh1, int sh2, int sh3, int sh4, int
p12, int p34, int p13p24)
void int_store_integral (int sh1, int sh2, int sh3, int sh4, int p12,
int p34, int p13p24, int size)
void int_initialize_offsets2 ()
void int_done_offsets2 ()
void make_int_unit_shell ()
void delete_int_unit_shell ()
Protected Attributes
Integral * integral_
BuildIntV3 build
Ref< IntegralStorer > storer
Ref< GaussianBasisSet > bs1_
Ref< GaussianBasisSet > bs2_
Ref< GaussianBasisSet > bs3_
Ref< GaussianBasisSet > bs4_
Ref< GaussianBasisSet > pbs1_
Ref< GaussianBasisSet > pbs2_
Ref< GaussianBasisSet > pbs3_
Ref< GaussianBasisSet > pbs4_
Ref< MessageGrp > grp_
int bs1_shell_offset_
int bs2_shell_offset_
int bs3_shell_offset_
int bs4_shell_offset_
int bs1_func_offset_
int bs2_func_offset_
int bs3_func_offset_
int bs4_func_offset_
int bs1_prim_offset_
int bs2_prim_offset_
int bs3_prim_offset_
int bs4_prim_offset_
int n_store_last
store_list_t * store
intfunc build_routine [4][4][4][4][2]
int osh1
int osh2
int osh3
int osh4
int opr1
int opr2
int opr3
int opr4
int saved_am12
int saved_am34
int saved_ncon
IntV3Arrayint3 contract_length
int g1
int g2
int g3
int g4
double AmB [3]
double CmD [3]
int eAB
double * buf34
double * buf12
double * bufshared
int redundant_
int permute_
Ref< FJT > fjt_
int * int_shell_to_prim
IntV3Arraydouble2 int_shell_r
IntV3Arraydouble2 int_prim_zeta
IntV3Arraydouble2 int_prim_k
IntV3Arraydouble2 int_prim_oo2zeta
IntV3Arraydouble3 int_prim_p
double * int_buffer
double * int_derint_buffer
Ref< GaussianBasisSet > int_cs1
Ref< GaussianBasisSet > int_cs2
Ref< GaussianBasisSet > int_cs3
Ref< GaussianBasisSet > int_cs4
GaussianShell * int_shell1
GaussianShell * int_shell2
GaussianShell * int_shell3
GaussianShell * int_shell4
IntV3Arraydoublep2 **** e0f0_con_ints_array
int int_expweight1
int int_expweight2
int int_expweight3
int int_expweight4
int int_unit2
int int_unit4
GaussianShell * int_unit_shell
int int_integral_storage
int int_store1
int int_store2
int int_derivative_bounds
double * source
double * target
double * scratch
int nsourcemax
int_bound_t int_Q
int_bound_t int_R
int_bound_t * int_Qvec
int_bound_t * int_Rvec
int used_storage_
int used_storage_build_
int used_storage_shift_
Detailed Description
Int2eV3 is a class wrapper for the two body part of the C language
IntV3 library.
It is used by TwoBodyIntV3 and TwoBodyDerivIntV3 to implement
IntegralV3.
Author
Generated automatically by Doxygen for MPQC from the source code.