Google

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

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

Return a CartesianIter object.

The caller is responsible for freeing the object.

Implemented in sc::IntegralV3.

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

Return a RedundantCartesianIter object.

The caller is responsible for freeing the object.

Implemented in sc::IntegralV3.

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

Return a RedundantCartesianSubIter object.

The caller is responsible for freeing the object.

Implemented in sc::IntegralV3.

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

Implemented in sc::IntegralV3.

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

Implemented in sc::IntegralV3.

void sc::Integral::save_data_state StateOut   [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.

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

Implemented in sc::IntegralV3.


The documentation for this class was generated from the following file:
Generated at Fri Jan 10 08:15:12 2003 for MPQC 2.1.3 using the documentation package Doxygen 1.2.14.