Scroll to navigation

sc::Int2eCints(3) MPQC sc::Int2eCints(3)

NAME

sc::Int2eCints - Int2eCints is an interface to various specializations of two-electron integral evaluators implemented in Cints.

SYNOPSIS

#include <int2e.h>

Inherits sc::RefCount.

Inherited by sc::EriCints, and sc::GRTCints.

Public Member Functions


Int2eCints (Integral *, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, const Ref< GaussianBasisSet > &, size_t storage)
void init_storage (size_t)
Sets storage limit and starts storage tracking. void done_storage ()
Finishes storage tracking. size_t storage_used () const
Reports how much storage is actually used at a given time. int redundant () const
Whether redundant integrals are returned. void set_redundant (int flag)
Set redundant flag. int permute () const
Whether shells can be permuted. void set_permute (int flag)
Set shell permutation flag. virtual void compute_quartet (int *, int *, int *, int *)=0
Evaluate the target quartet of integrals. virtual double * buffer (TwoBodyInt::tbint_type=TwoBodyInt::eri) const =0
Returns the location of the buffer with target integrals. Ref< GaussianBasisSet > basis ()
Ref< GaussianBasisSet > basis1 ()
Ref< GaussianBasisSet > basis2 ()
Ref< GaussianBasisSet > basis3 ()
Ref< GaussianBasisSet > basis4 ()

Protected Member Functions


void check_storage_ () const
void transform_contrquartets_ (double *, double *)
void sort_contrquartets_to_shellquartet_ (double *, double *)
void permute_target_ (double *, double *, int, int, int)
void permute_1234_to_1243_ (double *, double *)
void permute_1234_to_2134_ (double *, double *)
void permute_1234_to_2143_ (double *, double *)
void permute_1234_to_3412_ (double *, double *)
void permute_1234_to_3421_ (double *, double *)
void permute_1234_to_4312_ (double *, double *)
void permute_1234_to_4321_ (double *, double *)
void get_nonredundant_ints_ (double *, double *, int, int, int)

Static Protected Member Functions


static size_t storage_required_ (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0)

Protected Attributes


Integral * integral_
Ref< GaussianBasisSet > bs1_
Ref< GaussianBasisSet > bs2_
Ref< GaussianBasisSet > bs3_
Ref< GaussianBasisSet > bs4_
Ref< MessageGrp > grp_
GaussianShell * int_shell1_
GaussianShell * int_shell2_
GaussianShell * int_shell3_
GaussianShell * int_shell4_
int permute_
int redundant_
size_t storage_
size_t storage_used_
double * tformbuf_

Detailed Description

Int2eCints is an interface to various specializations of two-electron integral evaluators implemented in Cints.

It is used by TwoBodyIntCints and TwoBodyDerivIntCints to implement IntegralCints.

Author

Generated automatically by Doxygen for MPQC from the source code.

Sun Oct 4 2020 Version 2.3.1