QMCThreeBodyCorrelationFunction Class Reference

Interface for a parameterized function describing the interaction of a a nucleus and two electrons. More...

#include <QMCThreeBodyCorrelationFunction.h>

Inheritance diagram for QMCThreeBodyCorrelationFunction:

CambridgeThreeBodyCorrelationFunction ZeroThreeBodyCorrelationFunction

List of all members.

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 $r$.
virtual double getFunctionValue ()=0
 Gets the value of the correlation function for the last evaluated $r$.
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.


Detailed Description

Interface for a parameterized function describing the interaction of a a nucleus and two electrons.

The trial wavefunction for QMC is $\Psi_{QMC}=\Psi_{Trial}J$ where $J=exp(\sum{u_{i,j}(r_{i,j})})$. $u_{ij}(r_{ij})$ are the QMCCorrelationFunctions describing the interactions of particles $i$ and $j$.

Definition at line 27 of file QMCThreeBodyCorrelationFunction.h.


Constructor & Destructor Documentation

virtual QMCThreeBodyCorrelationFunction::~QMCThreeBodyCorrelationFunction (  )  [inline, virtual]

Virtual destructor.

Definition at line 33 of file QMCThreeBodyCorrelationFunction.h.


Member Function Documentation

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]

virtual void QMCThreeBodyCorrelationFunction::evaluate ( Array1D< double > &  xyz12,
double  r12 
) [pure virtual]

Evaluates the correlation function and its first two derivatives at $r$.

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 $r$.

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().


The documentation for this class was generated from the following file:

Generated on Sat Jul 5 16:14:06 2008 for QMcBeaver by  doxygen 1.5.6