00001 #ifndef Umrigar2CorrelationFunction_H 00002 #define Umrigar2CorrelationFunction_H 00003 00004 #include "FixedCuspPadeCorrelationFunction.h" 00005 00014 class Umrigar2CorrelationFunction : public FixedCuspPadeCorrelationFunction 00015 { 00016 private: 00017 double U; 00018 double dU_dr, dU_drr; 00019 double dU_dk, dU_dkr, dU_dkrr; 00020 00021 double k; 00022 double g; 00023 00024 double a; 00025 double b, B, dB; 00026 00027 double r; 00028 00029 double den; 00030 double iden, iden2; 00031 00032 bool optimizeG; 00033 public: 00034 00035 void initializeParameters(Array1D<int> & BeginningIndexOfParameterType, 00036 Array1D<double> &Parameters, 00037 Array1D<int> & BeginningIndexOfConstantType, 00038 Array1D<double> & Constants); 00039 00040 void evaluate( double r ); 00041 double get_p_a(int ai); 00042 double get_p2_xa(int ai); 00043 double get_p3_xxa(int ai); 00044 00045 bool isSingular(); 00046 00047 void print(ostream& strm); 00048 }; 00049 00050 #endif