35 |
|
* |
36 |
|
* [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). |
37 |
|
* [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). |
38 |
< |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). |
38 |
> |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
39 |
|
* [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 |
|
* [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 |
|
*/ |
56 |
|
virtual ~CubicSpline() {} |
57 |
|
void addPoint(const RealType xp, const RealType yp); |
58 |
|
void addPoints(const vector<RealType>& xps, const vector<RealType>& yps); |
59 |
< |
RealType getValueAt(RealType t); |
60 |
< |
pair<RealType, RealType> getValueAndDerivativeAt(RealType t); |
59 |
> |
RealType getValueAt(const RealType& t); |
60 |
> |
pair<RealType, RealType> getValueAndDerivativeAt(const RealType& t); |
61 |
> |
void getValueAt(const RealType& t, RealType& v); |
62 |
> |
void getValueAndDerivativeAt(const RealType& t, RealType& v, RealType& d); |
63 |
|
|
64 |
|
private: |
65 |
|
void generate(); |
66 |
|
bool isUniform; |
67 |
|
bool generated; |
68 |
< |
RealType dx; |
69 |
< |
int n; |
68 |
> |
RealType dx, dt, yval, dydx; |
69 |
> |
int n, j; |
70 |
|
vector<pair<RealType, RealType> > data_; |
71 |
|
vector<RealType> b; |
72 |
|
vector<RealType> c; |