Loading [MathJax]/extensions/TeX/AMSmath.js
3.5-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | List of all members
Dumux::Spline< Scalar, numSamples > Class Template Reference

A 3rd order polynomial spline. More...

#include <dumux/common/spline.hh>

Inheritance diagram for Dumux::Spline< Scalar, numSamples >:

Description

template<class Scalar, int numSamples = 2>
class Dumux::Spline< Scalar, numSamples >

A 3rd order polynomial spline.

This class implements a spline s(x) for which, given n sampling points x_1, \dots, x_n, the following conditions hold

\begin{align*} s(x_i) & = y_i \quad \forall i \in \{1, \dots, n \}\\ s'(x_1) & = m_1 \\ s'(x_n) & = m_n \end{align*}

for any given boundary slopes m_1 and m_n. Alternatively, natural splines are supported which are defined by

\begin{align*} s(x_i) & = y_i \quad \forall i \in \{1, \dots, n \} \\ s''(x_1) & = 0 \\ s''(x_n) & = 0 \end{align*}

Public Member Functions

 Spline ()
 Default constructor for a spline. More...
 
template<class ScalarArray >
 Spline (const ScalarArray &x, const ScalarArray &y)
 Convenience constructor for a full spline. More...
 
template<class PointArray >
 Spline (const PointArray &points)
 Convenience constructor for a full spline. More...
 
template<class ScalarArray >
 Spline (const ScalarArray &x, const ScalarArray &y, Scalar m0, Scalar m1)
 Convenience constructor for a full spline. More...
 
template<class PointArray >
 Spline (const PointArray &points, Scalar m0, Scalar m1)
 Convenience constructor for a full spline. More...
 

Constructor & Destructor Documentation

◆ Spline() [1/5]

template<class Scalar , int numSamples = 2>
Dumux::Spline< Scalar, numSamples >::Spline ( )
inline

Default constructor for a spline.

To specfiy the acutal curve, use one of the set() methods.

◆ Spline() [2/5]

template<class Scalar , int numSamples = 2>
template<class ScalarArray >
Dumux::Spline< Scalar, numSamples >::Spline ( const ScalarArray &  x,
const ScalarArray &  y 
)
inline

Convenience constructor for a full spline.

Parameters
xAn array containing the x values of the spline's sampling points
yAn array containing the y values of the spline's sampling points

◆ Spline() [3/5]

template<class Scalar , int numSamples = 2>
template<class PointArray >
Dumux::Spline< Scalar, numSamples >::Spline ( const PointArray &  points)
inline

Convenience constructor for a full spline.

Parameters
pointsAn array of (x,y) tuples of the spline's sampling points

◆ Spline() [4/5]

template<class Scalar , int numSamples = 2>
template<class ScalarArray >
Dumux::Spline< Scalar, numSamples >::Spline ( const ScalarArray &  x,
const ScalarArray &  y,
Scalar  m0,
Scalar  m1 
)
inline

Convenience constructor for a full spline.

Parameters
xAn array containing the x values of the spline's sampling points
yAn array containing the y values of the spline's sampling points
m0The slope of the spline at x_0
m1The slope of the spline at x_n

◆ Spline() [5/5]

template<class Scalar , int numSamples = 2>
template<class PointArray >
Dumux::Spline< Scalar, numSamples >::Spline ( const PointArray &  points,
Scalar  m0,
Scalar  m1 
)
inline

Convenience constructor for a full spline.

Parameters
pointsAn array of (x,y) tuples of the spline's sampling points
m0The slope of the spline at x_0
m1The slope of the spline at x_n

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