Reference documentation for deal.II version 9.2.0
|
#include <deal.II/base/function_cspline.h>
Public Member Functions | |
CSpline (const std::vector< double > &interpolation_points, const std::vector< double > &interpolation_values) | |
virtual | ~CSpline () override |
virtual double | value (const Point< dim > &point, const unsigned int component=0) const override |
virtual Tensor< 1, dim > | gradient (const Point< dim > &p, const unsigned int component=0) const override |
virtual SymmetricTensor< 2, dim > | hessian (const Point< dim > &p, const unsigned int component=0) const override |
virtual double | laplacian (const Point< dim > &p, const unsigned int component=0) const override |
std::size_t | memory_consumption () const |
Public Member Functions inherited from Function< dim > | |
Function (const unsigned int n_components=1, const time_type initial_time=0.0) | |
Function (const Function &f)=default | |
virtual | ~Function () override=0 |
Function & | operator= (const Function &f) |
virtual void | vector_value (const Point< dim > &p, Vector< double > &values) const |
virtual void | value_list (const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const |
virtual void | vector_value_list (const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const |
virtual void | vector_values (const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const |
virtual void | vector_gradient (const Point< dim > &p, std::vector< Tensor< 1, dim, double >> &gradients) const |
virtual void | gradient_list (const std::vector< Point< dim >> &points, std::vector< Tensor< 1, dim, double >> &gradients, const unsigned int component=0) const |
virtual void | vector_gradients (const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim, double >>> &gradients) const |
virtual void | vector_gradient_list (const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim, double >>> &gradients) const |
virtual void | vector_laplacian (const Point< dim > &p, Vector< double > &values) const |
virtual void | laplacian_list (const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const |
virtual void | vector_laplacian_list (const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const |
virtual void | vector_hessian (const Point< dim > &p, std::vector< SymmetricTensor< 2, dim, double >> &values) const |
virtual void | hessian_list (const std::vector< Point< dim >> &points, std::vector< SymmetricTensor< 2, dim, double >> &values, const unsigned int component=0) const |
virtual void | vector_hessian_list (const std::vector< Point< dim >> &points, std::vector< std::vector< SymmetricTensor< 2, dim, double >>> &values) const |
std::size_t | memory_consumption () const |
Public Member Functions inherited from FunctionTime< numbers::NumberTraits< double >::real_type > | |
FunctionTime (const numbers::NumberTraits< double >::real_type initial_time=numbers::NumberTraits< double >::real_type(0.0)) | |
virtual | ~FunctionTime ()=default |
numbers::NumberTraits< double >::real_type | get_time () const |
virtual void | set_time (const numbers::NumberTraits< double >::real_type new_time) |
virtual void | advance_time (const numbers::NumberTraits< double >::real_type delta_t) |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
const std::vector< double > | interpolation_points |
const std::vector< double > | interpolation_values |
gsl_interp_accel * | acc |
gsl_spline * | cspline |
Threads::Mutex | acc_mutex |
Additional Inherited Members | |
Public Types inherited from Function< dim > | |
using | time_type = typename FunctionTime< typename numbers::NumberTraits< double >::real_type >::time_type |
Public Types inherited from FunctionTime< numbers::NumberTraits< double >::real_type > | |
using | time_type = numbers::NumberTraits< double >::real_type |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Public Attributes inherited from Function< dim > | |
const unsigned int | n_components |
Static Public Attributes inherited from Function< dim > | |
static const unsigned int | dimension |
The cubic spline function using GNU Scientific Library. The resulting curve is piecewise cubic on each interval, with matching first and second derivatives at the supplied data-points. The second derivative is chosen to be zero at the first point and last point.
Definition at line 76 of file function_cspline.h.
Functions::CSpline< dim >::CSpline | ( | const std::vector< double > & | interpolation_points, |
const std::vector< double > & | interpolation_values | ||
) |
Constructor which should be provided with a set of points at which interpolation is to be done interpolation_points
and a set of function values interpolation_values
.
Definition at line 27 of file function_cspline.cc.
|
overridevirtual |
Virtual destructor.
Definition at line 59 of file function_cspline.cc.
|
overridevirtual |
Return the value of the function at the given point. Unless there is only one component (i.e. the function is scalar), you should state the component you want to have evaluated; it defaults to zero, i.e. the first component.
Reimplemented from Function< dim >.
Definition at line 71 of file function_cspline.cc.
|
overridevirtual |
Return the gradient of the specified component of the function at the given point.
Reimplemented from Function< dim >.
Definition at line 92 of file function_cspline.cc.
|
overridevirtual |
Compute the Hessian of a given component at point p
, that is the gradient of the gradient of the function.
Reimplemented from Function< dim >.
Definition at line 137 of file function_cspline.cc.
|
overridevirtual |
Compute the Laplacian of a given component at point p
.
Reimplemented from Function< dim >.
Definition at line 116 of file function_cspline.cc.
std::size_t Functions::CSpline< dim >::memory_consumption |
Definition at line 148 of file function_cspline.cc.
|
private |
Points at which interpolation is provided
Definition at line 115 of file function_cspline.h.
|
private |
Values of the function at interpolation points
Definition at line 120 of file function_cspline.h.
|
private |
GSL accelerator for spline interpolation
Definition at line 125 of file function_cspline.h.
|
private |
GSL cubic spline interpolator
Definition at line 130 of file function_cspline.h.
|
mutableprivate |
A mutex for accelerator object.
Definition at line 135 of file function_cspline.h.