#include <QMCThreeBodyCorrelationFunction.h>
Public Member Functions | |
virtual | ~QMCThreeBodyCorrelationFunction () |
Virtual destructor. | |
virtual void | initializeParameters (int electron_nucleus, int electron_electron, Array1D< double > &Parameters, int power, double max_dist)=0 |
Initializes the correlation function with a specified set of parameters. | |
virtual bool | setElectron (bool first, Array1D< double > &xyz, double dist)=0 |
virtual void | evaluate (Array1D< double > &xyz12, double r12)=0 |
Evaluates the correlation function and its first two derivatives at . | |
virtual double | getFunctionValue ()=0 |
Gets the value of the correlation function for the last evaluated . | |
virtual double | getFunctionValue (double r12, double r1, double r2)=0 |
Evaluate the function as fast as possible by skipping the evaluation of the derivatives. | |
virtual double | get_p_a (int ai)=0 |
Partial derivative of function with respect to parameter ai. | |
virtual Array1D< double > * | getElectron1Gradient ()=0 |
Gets the gradient of the correlation function for electron 1 at the last evaluated configuration. | |
virtual Array1D< double > * | getElectron2Gradient ()=0 |
Gets the gradient of the correlation function for electron 2 at the last evaluated configuration. | |
virtual double | get_p2_xa (bool e1, int xyz, int ai)=0 |
Second Partial derivative of function with respect to parameters x and ai. | |
virtual double | getLaplacianValue ()=0 |
Gets the value of the Laplacian of the correlation function with respect to electrons one and two at the last evaluated configuration. | |
virtual double | get_p3_xxa (int ai)=0 |
Third Partial derivative of function with respect to parameters x, x, and ai. | |
virtual double | getCutoffDist ()=0 |
Returns the cutoff for the electron-nucleus distance for this function. | |
virtual void | print (ostream &strm) |
Override this function if there's some Jastrow specific message you want to print. |
The trial wavefunction for QMC is where . are the QMCCorrelationFunctions describing the interactions of particles and .
Definition at line 27 of file QMCThreeBodyCorrelationFunction.h.
virtual QMCThreeBodyCorrelationFunction::~QMCThreeBodyCorrelationFunction | ( | ) | [inline, virtual] |
virtual void QMCThreeBodyCorrelationFunction::initializeParameters | ( | int | electron_nucleus, | |
int | electron_electron, | |||
Array1D< double > & | Parameters, | |||
int | power, | |||
double | max_dist | |||
) | [pure virtual] |
Initializes the correlation function with a specified set of parameters.
This must be called every time the parameters are changed.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyCorrelationFunctionParameters::initializeThreeBodyCorrelationFunctionParameters().
virtual bool QMCThreeBodyCorrelationFunction::setElectron | ( | bool | first, | |
Array1D< double > & | xyz, | |||
double | dist | |||
) | [pure virtual] |
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair().
virtual void QMCThreeBodyCorrelationFunction::evaluate | ( | Array1D< double > & | xyz12, | |
double | r12 | |||
) | [pure virtual] |
Evaluates the correlation function and its first two derivatives at .
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair().
virtual double QMCThreeBodyCorrelationFunction::getFunctionValue | ( | ) | [pure virtual] |
Gets the value of the correlation function for the last evaluated .
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair(), and QMCThreeBodyJastrow::jastrowOnGrid().
virtual double QMCThreeBodyCorrelationFunction::getFunctionValue | ( | double | r12, | |
double | r1, | |||
double | r2 | |||
) | [pure virtual] |
Evaluate the function as fast as possible by skipping the evaluation of the derivatives.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
virtual double QMCThreeBodyCorrelationFunction::get_p_a | ( | int | ai | ) | [pure virtual] |
Partial derivative of function with respect to parameter ai.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair().
virtual Array1D<double>* QMCThreeBodyCorrelationFunction::getElectron1Gradient | ( | ) | [pure virtual] |
Gets the gradient of the correlation function for electron 1 at the last evaluated configuration.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair().
virtual Array1D<double>* QMCThreeBodyCorrelationFunction::getElectron2Gradient | ( | ) | [pure virtual] |
Gets the gradient of the correlation function for electron 2 at the last evaluated configuration.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair().
virtual double QMCThreeBodyCorrelationFunction::get_p2_xa | ( | bool | e1, | |
int | xyz, | |||
int | ai | |||
) | [pure virtual] |
Second Partial derivative of function with respect to parameters x and ai.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair().
virtual double QMCThreeBodyCorrelationFunction::getLaplacianValue | ( | ) | [pure virtual] |
Gets the value of the Laplacian of the correlation function with respect to electrons one and two at the last evaluated configuration.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair().
virtual double QMCThreeBodyCorrelationFunction::get_p3_xxa | ( | int | ai | ) | [pure virtual] |
Third Partial derivative of function with respect to parameters x, x, and ai.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
Referenced by QMCThreeBodyJastrow::collectForPair().
virtual double QMCThreeBodyCorrelationFunction::getCutoffDist | ( | ) | [pure virtual] |
Returns the cutoff for the electron-nucleus distance for this function.
Implemented in CambridgeThreeBodyCorrelationFunction, and ZeroThreeBodyCorrelationFunction.
virtual void QMCThreeBodyCorrelationFunction::print | ( | ostream & | strm | ) | [inline, virtual] |
Override this function if there's some Jastrow specific message you want to print.
It will be called right after the Jastrow is initialized.
Reimplemented in CambridgeThreeBodyCorrelationFunction.
Definition at line 107 of file QMCThreeBodyCorrelationFunction.h.
Referenced by QMCThreeBodyJastrow::collectForPair(), and QMCJastrowParameters::read().