A simple implementation of a natural cubic spline.  
 More...
#include <dumux/common/cubicspline.hh>
template<class Scalar = double>
class Dumux::CubicSpline< Scalar >
- Note
- We follow the notation at http://mathworld.wolfram.com/CubicSpline.html 
|  | 
|  | CubicSpline ()=default | 
|  | Default constructor. 
 | 
|  | 
|  | CubicSpline (const std::vector< Scalar > &x, const std::vector< Scalar > y) | 
|  | Construct a natural cubic spline from the control points (x[i], y[i]) 
 | 
|  | 
| void | updatePoints (const std::vector< Scalar > &x, const std::vector< Scalar > &y) | 
|  | Create a natural cubic spline from the control points (x[i], y[i]) 
 | 
|  | 
| Scalar | eval (const Scalar x) const | 
|  | Evaluate the y value at a given x value. 
 | 
|  | 
| Scalar | evalDerivative (const Scalar x) const | 
|  | Evaluate the first derivative dy/dx at a given x value. 
 | 
|  | 
◆ CubicSpline() [1/2]
template<class Scalar = double> 
 
 
◆ CubicSpline() [2/2]
template<class Scalar = double> 
  
  | 
        
          | Dumux::CubicSpline< Scalar >::CubicSpline | ( | const std::vector< Scalar > & | x, |  
          |  |  | const std::vector< Scalar > | y ) |  | inline | 
 
- Parameters
- 
  
    | x | a vector of x-coordinates |  | y | a vector of y-coordinates |  
 
 
 
◆ eval()
template<class Scalar = double> 
 
- Parameters
- 
  
  
- Note
- We extrapolate linearly if out of bounds 
 
 
◆ evalDerivative()
template<class Scalar = double> 
 
- Parameters
- 
  
  
- Note
- We extrapolate linearly if out of bounds 
 
 
◆ updatePoints()
template<class Scalar = double> 
  
  | 
        
          | void Dumux::CubicSpline< Scalar >::updatePoints | ( | const std::vector< Scalar > & | x, |  
          |  |  | const std::vector< Scalar > & | y ) |  | inline | 
 
- Note
- we enforce continuous second derivatives in the inside and zero second derivatives at the boundary 
- Parameters
- 
  
    | x | a vector of x-coordinates |  | y | a vector of y-coordinates |  
 
 
 
The documentation for this class was generated from the following file: