QMCJastrowElectronElectron Class Reference

This class calculates the value of the electron-electron part of the Jastrow function and its first two derivatives. More...

#include <QMCJastrowElectronElectron.h>

List of all members.

Public Member Functions

 QMCJastrowElectronElectron ()
 ~QMCJastrowElectronElectron ()
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-electron Jastrow function and its derivatives at X using a given set of QMCJastrowParameters.
double get_p_a_ln (int ai)
 Partial derivative of the natural log of the function with respect to parameter ai.
Array2D< double > * get_p2_xa_ln (int ai)
 Second Partial derivative of the natural log of the function with respect to parameters x and ai.
double get_p3_xxa_ln (int ai)
 Third partial derivative of the natural log of the function with respect to parameters x, x, and ai.
double jastrowOnGrid (QMCJastrowParameters &JP, int E, Array2D< double > &R, Array2D< double > &grid, Array1D< double > &integrand)
 When calculating the overlap integral for psuedopotentials, we need to evaluate the ratio of the Jastrow at each grid point to the Jastrow at its original position.

Protected Attributes

Array1D< double > p_a
Array1D< Array2D< double > > p2_xa
Array1D< double > p3_xxa

Private Member Functions

void updateOne (QMCJastrowParameters &JP, Array2D< double > &X)
 The QMCJastrowElectronElectron::evaluate redirects here if we are only evaluating 1 electron.
void updateAll (QMCJastrowParameters &JP, Array2D< double > &X)
 The QMCJastrowElectronElectron::evaluate redirects here if we are evaluating all electrons.
void collectForPair (int el1, int el2, QMCCorrelationFunction *U_Function, Array2D< double > &X, int index, int numP)

Private Attributes

QMCWalkerDatawd


Detailed Description

This class calculates the value of the electron-electron part of the Jastrow function and its first two derivatives.

The wavefunction is assumed to be of the form

\[ \Psi_{QMC} = \Psi_{Trial}J \]

where $\Psi_{Trial}$ is a wavefunction calculated using a standard QM method and

\[ J=exp(\sum{u_{i,j}(r_{i,j})}) \]

is a Jastrow type correlation function. $u_{ij}(r_{ij})$ are QMCCorrelationFunction describing the interactions of particles $i$ and $j$. The sum can be broken up into electron-electron and electron-nuclear components.

Definition at line 42 of file QMCJastrowElectronElectron.h.


Constructor & Destructor Documentation

QMCJastrowElectronElectron::QMCJastrowElectronElectron (  ) 

Definition at line 16 of file QMCJastrowElectronElectron.cpp.

QMCJastrowElectronElectron::~QMCJastrowElectronElectron (  ) 


Member Function Documentation

void QMCJastrowElectronElectron::initialize ( QMCInput input  ) 

Initializes the class with the data controlling the calculation.

Parameters:
input input data for the calculation

Definition at line 28 of file QMCJastrowElectronElectron.cpp.

References Array1D< T >::allocate(), Array1D< T >::dim1(), QMCJastrowParameters::getNumberEEParameters(), QMCWavefunction::getNumberElectrons(), globalInput, QMCInput::JP, p2_xa, p3_xxa, p_a, wd, and QMCInput::WF.

Referenced by QMCJastrow::initialize().

void QMCJastrowElectronElectron::evaluate ( QMCJastrowParameters JP,
QMCWalkerData wData,
Array2D< double > &  X 
)

Evaluates the electron-electron Jastrow function and its derivatives at X using a given set of QMCJastrowParameters.

Parameters:
JP Jastrow parameters to use during the evaluation
X $3N$ dimensional configuration of electrons represented by a $N \times 3$ matrix

Definition at line 56 of file QMCJastrowElectronElectron.cpp.

References updateAll(), updateOne(), wd, and QMCWalkerData::whichE.

Referenced by QMCJastrow::evaluate().

double QMCJastrowElectronElectron::get_p_a_ln ( int  ai  ) 

Partial derivative of the natural log of the function with respect to parameter ai.

Definition at line 51 of file QMCJastrowElectronElectron.cpp.

References p_a.

Referenced by QMCJastrow::evaluate().

Array2D< double > * QMCJastrowElectronElectron::get_p2_xa_ln ( int  ai  ) 

Second Partial derivative of the natural log of the function with respect to parameters x and ai.

Definition at line 46 of file QMCJastrowElectronElectron.cpp.

References p2_xa.

Referenced by QMCJastrow::evaluate().

double QMCJastrowElectronElectron::get_p3_xxa_ln ( int  ai  ) 

Third partial derivative of the natural log of the function with respect to parameters x, x, and ai.

Definition at line 41 of file QMCJastrowElectronElectron.cpp.

References p3_xxa.

Referenced by QMCJastrow::evaluate().

double QMCJastrowElectronElectron::jastrowOnGrid ( QMCJastrowParameters JP,
int  E,
Array2D< double > &  R,
Array2D< double > &  grid,
Array1D< double > &  integrand 
)

When calculating the overlap integral for psuedopotentials, we need to evaluate the ratio of the Jastrow at each grid point to the Jastrow at its original position.

Parameters:
E is the index of the electron being moved to the different grid points
R the array of all electron positions
grid the grid points for electron E
integrand the value of the Jastrow at each of the grid points
Returns:
the Jastrow at the original position (the denominator)

Definition at line 292 of file QMCJastrowElectronElectron.cpp.

References Array2D< T >::dim1(), Array1D< T >::dim1(), QMCCorrelationFunctionParameters::getCorrelationFunction(), QMCJastrowParameters::getElectronDownElectronDownParameters(), QMCJastrowParameters::getElectronUpElectronDownParameters(), QMCJastrowParameters::getElectronUpElectronUpParameters(), QMCCorrelationFunction::getFunctionValue(), QMCWavefunction::getNumberElectrons(), globalInput, MathFunctions::rij(), and QMCInput::WF.

Referenced by QMCPotential_Energy::evaluatePsuedoPotential().

void QMCJastrowElectronElectron::updateOne ( QMCJastrowParameters JP,
Array2D< double > &  X 
) [private]

void QMCJastrowElectronElectron::updateAll ( QMCJastrowParameters JP,
Array2D< double > &  X 
) [private]

void QMCJastrowElectronElectron::collectForPair ( int  el1,
int  el2,
QMCCorrelationFunction U_Function,
Array2D< double > &  X,
int  index,
int  numP 
) [inline, private]


Member Data Documentation

Definition at line 109 of file QMCJastrowElectronElectron.h.

Referenced by collectForPair(), evaluate(), initialize(), and updateOne().


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

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