Cambridge2CorrelationFunction Class Reference

This correlation function is from the paper: Jastrow correlation factor for atoms, molecules, and solids Drummond, Towler, Needs Phys Rev B 70, 235119 (2004). More...

#include <Cambridge2CorrelationFunction.h>

Inheritance diagram for Cambridge2CorrelationFunction:

QMCCorrelationFunction

List of all members.

Public Member Functions

void initializeParameters (Array1D< int > &BeginningIndexOfParameterType, Array1D< double > &Parameters, Array1D< int > &BeginningIndexOfConstantType, Array1D< double > &Constants)
 Initializes the correlation function with a specified set of parameters.
void evaluate (double r)
 Evaluates the correlation function and it's first two derivatives at $r$.
bool isSingular ()
 Returns $true$ if the correlation function has a singularity in the domain $r\geq0$, and false otherwise.
Array1D< ComplexgetPoles ()
 Returns all of the poles of the correlation function.
double getFunctionValue ()
 Gets the value of the correlation function for the last evaluated $r$.
double getFunctionValue (double r)
 Evaluate the function as fast as possible by skipping the evaluation of the derivatives.
double get_p_a (int ai)
 Partial derivative of function with respect to parameter ai.
double getFirstDerivativeValue ()
 Gets the value of the first derivative of the correlation function for the last evaluated $r$.
double get_p2_xa (int ai)
 Second Partial derivative of function with respect to parameters x and ai.
double getSecondDerivativeValue ()
 Gets the value of the second derivative of the correlation function for the last evaluated $r$.
double get_p3_xxa (int ai)
 Third Partial derivative of function with respect to parameters x, x, and ai.
Array1D< double > getNumeratorCoeffs ()
 Returns the coefficients for the numerator of the Jastrow's function.
Array1D< double > getDenominatorCoeffs ()
 Returns the coefficients for the denominator of the Jastrow's function.
void print (ostream &strm)
 Override this function if there's some Jastrow specific message you want to print.

Protected Attributes

double FunctionValue
double dFunctionValue
double d2FunctionValue

Private Attributes

bool active
double g
int C
double L
double f
double fL
bool optimizeL
 The parameter L is very highly coupled to the other parameters.
double alpha_0
double alpha_1
Polynomial alpha
double r
double d
double d2
double dpc
double dpc_r
double dpc_rr
double dpc_L
double dpc_Lr
double dpc_Lrr
double d_a1_dL
double P
double dP_r
double dP_rr
double dP_L
double dP_Lr
double dP_Lrr

Friends

ostream & operator<< (ostream &strm, Cambridge2CorrelationFunction &rhs)


Detailed Description

This correlation function is from the paper: Jastrow correlation factor for atoms, molecules, and solids Drummond, Towler, Needs Phys Rev B 70, 235119 (2004).

Definition at line 14 of file Cambridge2CorrelationFunction.h.


Member Function Documentation

void Cambridge2CorrelationFunction::initializeParameters ( Array1D< int > &  BeginningIndexOfParameterType,
Array1D< double > &  Parameters,
Array1D< int > &  BeginningIndexOfConstantType,
Array1D< double > &  Constants 
) [virtual]

Initializes the correlation function with a specified set of parameters.

This must be called every time the parameters are changed.

Implements QMCCorrelationFunction.

Definition at line 5 of file Cambridge2CorrelationFunction.cpp.

References QMCFlags::a_diag, active, alpha, alpha_0, alpha_1, C, d_a1_dL, Array1D< T >::dim1(), f, fL, QMCInput::flags, g, globalInput, Polynomial::initialize(), L, QMCFlags::optimize_L, and optimizeL.

void Cambridge2CorrelationFunction::evaluate ( double  r  )  [virtual]

bool Cambridge2CorrelationFunction::isSingular (  )  [virtual]

Returns $true$ if the correlation function has a singularity in the domain $r\geq0$, and false otherwise.

Implements QMCCorrelationFunction.

Definition at line 95 of file Cambridge2CorrelationFunction.cpp.

References L.

Array1D< Complex > Cambridge2CorrelationFunction::getPoles (  )  [virtual]

Returns all of the poles of the correlation function.

Implements QMCCorrelationFunction.

Definition at line 100 of file Cambridge2CorrelationFunction.cpp.

double Cambridge2CorrelationFunction::getFunctionValue (  )  [virtual]

Gets the value of the correlation function for the last evaluated $r$.

Implements QMCCorrelationFunction.

Definition at line 154 of file Cambridge2CorrelationFunction.cpp.

References FunctionValue.

double Cambridge2CorrelationFunction::getFunctionValue ( double  r  )  [virtual]

Evaluate the function as fast as possible by skipping the evaluation of the derivatives.

Implements QMCCorrelationFunction.

Definition at line 159 of file Cambridge2CorrelationFunction.cpp.

References active, alpha, C, d, dpc, Polynomial::evaluate(), fL, Polynomial::getFunctionValue(), and P.

double Cambridge2CorrelationFunction::get_p_a ( int  ai  )  [virtual]

Partial derivative of function with respect to parameter ai.

Implements QMCCorrelationFunction.

Definition at line 177 of file Cambridge2CorrelationFunction.cpp.

References active, alpha, C, d, d_a1_dL, dP_L, dpc, dpc_L, fL, Polynomial::get_p_a(), optimizeL, P, and r.

double Cambridge2CorrelationFunction::getFirstDerivativeValue (  )  [virtual]

Gets the value of the first derivative of the correlation function for the last evaluated $r$.

Implements QMCCorrelationFunction.

Definition at line 209 of file Cambridge2CorrelationFunction.cpp.

References dFunctionValue.

double Cambridge2CorrelationFunction::get_p2_xa ( int  ai  )  [virtual]

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

Implements QMCCorrelationFunction.

Definition at line 214 of file Cambridge2CorrelationFunction.cpp.

References active, alpha, C, d, d_a1_dL, dP_L, dP_Lr, dP_r, dpc, dpc_L, dpc_Lr, dpc_r, fL, Polynomial::get_p2_xa(), Polynomial::get_p_a(), optimizeL, P, and r.

double Cambridge2CorrelationFunction::getSecondDerivativeValue (  )  [virtual]

Gets the value of the second derivative of the correlation function for the last evaluated $r$.

Implements QMCCorrelationFunction.

Definition at line 250 of file Cambridge2CorrelationFunction.cpp.

References d2FunctionValue.

double Cambridge2CorrelationFunction::get_p3_xxa ( int  ai  )  [virtual]

Third Partial derivative of function with respect to parameters x, x, and ai.

Implements QMCCorrelationFunction.

Definition at line 255 of file Cambridge2CorrelationFunction.cpp.

References active, alpha, C, d, d_a1_dL, dP_L, dP_Lr, dP_Lrr, dP_r, dP_rr, dpc, dpc_L, dpc_Lr, dpc_Lrr, dpc_r, dpc_rr, fL, Polynomial::get_p2_xa(), Polynomial::get_p3_xxa(), Polynomial::get_p_a(), optimizeL, P, and r.

Array1D< double > Cambridge2CorrelationFunction::getNumeratorCoeffs (  )  [virtual]

Returns the coefficients for the numerator of the Jastrow's function.

Implements QMCCorrelationFunction.

Definition at line 294 of file Cambridge2CorrelationFunction.cpp.

References alpha, and Polynomial::getCoefficients().

Array1D< double > Cambridge2CorrelationFunction::getDenominatorCoeffs (  )  [virtual]

Returns the coefficients for the denominator of the Jastrow's function.

Implements QMCCorrelationFunction.

Definition at line 299 of file Cambridge2CorrelationFunction.cpp.

References alpha, and Polynomial::getCoefficients().

void Cambridge2CorrelationFunction::print ( ostream &  strm  )  [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 from QMCCorrelationFunction.

Definition at line 304 of file Cambridge2CorrelationFunction.cpp.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  strm,
Cambridge2CorrelationFunction rhs 
) [friend]

Definition at line 315 of file Cambridge2CorrelationFunction.cpp.


Member Data Documentation

Definition at line 17 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), and getFunctionValue().

Definition at line 18 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), and getFirstDerivativeValue().

Definition at line 19 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), and getSecondDerivativeValue().

Definition at line 37 of file Cambridge2CorrelationFunction.h.

Referenced by initializeParameters(), and operator<<().

Definition at line 45 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), initializeParameters(), and operator<<().

The parameter L is very highly coupled to the other parameters.

If we allow it to be optimized, it will probably mess up the optimization procedure.

Definition at line 53 of file Cambridge2CorrelationFunction.h.

Referenced by get_p2_xa(), get_p3_xxa(), get_p_a(), initializeParameters(), and operator<<().

Definition at line 56 of file Cambridge2CorrelationFunction.h.

Referenced by initializeParameters().

Definition at line 57 of file Cambridge2CorrelationFunction.h.

Referenced by initializeParameters().

Definition at line 65 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), get_p2_xa(), get_p3_xxa(), and get_p_a().

Definition at line 68 of file Cambridge2CorrelationFunction.h.

Definition at line 69 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), get_p2_xa(), and get_p3_xxa().

Definition at line 69 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), and get_p3_xxa().

Definition at line 70 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), get_p2_xa(), get_p3_xxa(), and get_p_a().

Definition at line 70 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), get_p2_xa(), and get_p3_xxa().

Definition at line 70 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), and get_p3_xxa().

Definition at line 73 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), get_p2_xa(), and get_p3_xxa().

Definition at line 73 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), and get_p3_xxa().

Definition at line 74 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), get_p2_xa(), get_p3_xxa(), and get_p_a().

Definition at line 74 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), get_p2_xa(), and get_p3_xxa().

Definition at line 74 of file Cambridge2CorrelationFunction.h.

Referenced by evaluate(), and get_p3_xxa().


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

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