sc::Int2eV3 Class Reference

Int2eV3 is a class wrapper for the two body part of the C language IntV3 library. More...

`#include <int2e.h>`

Inheritance diagram for sc::Int2eV3:
[legend]
Collaboration diagram for sc::Int2eV3:
[legend]

## 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
Public Member Functions inherited from sc::RefCount
int | lock_ptr () const
| Lock this object.
int | unlock_ptr () const
| Unlock this object.
void | use_locks (bool inVal)
| start and stop using locks on this object
refcount_t | nreference () const
| Return the reference count.
refcount_t | reference ()
| Increment the reference count and return the new count.
refcount_t | dereference ()
| Decrement the reference count and return the new count.
int | managed () const
void | unmanage ()
| Turn off the reference counting mechanism for this object. More...
int | managed () const
| Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier | identifier ()
| Return the Identifier for this argument. More...

## 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 Member Functions inherited from sc::RefCount
| RefCount (const RefCount &)
RefCount & | operator= (const RefCount &)

## 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.

The documentation for this class was generated from the following file:

- intv3/int2e.h