#include <QMCJastrowElectronNuclear.h>
Public Member Functions | |
| QMCJastrowElectronNuclear () | |
| ~QMCJastrowElectronNuclear () | |
| void | initialize (QMCInput *input) |
| Initializes the class with the data controlling the calculation. | |
| void | evaluate (QMCJastrowParameters &JP, QMCWalkerData *wData, Array2D< double > &X) |
| Evaluates the electron-nuclear Jastrow function and its derivatives at X using a given set of QMCJastrowParameters. | |
| double | jastrowOnGrid (QMCJastrowParameters &JP, int Electron, Array2D< double > &R, Array2D< double > &grid, Array1D< double > &integrand) |
| double | get_p_a_ln (int ai) |
| Partial derivative of the natural log of this function with respect to parameter ai. | |
| Array2D< double > * | get_p2_xa_ln (int ai) |
| Second partial derivative of the natural log of this function with respect to parameters x and ai. | |
| double | get_p3_xxa_ln (int ai) |
| Third partial derivative of the natural log of this function with respect to parameters x, x, and ai. | |
Protected Attributes | |
| Array1D< double > | p_a |
| Array1D< Array2D< double > > | p2_xa |
| Array1D< double > | p3_xxa |
The wavefunction is assumed to be of the form
where
is a wavefunction calculated using a standard QM method and
is a Jastrow type correlation function.
are QMCCorrelationFunction describing the interactions of particles
and
. The sum can be broken up into electron-electron and electron-nuclear components.
Definition at line 45 of file QMCJastrowElectronNuclear.h.
| QMCJastrowElectronNuclear::QMCJastrowElectronNuclear | ( | ) |
Definition at line 16 of file QMCJastrowElectronNuclear.cpp.
| QMCJastrowElectronNuclear::~QMCJastrowElectronNuclear | ( | ) |
Definition at line 18 of file QMCJastrowElectronNuclear.cpp.
References Array1D< T >::deallocate(), Array1D< T >::dim1(), p2_xa, p3_xxa, and p_a.
| void QMCJastrowElectronNuclear::initialize | ( | QMCInput * | input | ) |
Initializes the class with the data controlling the calculation.
| input | input data for the calculation |
Definition at line 28 of file QMCJastrowElectronNuclear.cpp.
References Array1D< T >::allocate(), Array1D< T >::dim1(), QMCWavefunction::getNumberElectrons(), QMCJastrowParameters::getNumberNEParameters(), globalInput, QMCInput::JP, p2_xa, p3_xxa, p_a, and QMCInput::WF.
Referenced by QMCJastrow::initialize().
| void QMCJastrowElectronNuclear::evaluate | ( | QMCJastrowParameters & | JP, | |
| QMCWalkerData * | wData, | |||
| Array2D< double > & | X | |||
| ) |
Evaluates the electron-nuclear Jastrow function and its derivatives at X using a given set of QMCJastrowParameters.
| JP | Jastrow parameters to use during the evaluation | |
| X | dimensional configuration of electrons represented by a matrix |
Definition at line 54 of file QMCJastrowElectronNuclear.cpp.
References QMCMolecule::Atom_Labels, QMCFlags::calculate_Derivatives, Array2D< T >::dim1(), Array1D< T >::dim1(), QMCCorrelationFunction::evaluate(), QMCInput::flags, QMCCorrelationFunction::get_p2_xa(), QMCCorrelationFunction::get_p3_xxa(), QMCCorrelationFunction::get_p_a(), QMCJastrowParameters::getElectronDownNuclearParameters(), QMCJastrowParameters::getElectronUpNuclearParameters(), QMCCorrelationFunction::getFirstDerivativeValue(), QMCCorrelationFunction::getFunctionValue(), QMCJastrowParameters::getNucleiTypes(), QMCMolecule::getNumberAtoms(), QMCWavefunction::getNumberElectrons(), QMCJastrowParameters::getNumberNEupParameters(), QMCCorrelationFunction::getSecondDerivativeValue(), globalInput, QMCInput::JP, QMCFlags::link_Jastrow_parameters, QMCInput::Molecule, QMCFlags::optimize_EN_Jastrows, p2_xa, p3_xxa, p_a, QMCWalkerData::riA, QMCWalkerData::riA_uvec, QMCWalkerData::U, QMCWalkerData::U_x, QMCWalkerData::U_xx, QMCWalkerData::UiA, QMCWalkerData::UiA_x, QMCWalkerData::UiA_xx, QMCInput::WF, and QMCWalkerData::whichE.
Referenced by QMCJastrow::evaluate().
| double QMCJastrowElectronNuclear::jastrowOnGrid | ( | QMCJastrowParameters & | JP, | |
| int | Electron, | |||
| Array2D< double > & | R, | |||
| Array2D< double > & | grid, | |||
| Array1D< double > & | integrand | |||
| ) |
Definition at line 189 of file QMCJastrowElectronNuclear.cpp.
References QMCMolecule::Atom_Labels, QMCMolecule::Atom_Positions, Array2D< T >::dim1(), Array1D< T >::dim1(), QMCJastrowParameters::getElectronDownNuclearParameters(), QMCJastrowParameters::getElectronUpNuclearParameters(), QMCCorrelationFunction::getFunctionValue(), QMCJastrowParameters::getNucleiTypes(), QMCMolecule::getNumberAtoms(), QMCWavefunction::getNumberElectrons(), globalInput, QMCInput::Molecule, MathFunctions::rij(), and QMCInput::WF.
Referenced by QMCPotential_Energy::evaluatePsuedoPotential().
| double QMCJastrowElectronNuclear::get_p_a_ln | ( | int | ai | ) |
Partial derivative of the natural log of this function with respect to parameter ai.
Definition at line 49 of file QMCJastrowElectronNuclear.cpp.
References p_a.
Referenced by QMCJastrow::evaluate().
| Array2D< double > * QMCJastrowElectronNuclear::get_p2_xa_ln | ( | int | ai | ) |
Second partial derivative of the natural log of this function with respect to parameters x and ai.
Definition at line 44 of file QMCJastrowElectronNuclear.cpp.
References p2_xa.
Referenced by QMCJastrow::evaluate().
| double QMCJastrowElectronNuclear::get_p3_xxa_ln | ( | int | ai | ) |
Third partial derivative of the natural log of this function with respect to parameters x, x, and ai.
Definition at line 39 of file QMCJastrowElectronNuclear.cpp.
References p3_xxa.
Referenced by QMCJastrow::evaluate().
Array1D<double> QMCJastrowElectronNuclear::p_a [protected] |
Definition at line 96 of file QMCJastrowElectronNuclear.h.
Referenced by evaluate(), get_p_a_ln(), initialize(), and ~QMCJastrowElectronNuclear().
Array1D< Array2D<double> > QMCJastrowElectronNuclear::p2_xa [protected] |
Definition at line 97 of file QMCJastrowElectronNuclear.h.
Referenced by evaluate(), get_p2_xa_ln(), initialize(), and ~QMCJastrowElectronNuclear().
Array1D<double> QMCJastrowElectronNuclear::p3_xxa [protected] |
Definition at line 98 of file QMCJastrowElectronNuclear.h.
Referenced by evaluate(), get_p3_xxa_ln(), initialize(), and ~QMCJastrowElectronNuclear().
1.5.6