#include <int2e.h>
Inheritance diagram for Int2eV3
Public Types | |
enum | { STORAGE_CHUNK = 4096 } |
Public Methods | |
Int2eV3 (Integral *, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, int order, int storage) | |
~Int2eV3 () | |
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 Methods | |
double | logbound_to_bound (int) |
int | bound_to_logbound (double value) |
Protected Types | |
typedef struct store_list | store_list_t |
typedef int (BuildIntV3::* | intfunc )() |
typedef signed char | int_bound_t |
enum | { int_bound_min = SCHAR_MIN, int_bound_max = SCHAR_MAX } |
Protected Methods | |
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_1 (Ref< GaussianBasisSet > cs1) |
void | compute_shell_2 (Ref< GaussianBasisSet > cs1, Ref< GaussianBasisSet > cs2) |
void | compute_prim_2 (Ref< GaussianBasisSet > cs1, Ref< GaussianBasisSet > cs2) |
double* | int_initialize_erep (int 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<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_ |
It is used by TwoBodyIntV3 and TwoBodyDerivIntV3 to implement IntegralV3.