#include <QMCPotential_Energy.h>
Public Member Functions | |
QMCPotential_Energy () | |
Creates an instance of the class. | |
void | initialize (QMCInput *input, QMCHartreeFock *HF) |
Initialize the object. | |
double | evaluatePsuedoPotential (Array2D< double > &R, int elec, int nuc) |
If psuedopotentials are used, call this function to evaluate it. | |
void | evaluate (Array1D< Array2D< double > * > &X, Array1D< QMCWalkerData * > &walkerData, int num) |
Evaluates the potential energy for the given electronic configuration. | |
double | getEnergy (int which) |
Gets the potential energy of the last configuration evaluated. | |
double | getEnergyNE (int which) |
Gets the nuc-elec potential energy of the last config evaluated. | |
double | getEnergyEE (int which) |
Gets the elec-elec potential energy of the last config evaluated. | |
void | operator= (const QMCPotential_Energy &rhs) |
Sets two QMCPotential_Energy objects equal. | |
Private Member Functions | |
void | calc_P_nn () |
void | calc_P_en (Array2D< double > &R) |
void | calc_P_ee (Array2D< double > &R) |
Private Attributes | |
QMCInput * | Input |
QMCHartreeFock * | HartreeFock |
QMCWalkerData * | wd |
QMCWavefunction * | WF |
QMCMolecule * | MOL |
Array1D< double > | Energy_total |
Array1D< double > | Energy_ne |
Array1D< double > | Energy_ee |
Array1D< Array2D< Array1D < double > > > | angularGrids |
Array1D< double > | integrand |
Array2D< qmcfloat > * | coeffs |
Array2D< double > | X |
Array2D< double > | D |
Array2D< double > | ciDet |
Array1D< Array2D< double > > | Dc_inv |
QMCElectronNucleusCusp | ElectronNucleusCuspA |
QMCElectronNucleusCusp | ElectronNucleusCuspB |
double | P_nn |
double | P_en |
double | P_ee |
Definition at line 32 of file QMCPotential_Energy.h.
QMCPotential_Energy::QMCPotential_Energy | ( | ) |
void QMCPotential_Energy::initialize | ( | QMCInput * | input, | |
QMCHartreeFock * | HF | |||
) |
Initialize the object.
input | data input to control the calculation |
Definition at line 45 of file QMCPotential_Energy.cpp.
References Array1D< T >::allocate(), QMCBasisFunction::angularGrid(), angularGrids, QMCMolecule::Atom_Positions, QMCInput::BF, calc_P_nn(), coeffs, Array2D< T >::dim1(), ElectronNucleusCuspA, ElectronNucleusCuspB, Energy_ee, Energy_ne, Energy_total, QMCElectronNucleusCusp::fitReplacementOrbitals(), QMCInput::flags, QMCWavefunction::getCoeff(), QMCMolecule::getGrid(), globalInput, HartreeFock, QMCElectronNucleusCusp::initialize(), Input, MOL, QMCInput::Molecule, QMCFlags::replace_electron_nucleus_cusps, QMCMolecule::usesPsuedo, QMCFlags::walkers_per_pass, wd, QMCInput::WF, and WF.
Referenced by QMCSCFJastrow::initialize().
double QMCPotential_Energy::evaluatePsuedoPotential | ( | Array2D< double > & | R, | |
int | elec, | |||
int | nuc | |||
) |
If psuedopotentials are used, call this function to evaluate it.
R | the list of electron positions | |
elec | the electron for which the ecp is evaluated | |
nuc | the nucleus with the ecp |
Definition at line 79 of file QMCPotential_Energy.cpp.
References Array1D< T >::allocate(), Array2D< T >::allocate(), angularGrids, QMCBasisFunction::basisFunctionsOnGrid(), QMCInput::BF, QMCWavefunction::CI_coeffs, ciDet, D, Dc_inv, QMCWalkerData::Dc_invA, QMCWalkerData::Dc_invB, QMCWalkerData::DcA, QMCWalkerData::DcB, Array2D< T >::dim1(), ElectronNucleusCuspA, ElectronNucleusCuspB, QMCMolecule::evaluatePotential(), QMCInput::flags, Array2D< T >::gemm(), QMCWavefunction::getCoeff(), QMCWavefunction::getDataForCI(), QMCMolecule::getGrid(), QMCWavefunction::getNumberBasisFunctions(), QMCWavefunction::getNumberDeterminants(), QMCWavefunction::getNumberElectrons(), QMCWavefunction::getNumberOrbitals(), globalInput, QMCMolecule::gridLegendre, QMCMolecule::gridWeights, integrand, QMCThreeBodyJastrow::jastrowOnGrid(), QMCJastrowElectronNuclear::jastrowOnGrid(), QMCJastrowElectronElectron::jastrowOnGrid(), QMCInput::JP, MOL, QMCFlags::psuedo_cutoff, QMCFlags::replace_electron_nucleus_cusps, QMCElectronNucleusCusp::replaceCusps(), QMCWalkerData::riA, QMCFlags::use_three_body_jastrow, QMCMolecule::Vlocal, QMCMolecule::Vnonlocal, wd, QMCInput::WF, WF, X, and QMCMolecule::Zeff.
Referenced by calc_P_en().
void QMCPotential_Energy::evaluate | ( | Array1D< Array2D< double > * > & | X, | |
Array1D< QMCWalkerData * > & | walkerData, | |||
int | num | |||
) |
Evaluates the potential energy for the given electronic configuration.
X | dimensional configuration of electrons represented by a matrix |
Definition at line 219 of file QMCPotential_Energy.cpp.
References calc_P_ee(), calc_P_en(), Energy_ee, Energy_ne, Energy_total, P_ee, P_en, P_nn, and wd.
Referenced by QMCSCFJastrow::evaluate().
double QMCPotential_Energy::getEnergy | ( | int | which | ) |
Gets the potential energy of the last configuration evaluated.
Definition at line 307 of file QMCPotential_Energy.cpp.
References Energy_total.
Referenced by QMCSCFJastrow::calculate_E_Local(), and QMCSCFJastrow::getPotentialEnergy().
double QMCPotential_Energy::getEnergyNE | ( | int | which | ) |
Gets the nuc-elec potential energy of the last config evaluated.
Definition at line 312 of file QMCPotential_Energy.cpp.
References Energy_ne.
Referenced by QMCSCFJastrow::getEnergyNE().
double QMCPotential_Energy::getEnergyEE | ( | int | which | ) |
Gets the elec-elec potential energy of the last config evaluated.
Definition at line 317 of file QMCPotential_Energy.cpp.
References Energy_ee.
Referenced by QMCSCFJastrow::getEnergyEE().
void QMCPotential_Energy::operator= | ( | const QMCPotential_Energy & | rhs | ) |
Sets two QMCPotential_Energy objects equal.
rhs | object to set this object equal to |
Definition at line 25 of file QMCPotential_Energy.cpp.
References ElectronNucleusCuspA, ElectronNucleusCuspB, Energy_ee, Energy_ne, Energy_total, HartreeFock, Input, MOL, P_ee, P_en, P_nn, wd, and WF.
void QMCPotential_Energy::calc_P_nn | ( | ) | [private] |
Definition at line 257 of file QMCPotential_Energy.cpp.
References QMCMolecule::Atom_Positions, Array2D< T >::dim1(), MOL, P_nn, MathFunctions::rij(), and QMCMolecule::Zeff.
Referenced by initialize().
void QMCPotential_Energy::calc_P_en | ( | Array2D< double > & | R | ) | [private] |
Definition at line 238 of file QMCPotential_Energy.cpp.
References QMCMolecule::Atom_Positions, Array2D< T >::dim1(), evaluatePsuedoPotential(), MOL, P_en, QMCWalkerData::riA, QMCMolecule::usesPsuedo, wd, and QMCMolecule::Zeff.
Referenced by evaluate().
void QMCPotential_Energy::calc_P_ee | ( | Array2D< double > & | R | ) | [private] |
Definition at line 281 of file QMCPotential_Energy.cpp.
References Array2D< T >::dim1(), QMCInput::flags, QMCHartreeFock::GetVEff(), globalInput, HartreeFock, P_ee, QMCWalkerData::rij, QMCFlags::use_hf_potential, and wd.
Referenced by evaluate().
QMCInput* QMCPotential_Energy::Input [private] |
QMCHartreeFock* QMCPotential_Energy::HartreeFock [private] |
Definition at line 91 of file QMCPotential_Energy.h.
Referenced by calc_P_ee(), initialize(), and operator=().
QMCWalkerData* QMCPotential_Energy::wd [private] |
Definition at line 92 of file QMCPotential_Energy.h.
Referenced by calc_P_ee(), calc_P_en(), evaluate(), evaluatePsuedoPotential(), initialize(), and operator=().
QMCWavefunction* QMCPotential_Energy::WF [private] |
Definition at line 93 of file QMCPotential_Energy.h.
Referenced by evaluatePsuedoPotential(), initialize(), and operator=().
QMCMolecule* QMCPotential_Energy::MOL [private] |
Definition at line 94 of file QMCPotential_Energy.h.
Referenced by calc_P_en(), calc_P_nn(), evaluatePsuedoPotential(), initialize(), and operator=().
Array1D<double> QMCPotential_Energy::Energy_total [private] |
Definition at line 96 of file QMCPotential_Energy.h.
Referenced by evaluate(), getEnergy(), initialize(), and operator=().
Array1D<double> QMCPotential_Energy::Energy_ne [private] |
Definition at line 97 of file QMCPotential_Energy.h.
Referenced by evaluate(), getEnergyNE(), initialize(), and operator=().
Array1D<double> QMCPotential_Energy::Energy_ee [private] |
Definition at line 98 of file QMCPotential_Energy.h.
Referenced by evaluate(), getEnergyEE(), initialize(), and operator=().
Array1D< Array2D< Array1D<double> > > QMCPotential_Energy::angularGrids [private] |
Definition at line 101 of file QMCPotential_Energy.h.
Referenced by evaluatePsuedoPotential(), and initialize().
Array1D<double> QMCPotential_Energy::integrand [private] |
Array2D<qmcfloat>* QMCPotential_Energy::coeffs [private] |
Array2D<double> QMCPotential_Energy::X [private] |
Array2D<double> QMCPotential_Energy::D [private] |
Array2D<double> QMCPotential_Energy::ciDet [private] |
Array1D< Array2D<double> > QMCPotential_Energy::Dc_inv [private] |
Definition at line 108 of file QMCPotential_Energy.h.
Referenced by evaluatePsuedoPotential(), initialize(), and operator=().
Definition at line 109 of file QMCPotential_Energy.h.
Referenced by evaluatePsuedoPotential(), initialize(), and operator=().
double QMCPotential_Energy::P_nn [private] |
Definition at line 111 of file QMCPotential_Energy.h.
Referenced by calc_P_nn(), evaluate(), and operator=().
double QMCPotential_Energy::P_en [private] |
Definition at line 112 of file QMCPotential_Energy.h.
Referenced by calc_P_en(), evaluate(), and operator=().
double QMCPotential_Energy::P_ee [private] |
Definition at line 113 of file QMCPotential_Energy.h.
Referenced by calc_P_ee(), evaluate(), and operator=().