#include <QMCJastrow.h>
Public Member Functions | |
| QMCJastrow () | |
| ~QMCJastrow () | |
| void | initialize (QMCInput *input) |
| Initializes the class with the data controlling the calculation. | |
| void | evaluate (Array1D< QMCWalkerData * > &walkerData, Array1D< Array2D< double > * > &X, int num, int start) |
| Evaluates the Jastrow function and its derivatives at X using the QMCJastrowParameters stored in the QMCInput class. | |
| void | evaluate (Array2D< double > &R) |
| void | evaluate (QMCJastrowParameters &JP, Array1D< QMCWalkerData * > &walkerData, Array1D< Array2D< double > * > &X, int num, int start) |
| Evaluates the Jastrow function and its derivatives at X using a given set of QMCJastrowParameters. | |
| QMCDouble | getJastrow (int which) |
| Gets the value of the Jastrow function for the last evaluated electronic configuration and parameter set. | |
| double | get_p_a (int which, int ai) |
| The partial derivative of this function with repspect to parameter ai. | |
| double | getLnJastrow (int which) |
| Gets the value of the natural log of the Jastrow function for the last evaluated electronic configuration and parameter set. | |
| double | get_p_a_ln (int which, int ai) |
| The first partial derivative of the ln of this function with repspect to parameter ai. | |
| Array2D< double > * | getGradientLnJastrow (int which) |
| Gets the gradient of the natural log of the Jastrow function with respect to the cartesian electronic coordinates for the last evaluated electronic configuration and parameter set. | |
| Array2D< double > * | get_p2_xa_ln (int which, int ai) |
| The second partial derivative of the ln of this function with repspect to parameters x and ai. | |
| double | getLaplacianLnJastrow (int which) |
| Gets the laplacian of the natural log of the Jastrow function with respect to the cartesian electronic coordinates for the last evaluated electronic configuration and parameter set. | |
| double | get_p3_xxa_ln (int which, int ai) |
| The third partial derivative of the ln of this function with repspect to parameters x, x, and ai. | |
| void | operator= (const QMCJastrow &rhs) |
Protected Attributes | |
| Array1D< double > | sum_U |
| Array1D< Array2D< double > > | grad_sum_U |
| Array1D< double > | laplacian_sum_U |
| Array2D< double > | p_a |
| Array2D< Array2D< double > > | p2_xa |
| Array2D< double > | p3_xxa |
Private Attributes | |
| QMCJastrowElectronNuclear | JastrowElectronNuclear |
| QMCJastrowElectronElectron | JastrowElectronElectron |
| QMCThreeBodyJastrow | ThreeBodyJastrow |
| QMCInput * | Input |
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
.
Definition at line 54 of file QMCJastrow.h.
| QMCJastrow::QMCJastrow | ( | ) |
Definition at line 23 of file QMCJastrow.cpp.
| QMCJastrow::~QMCJastrow | ( | ) |
Definition at line 27 of file QMCJastrow.cpp.
References Array2D< T >::deallocate(), Array1D< T >::deallocate(), Array2D< T >::dim1(), Array1D< T >::dim1(), Array2D< T >::dim2(), grad_sum_U, laplacian_sum_U, p2_xa, p3_xxa, p_a, and sum_U.
| void QMCJastrow::initialize | ( | QMCInput * | input | ) |
Initializes the class with the data controlling the calculation.
| input | input data for the calculation |
Definition at line 45 of file QMCJastrow.cpp.
References Array2D< T >::allocate(), Array1D< T >::allocate(), Array2D< T >::dim1(), Array2D< T >::dim2(), QMCInput::flags, QMCWavefunction::getNumberElectrons(), QMCJastrowParameters::getNumberJWParameters(), QMCFlags::getNumGPUWalkers(), globalInput, grad_sum_U, QMCThreeBodyJastrow::initialize(), QMCJastrowElectronElectron::initialize(), QMCJastrowElectronNuclear::initialize(), Input, JastrowElectronElectron, JastrowElectronNuclear, QMCInput::JP, laplacian_sum_U, p2_xa, p3_xxa, p_a, sum_U, ThreeBodyJastrow, QMCFlags::use_three_body_jastrow, QMCFlags::walkers_per_pass, and QMCInput::WF.
Referenced by QMCSCFJastrow::initialize(), and QMCReadAndEvaluateConfigs::initialize().
| void QMCJastrow::evaluate | ( | Array1D< QMCWalkerData * > & | walkerData, | |
| Array1D< Array2D< double > * > & | X, | |||
| int | num, | |||
| int | start | |||
| ) |
Evaluates the Jastrow function and its derivatives at X using the QMCJastrowParameters stored in the QMCInput class.
This function only evaluates on the CPU. It is set up to process the walkers that the GPU did not process.
| X | dimensional configuration of electrons represented by a matrix indexed by walker | |
| num | how many walkers to process | |
| start | where the GPU left off (is 0 when the GPU isn't used) |
Definition at line 114 of file QMCJastrow.cpp.
References Input, and QMCInput::JP.
Referenced by QMCReadAndEvaluateConfigs::AddNewConfigToProperites(), QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::evaluate(), and evaluate().
| void QMCJastrow::evaluate | ( | Array2D< double > & | R | ) |
Definition at line 120 of file QMCJastrow.cpp.
References evaluate(), QMCWalkerData::initialize(), Input, QMCInput::JP, and QMCWalkerData::updateDistances().
| void QMCJastrow::evaluate | ( | QMCJastrowParameters & | JP, | |
| Array1D< QMCWalkerData * > & | walkerData, | |||
| Array1D< Array2D< double > * > & | X, | |||
| int | num, | |||
| int | start | |||
| ) |
Evaluates the 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 133 of file QMCJastrow.cpp.
References QMCFlags::calculate_Derivatives, QMCThreeBodyJastrow::evaluate(), QMCJastrowElectronElectron::evaluate(), QMCJastrowElectronNuclear::evaluate(), QMCInput::flags, QMCThreeBodyJastrow::get_p2_xa_ln(), QMCJastrowElectronNuclear::get_p2_xa_ln(), QMCJastrowElectronElectron::get_p2_xa_ln(), QMCThreeBodyJastrow::get_p3_xxa_ln(), QMCJastrowElectronNuclear::get_p3_xxa_ln(), QMCJastrowElectronElectron::get_p3_xxa_ln(), QMCThreeBodyJastrow::get_p_a_ln(), QMCJastrowElectronNuclear::get_p_a_ln(), QMCJastrowElectronElectron::get_p_a_ln(), QMCJastrowParameters::getNumberEEParameters(), QMCJastrowParameters::getNumberJWParameters(), QMCJastrowParameters::getNumberNEParameters(), globalInput, grad_sum_U, Input, JastrowElectronElectron, JastrowElectronNuclear, QMCInput::JP, laplacian_sum_U, p2_xa, p3_xxa, p_a, Stopwatch::reset(), showTimings, Stopwatch::start(), Stopwatch::stop(), sum_U, ThreeBodyJastrow, Stopwatch::timeUS(), and QMCFlags::use_three_body_jastrow.
| QMCDouble QMCJastrow::getJastrow | ( | int | which | ) |
Gets the value of the Jastrow function for the last evaluated electronic configuration and parameter set.

). Definition at line 74 of file QMCJastrow.cpp.
References sum_U.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_Psi_quantities(), and get_p_a().
| double QMCJastrow::get_p_a | ( | int | which, | |
| int | ai | |||
| ) |
The partial derivative of this function with repspect to parameter ai.
Definition at line 79 of file QMCJastrow.cpp.
References getJastrow(), and p_a.
| double QMCJastrow::getLnJastrow | ( | int | which | ) |
Gets the value of the natural log of the Jastrow function for the last evaluated electronic configuration and parameter set.

) Definition at line 84 of file QMCJastrow.cpp.
References sum_U.
Referenced by QMCReadAndEvaluateConfigs::calc_log_weight_current().
| double QMCJastrow::get_p_a_ln | ( | int | which, | |
| int | ai | |||
| ) |
The first partial derivative of the ln of this function with repspect to parameter ai.
Definition at line 89 of file QMCJastrow.cpp.
References p_a.
Referenced by QMCSCFJastrow::calculate_JastrowDerivatives().
| Array2D< double > * QMCJastrow::getGradientLnJastrow | ( | int | which | ) |
Gets the gradient of the natural log of the Jastrow function with respect to the cartesian electronic coordinates for the last evaluated electronic configuration and parameter set.

) Definition at line 94 of file QMCJastrow.cpp.
References grad_sum_U.
Referenced by QMCReadAndEvaluateConfigs::calc_E_Local_current().
| Array2D< double > * QMCJastrow::get_p2_xa_ln | ( | int | which, | |
| int | ai | |||
| ) |
The second partial derivative of the ln of this function with repspect to parameters x and ai.
Definition at line 99 of file QMCJastrow.cpp.
References p2_xa.
Referenced by QMCSCFJastrow::calculate_JastrowDerivatives().
| double QMCJastrow::getLaplacianLnJastrow | ( | int | which | ) |
Gets the laplacian of the natural log of the Jastrow function with respect to the cartesian electronic coordinates for the last evaluated electronic configuration and parameter set.

) Definition at line 104 of file QMCJastrow.cpp.
References laplacian_sum_U.
Referenced by QMCReadAndEvaluateConfigs::calc_E_Local_current().
| double QMCJastrow::get_p3_xxa_ln | ( | int | which, | |
| int | ai | |||
| ) |
The third partial derivative of the ln of this function with repspect to parameters x, x, and ai.
Definition at line 109 of file QMCJastrow.cpp.
References p3_xxa.
Referenced by QMCSCFJastrow::calculate_JastrowDerivatives().
| void QMCJastrow::operator= | ( | const QMCJastrow & | rhs | ) |
Definition at line 272 of file QMCJastrow.cpp.
References QMCInput::flags, grad_sum_U, Input, JastrowElectronElectron, JastrowElectronNuclear, laplacian_sum_U, sum_U, ThreeBodyJastrow, and QMCFlags::use_three_body_jastrow.
Array1D<double> QMCJastrow::sum_U [protected] |
Definition at line 190 of file QMCJastrow.h.
Referenced by evaluate(), getJastrow(), getLnJastrow(), initialize(), operator=(), and ~QMCJastrow().
Array1D< Array2D<double> > QMCJastrow::grad_sum_U [protected] |
Definition at line 191 of file QMCJastrow.h.
Referenced by evaluate(), getGradientLnJastrow(), initialize(), operator=(), and ~QMCJastrow().
Array1D<double> QMCJastrow::laplacian_sum_U [protected] |
Definition at line 192 of file QMCJastrow.h.
Referenced by evaluate(), getLaplacianLnJastrow(), initialize(), operator=(), and ~QMCJastrow().
Array2D<double> QMCJastrow::p_a [protected] |
Definition at line 194 of file QMCJastrow.h.
Referenced by evaluate(), get_p_a(), get_p_a_ln(), initialize(), and ~QMCJastrow().
Array2D< Array2D<double> > QMCJastrow::p2_xa [protected] |
Definition at line 195 of file QMCJastrow.h.
Referenced by evaluate(), get_p2_xa_ln(), initialize(), and ~QMCJastrow().
Array2D<double> QMCJastrow::p3_xxa [protected] |
Definition at line 196 of file QMCJastrow.h.
Referenced by evaluate(), get_p3_xxa_ln(), initialize(), and ~QMCJastrow().
Definition at line 199 of file QMCJastrow.h.
Referenced by evaluate(), initialize(), and operator=().
Definition at line 205 of file QMCJastrow.h.
Referenced by evaluate(), initialize(), and operator=().
Definition at line 206 of file QMCJastrow.h.
Referenced by evaluate(), initialize(), and operator=().
QMCInput* QMCJastrow::Input [private] |
Definition at line 207 of file QMCJastrow.h.
Referenced by evaluate(), initialize(), and operator=().
1.5.6