#include <QMCBasisFunctionCoefficients.h>
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< qmcfloat > | Coeffs |
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 () 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 () 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. |
For example, a gaussian basis function is
where k,l,m are determined by the type of basis function, is the contraction parameter, and 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.
QMCBasisFunctionCoefficients::QMCBasisFunctionCoefficients | ( | ) |
Creates an instance of the class.
Definition at line 17 of file QMCBasisFunctionCoefficients.cpp.
References N_Orbitals.
int QMCBasisFunctionCoefficients::getNumberBasisFunctions | ( | ) |
Gets the 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.
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.
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.
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 () where xyz[bf #][0=k,1=l,2=m].
For example, a "px" orbital would have .
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 () 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>>().
int QMCBasisFunctionCoefficients::Max_Gaussians [private] |
Definition at line 140 of file QMCBasisFunctionCoefficients.h.
Referenced by operator<<(), operator=(), and operator>>().
string QMCBasisFunctionCoefficients::Label [private] |
Definition at line 141 of file QMCBasisFunctionCoefficients.h.
Referenced by operator<<(), operator=(), and operator>>().
int QMCBasisFunctionCoefficients::N_Orbitals [private] |
Definition at line 142 of file QMCBasisFunctionCoefficients.h.
Referenced by getNumberBasisFunctions(), operator<<(), operator=(), operator>>(), and QMCBasisFunctionCoefficients().