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

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 Integral

Inheritance graph
[legend]
Collaboration diagram for 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...

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

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

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

void adjust_storage (int 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 SphericalTransformIter* new_spherical_transform_iter (int l, int inv=0, int subl=-1)=0
 Return a SphericalTransformIter object. More...

virtual const SphericalTransform* spherical_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_
int storage_
int 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 * Integral::new_cartesian_iter ( int ) [pure virtual]
 

Return a CartesianIter object.

The caller is responsible for freeing the object.

Reimplemented in IntegralV3.

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

Return a RedundantCartesianIter object.

The caller is responsible for freeing the object.

Reimplemented in IntegralV3.

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

Return a RedundantCartesianSubIter object.

The caller is responsible for freeing the object.

Reimplemented in IntegralV3.

SphericalTransformIter * 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 IntegralV3.

Ref< OneBodyInt > 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 IntegralV3.

void 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 SavableState.

Reimplemented in IntegralV3.

ShellRotation 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 * 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 IntegralV3.


The documentation for this class was generated from the following file:
Generated at Thu Oct 4 18:09:15 2001 for MPQC 2.0.0 using the documentation package Doxygen 1.2.5.