QMCPACK
GeneralPot.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2016 Jeongnim Kim and QMCPACK developers.
6 //
7 // File developed by: Paul R. C. Kent, kentpr@ornl.gov, Oak Ridge National Laboratory
8 //
9 // File created by: Paul R. C. Kent, kentpr@ornl.gov, Oak Ridge National Laboratory
10 //////////////////////////////////////////////////////////////////////////////////////
11 
12 
13 // http://pathintegrals.info //
14 /////////////////////////////////////////////////////////////
15 
16 #ifndef GENERAL_POT_H
17 #define GENERAL_POT_H
18 
19 #include "PotentialBase.h"
20 #include "CubicSplineCommon.h"
21 
22 class GeneralPot : public Potential
23 {
24 protected:
25  std::shared_ptr<Grid> PotGrid;
27  double Z;
28 
29 public:
30  double V(double r) override;
31  double dVdr(double r) override;
32  double d2Vdr2(double r) override;
33 
34  void Write(IOSectionClass& out) override;
35  void Read(IOSectionClass& in) override;
36  GeneralPot();
37  ~GeneralPot() = default;
38 };
39 
40 #endif
double d2Vdr2(double r) override
CubicSplineCommon PotSpline
Definition: GeneralPot.h:26
~GeneralPot()=default
double Z
Definition: GeneralPot.h:27
The CubicSplineCommon class is a third-order spline representation of a function. ...
std::shared_ptr< Grid > PotGrid
Definition: GeneralPot.h:25
double V(double r) override
Wrapper class for IOTreeClass that gives a nearly identical interface as the OutputSectionClass.
Definition: IO.h:110
double dVdr(double r) override
void Write(IOSectionClass &out) override
void Read(IOSectionClass &in) override