Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

sc::Integral Class Reference

The Integral abstract class acts as a factory to provide objects that compute one and two electron integrals. More...

#include <integral.h>

Inheritance diagram for sc::Integral

Inheritance graph
[legend]
Collaboration diagram for sc::Integral:

Collaboration graph
[legend]
List of all members.

Public Methods

 Integral (StateIn &)
 Restore the Integral object from the given StateIn object.

 Integral (const Ref< KeyVal > &)
 Integral the Integral object from the given KeyVal object.

void save_data_state (StateOut &)
 Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More...

virtual int equiv (const Ref< Integral > &)
 Returns nonzero if this and the given Integral object have the same integral ordering, normalization conventions, etc.

void set_storage (size_t i)
 Sets the total amount of storage, in bytes, that is available.

size_t storage_used ()
 Returns how much storage has been used.

size_t storage_unused ()
 Returns how much storage was not needed.

void adjust_storage (ptrdiff_t s)
 The specific integral classes use this to tell Integral how much memory they are using/freeing.

Ref<PetiteList> petite_list ()
 Return the PetiteList object.

Ref<PetiteList> petite_list (const Ref< GaussianBasisSet > &)
 Return the PetiteList object for the given basis set.

ShellRotation shell_rotation (int am, SymmetryOperation &, int pure=0)
 Return the ShellRotation object for a shell of the given angular momentum. More...

virtual void set_basis (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0, const Ref< GaussianBasisSet > &b3=0, const Ref< GaussianBasisSet > &b4=0)
 Set the basis set for each center.

virtual CartesianIternew_cartesian_iter (int)=0
 Return a CartesianIter object. More...

virtual RedundantCartesianIternew_redundant_cartesian_iter (int)=0
 Return a RedundantCartesianIter object. More...

virtual RedundantCartesianSubIternew_redundant_cartesian_sub_iter (int)=0
 Return a RedundantCartesianSubIter object. More...

virtual SphericalTransformIternew_spherical_transform_iter (int l, int inv=0, int subl=-1)=0
 Return a SphericalTransformIter object. More...

virtual const SphericalTransformspherical_transform (int l, int inv=0, int subl=-1)=0
 Return a SphericalTransform object. More...

virtual Ref<OneBodyIntoverlap ()=0
 Return a OneBodyInt that computes the overlap.

virtual Ref<OneBodyIntkinetic ()=0
 Return a OneBodyInt that computes the kinetic energy.

virtual Ref<OneBodyIntpoint_charge (const Ref< PointChargeData > &)=0
 Return a OneBodyInt that computes the integrals for interactions with point charges.

virtual Ref<OneBodyIntnuclear ()=0
 Return a OneBodyInt that computes the nuclear repulsion integrals. More...

virtual Ref<OneBodyInthcore ()=0
 Return a OneBodyInt that computes the core Hamiltonian integrals.

virtual Ref<OneBodyIntefield_dot_vector (const Ref< EfieldDotVectorData > &)=0
 Return a OneBodyInt that computes the electric field integrals dotted with a given vector.

virtual Ref<OneBodyIntdipole (const Ref< DipoleData > &)=0
 Return a OneBodyInt that computes dipole moment integrals.

virtual Ref<OneBodyDerivIntoverlap_deriv ()=0
 Return a OneBodyDerivInt that computes overlap derivatives.

virtual Ref<OneBodyDerivIntkinetic_deriv ()=0
 Return a OneBodyDerivInt that computes kinetic energy derivatives.

virtual Ref<OneBodyDerivIntnuclear_deriv ()=0
 Return a OneBodyDerivInt that computes nuclear repulsion derivatives.

virtual Ref<OneBodyDerivInthcore_deriv ()=0
 Return a OneBodyDerivInt that computes core Hamiltonian derivatives.

virtual Ref<TwoBodyIntelectron_repulsion ()=0
 Return a TwoBodyInt that computes electron repulsion integrals.

virtual Ref<TwoBodyDerivIntelectron_repulsion_deriv ()=0
 Return a TwoBodyDerivInt that computes electron repulsion derivatives.

Ref<MessageGrpmessagegrp ()
 Return the MessageGrp used by the integrals objects.


Protected Methods

 Integral (const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2, const Ref< GaussianBasisSet > &b3, const Ref< GaussianBasisSet > &b4)
 Initialize the Integral object given a GaussianBasisSet for each center.


Protected Attributes

Ref<GaussianBasisSetbs1_
Ref<GaussianBasisSetbs2_
Ref<GaussianBasisSetbs3_
Ref<GaussianBasisSetbs4_
size_t storage_
size_t storage_used_
Ref<MessageGrpgrp_

Detailed Description

The Integral abstract class acts as a factory to provide objects that compute one and two electron integrals.


Member Function Documentation

CartesianIter * sc::Integral::new_cartesian_iter ( int ) [pure virtual]
 

Return a CartesianIter object.

The caller is responsible for freeing the object.

Reimplemented in sc::IntegralV3.

RedundantCartesianIter * sc::Integral::new_redundant_cartesian_iter ( int ) [pure virtual]
 

Return a RedundantCartesianIter object.

The caller is responsible for freeing the object.

Reimplemented in sc::IntegralV3.

RedundantCartesianSubIter * sc::Integral::new_redundant_cartesian_sub_iter ( int ) [pure virtual]
 

Return a RedundantCartesianSubIter object.

The caller is responsible for freeing the object.

Reimplemented in sc::IntegralV3.

SphericalTransformIter * sc::Integral::new_spherical_transform_iter ( int l,
int inv = 0,
int subl = -1 ) [pure virtual]
 

Return a SphericalTransformIter object.

The caller is responsible for freeing the object.

Reimplemented in sc::IntegralV3.

Ref< OneBodyInt > sc::Integral::nuclear ( ) [pure virtual]
 

Return a OneBodyInt that computes the nuclear repulsion integrals.

Charges from the atoms on the center one are used.

Reimplemented in sc::IntegralV3.

void sc::Integral::save_data_state ( StateOut & s ) [virtual]
 

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from sc::SavableState.

Reimplemented in sc::IntegralV3.

ShellRotation sc::Integral::shell_rotation ( int am,
SymmetryOperation &,
int pure = 0 )
 

Return the ShellRotation object for a shell of the given angular momentum.

Pass nonzero to pure to do solid harmonics.

const SphericalTransform * sc::Integral::spherical_transform ( int l,
int inv = 0,
int subl = -1 ) [pure virtual]
 

Return a SphericalTransform object.

The pointer is only valid while this Integral object is valid.

Reimplemented in sc::IntegralV3.


The documentation for this class was generated from the following file:
Generated at Mon Oct 14 14:17:02 2002 for MPQC 2.1.2 using the documentation package Doxygen 1.2.5.