QMCBasisFunctionCoefficients Class Reference

This class stores all of the parameters that a gaussian basis set is constructed from for an ATOM. More...

#include <QMCBasisFunctionCoefficients.h>

List of all members.

Public Member Functions

 QMCBasisFunctionCoefficients ()
 Creates an instance of the class.
int getNumberBasisFunctions ()
 Gets the number of basis functions.
void operator= (const QMCBasisFunctionCoefficients &rhs)
 Sets two QMCBasisFunctionCoefficients objects equal.
void read (string runfile)
 Loads the state of the object from a file.

Public Attributes

Array3D< qmcfloatCoeffs
 Array containing the parameters for the basis functions where Coeffs[bf #][Gaussian #][0=exp,1=contract].
Array2D< int > xyz_powers
 Array containing the k,l,m parameters which indicate the "angular momentum state" of the basis function ($bf=x^{k}y^{l}z^{m}*RadialFunction(r)$) where xyz[bf #][0=k,1=l,2=m].
Array1D< int > N_Gauss
 Array containing the number of gaussians that need to be contracted for the radial portion of the basis function ($bf=x^{k}y^{l}z^{m}*RadialFunction(r)$) where N_Gauss[bf #].
Array1D< string > Type
 Array containing the type of the basis function where Type[bf #].
int lmax
 The highest Type we'll need to evaluate.

Private Attributes

int Max_Gaussians
string Label
int N_Orbitals

Friends

istream & operator>> (istream &strm, QMCBasisFunctionCoefficients &rhs)
 Loads the state of the object from an input stream.
ostream & operator<< (ostream &strm, QMCBasisFunctionCoefficients &rhs)
 Writes the state of the object to an output stream.


Detailed Description

This class stores all of the parameters that a gaussian basis set is constructed from for an ATOM.

For example, a gaussian basis function is

\[ Gbf(x,y,z)=x^{k}y^{l}z^{m}\sum_{i=0}^{Ngaussians-1}a_{i}e^{-b_{i}r^{2}} \]

where k,l,m are determined by the type of basis function, $a_{i}$ is the contraction parameter, and $b_{i}$ is the exponential parameter. The particular contraction parameter is chosen so that the basis function is normalized. This is slightly different than what is common with linear algebra quantum mechanics programs. The contraction parameters used here can be obtained using the contraction and exponential parameters and k,l,m from a linear algebra basis file. You will have to look up the formula for doing this.

This reads in basis function coefficients in the following format...

  AtomLabel  Number_of_orbitals Maximum_Gaussians

  Ngaussians  Type
  exp_param   contraction_param
  ...         ...

  Ngaussians  Type
  exp_param   contraction_param
  ...         ...

  etc...
  

Definition at line 49 of file QMCBasisFunctionCoefficients.h.


Constructor & Destructor Documentation

QMCBasisFunctionCoefficients::QMCBasisFunctionCoefficients (  ) 

Creates an instance of the class.

Definition at line 17 of file QMCBasisFunctionCoefficients.cpp.

References N_Orbitals.


Member Function Documentation

int QMCBasisFunctionCoefficients::getNumberBasisFunctions (  ) 

Gets the number of basis functions.

Returns:
number of basis functions

Definition at line 22 of file QMCBasisFunctionCoefficients.cpp.

References N_Orbitals.

Referenced by QMCElectronNucleusCusp::fitReplacementOrbitals().

void QMCBasisFunctionCoefficients::operator= ( const QMCBasisFunctionCoefficients rhs  ) 

Sets two QMCBasisFunctionCoefficients objects equal.

Parameters:
rhs object to set this object equal to

Definition at line 27 of file QMCBasisFunctionCoefficients.cpp.

References Coeffs, Label, Max_Gaussians, N_Gauss, N_Orbitals, Type, and xyz_powers.

void QMCBasisFunctionCoefficients::read ( string  runfile  ) 

Loads the state of the object from a file.

Definition at line 119 of file QMCBasisFunctionCoefficients.cpp.


Friends And Related Function Documentation

istream& operator>> ( istream &  strm,
QMCBasisFunctionCoefficients rhs 
) [friend]

Loads the state of the object from an input stream.

Definition at line 84 of file QMCBasisFunctionCoefficients.cpp.

ostream& operator<< ( ostream &  strm,
QMCBasisFunctionCoefficients rhs 
) [friend]

Writes the state of the object to an output stream.

Definition at line 139 of file QMCBasisFunctionCoefficients.cpp.


Member Data Documentation

Array containing the parameters for the basis functions where Coeffs[bf #][Gaussian #][0=exp,1=contract].

Definition at line 73 of file QMCBasisFunctionCoefficients.h.

Referenced by QMCElectronNucleusCusp::fitReplacementOrbitals(), operator<<(), operator=(), operator>>(), QMCBasisFunction::radialFunction(), QMCBasisFunction::radialFunctionFirstDerivative(), and QMCBasisFunction::radialFunctionSecondDerivative().

Array containing the k,l,m parameters which indicate the "angular momentum state" of the basis function ($bf=x^{k}y^{l}z^{m}*RadialFunction(r)$) where xyz[bf #][0=k,1=l,2=m].

For example, a "px" orbital would have $(k,l,m)=(1,0,0)$.

Definition at line 83 of file QMCBasisFunctionCoefficients.h.

Referenced by QMCElectronNucleusCusp::fitReplacementOrbitals(), operator=(), and operator>>().

Array containing the number of gaussians that need to be contracted for the radial portion of the basis function ($bf=x^{k}y^{l}z^{m}*RadialFunction(r)$) where N_Gauss[bf #].

Definition at line 92 of file QMCBasisFunctionCoefficients.h.

Referenced by QMCElectronNucleusCusp::fitReplacementOrbitals(), operator<<(), operator=(), operator>>(), QMCBasisFunction::radialFunction(), QMCBasisFunction::radialFunctionFirstDerivative(), and QMCBasisFunction::radialFunctionSecondDerivative().

Array containing the type of the basis function where Type[bf #].

The type is a string representation of the "angular momentum state." For example, "px", "dxy", and "fxxx" are all types of basis functions.

Definition at line 101 of file QMCBasisFunctionCoefficients.h.

Referenced by QMCElectronNucleusCusp::fitReplacementOrbitals(), operator<<(), operator=(), and operator>>().

The highest Type we'll need to evaluate.

Definition at line 106 of file QMCBasisFunctionCoefficients.h.

Referenced by operator>>().

Definition at line 140 of file QMCBasisFunctionCoefficients.h.

Referenced by operator<<(), operator=(), and operator>>().

Definition at line 141 of file QMCBasisFunctionCoefficients.h.

Referenced by operator<<(), operator=(), and operator>>().


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

Generated on Sat Jul 5 16:14:02 2008 for QMcBeaver by  doxygen 1.5.6