Public Types | Public Member Functions | Private Attributes | List of all members
ecl::blueprints::C2CubicSpline Class Reference

Blueprint for generating a cubic spline satisfying C2 constraints. More...

#include <cubic_spline.hpp>

Inheritance diagram for ecl::blueprints::C2CubicSpline:
Inheritance graph
[legend]

Public Types

typedef ecl::CubicSpline base_type
 Abstract representation of the class to be instantiated/configured. More...
 

Public Member Functions

void apply (ecl::CubicSpline &spline) const
 Apply the blueprint to configure an existing object. More...
 
 C2CubicSpline ()
 Default constructor. More...
 
 C2CubicSpline (const ecl::Array< double > &x_set, const ecl::Array< double > &y_set, const double ydot_0, const double ydot_f)
 Constructor that properly configures/initialises the blueprint. More...
 
 C2CubicSpline (const ecl::Array< double > &x_set, const ecl::Array< double > &y_set)
 Constructor that properly configures/initialises the blueprint. More...
 
ecl::CubicSpline instantiate ()
 Instantiate a copy of the object that is blueprinted. More...
 
virtual ~C2CubicSpline ()
 
- Public Member Functions inherited from ecl::BluePrint< C2CubicSpline >
 BluePrint ()
 
void implementApply (BaseType &object) const
 
BaseType implementInstantiate ()
 
virtual ~BluePrint ()
 

Private Attributes

ecl::Array< double > x_data
 
ecl::Array< double > y_data
 
ecl::Array< double > yddot_data
 

Detailed Description

Blueprint for generating a cubic spline satisfying C2 constraints.

Blueprint for generating a cubic spline on a set of data given the constraint of continuity of y, y' and y''.

See also
CubicSpline.

Definition at line 276 of file cubic_spline.hpp.

Member Typedef Documentation

◆ base_type

Abstract representation of the class to be instantiated/configured.

Definition at line 281 of file cubic_spline.hpp.

Constructor & Destructor Documentation

◆ C2CubicSpline() [1/3]

ecl::blueprints::C2CubicSpline::C2CubicSpline ( )
inline

Default constructor.

Default constructor (only utilised by the blueprint compile time assert).

Definition at line 287 of file cubic_spline.hpp.

◆ C2CubicSpline() [2/3]

ecl::blueprints::C2CubicSpline::C2CubicSpline ( const ecl::Array< double > &  x_set,
const ecl::Array< double > &  y_set,
const double  ydot_0,
const double  ydot_f 
)

Constructor that properly configures/initialises the blueprint.

The constructor uses the input data sets to generate second derivatives at each via point so that a cubic spline will guarantee continuity.

Parameters
x_set: set of data on the domain axis.
y_set: set of values on the range axis.
ydot_0: initial derivative value (boundary constraint).
ydot_f: final derivative value (boundary constraint).
Exceptions
StandardException : throws if it failed to construct [debug mode only].

Definition at line 42 of file cubic_spline_blueprints.cpp.

◆ ~C2CubicSpline()

virtual ecl::blueprints::C2CubicSpline::~C2CubicSpline ( )
inlinevirtual

Definition at line 304 of file cubic_spline.hpp.

◆ C2CubicSpline() [3/3]

ecl::blueprints::C2CubicSpline::C2CubicSpline ( const ecl::Array< double > &  x_set,
const ecl::Array< double > &  y_set 
)

Constructor that properly configures/initialises the blueprint.

The constructor uses the input data sets to generate second derivatives at each via point so that a cubic spline will guarantee continuity. This is a special case that does not use boundary derivative values to establish the result. Rather it automatically sets the boundary second derivatives to zero. This is more commonly known as the natural cubic spline.

Parameters
x_set: set of data on the domain axis.
y_set: set of values on the range axis.
Exceptions
StandardException : throws if it failed to construct [debug mode only].

Definition at line 83 of file cubic_spline_blueprints.cpp.

Member Function Documentation

◆ apply()

void ecl::blueprints::C2CubicSpline::apply ( ecl::CubicSpline spline) const

Apply the blueprint to configure an existing object.

Apply the data set to generate the configuration required for the cubic spline.

Parameters
spline: the spline to configure from the supplied data set.

Definition at line 125 of file cubic_spline_blueprints.cpp.

◆ instantiate()

ecl::CubicSpline ecl::blueprints::C2CubicSpline::instantiate ( )

Instantiate a copy of the object that is blueprinted.

Instantiates a new cubic spline generated from the supplied data set.

Returns
CubicSpline : a copy of the generated cubic spline.

Definition at line 119 of file cubic_spline_blueprints.cpp.

Member Data Documentation

◆ x_data

ecl::Array<double> ecl::blueprints::C2CubicSpline::x_data
private

Definition at line 339 of file cubic_spline.hpp.

◆ y_data

ecl::Array<double> ecl::blueprints::C2CubicSpline::y_data
private

Definition at line 340 of file cubic_spline.hpp.

◆ yddot_data

ecl::Array<double> ecl::blueprints::C2CubicSpline::yddot_data
private

Definition at line 341 of file cubic_spline.hpp.


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


ecl_geometry
Author(s): Daniel Stonier
autogenerated on Mon Feb 28 2022 22:18:49