DDC 0.1.0
Loading...
Searching...
No Matches
ddc::GrevilleInterpolationPoints< BSplines, BcLower, BcUpper > Class Template Reference

A class which provides helper functions to initialise the Greville points from a B-Spline definition. More...

#include <greville_interpolation_points.hpp>

Collaboration diagram for ddc::GrevilleInterpolationPoints< BSplines, BcLower, BcUpper >:
Collaboration graph

Public Types

using interpolation_discrete_dimension_type = std::conditional_t< is_uniform_discrete_dimension_v< BSplines >, ddc::UniformPointSampling< continuous_dimension_type >, ddc::NonUniformPointSampling< continuous_dimension_type > >
 The type of the mesh.
 

Static Public Member Functions

template<class Sampling , typename U = BSplines, std::enable_if_t< is_uniform_discrete_dimension_v< U >, bool > = true>
static auto get_sampling ()
 Get the UniformPointSampling defining the Greville points.
 
template<class Sampling , typename U = BSplines, std::enable_if_t< !is_uniform_discrete_dimension_v< U >, bool > = true>
static auto get_sampling ()
 Get the NonUniformPointSampling defining the Greville points.
 
template<class Sampling >
static ddc::DiscreteDomain< Samplingget_domain ()
 Get the domain which gives us access to all of the Greville points.
 

Detailed Description

template<class BSplines, ddc::BoundCond BcLower, ddc::BoundCond BcUpper>
class ddc::GrevilleInterpolationPoints< BSplines, BcLower, BcUpper >

A class which provides helper functions to initialise the Greville points from a B-Spline definition.

Template Parameters
BSplinesThe bspline class relative to which the Greville points will be calculated.
BcLowerThe lower boundary condition that will be used to build the splines.
BcUpperThe upper boundary condition that will be used to build the splines.

Definition at line 27 of file greville_interpolation_points.hpp.

Member Typedef Documentation

◆ interpolation_discrete_dimension_type

template<class BSplines , ddc::BoundCond BcLower, ddc::BoundCond BcUpper>
using ddc::GrevilleInterpolationPoints< BSplines, BcLower, BcUpper >::interpolation_discrete_dimension_type = std::conditional_t< is_uniform_discrete_dimension_v<BSplines>, ddc::UniformPointSampling<continuous_dimension_type>, ddc::NonUniformPointSampling<continuous_dimension_type> >

The type of the mesh.

This is either NonUniformPointSampling or UniformPointSampling.

Definition at line 266 of file greville_interpolation_points.hpp.

Member Function Documentation

◆ get_sampling() [1/2]

template<class BSplines , ddc::BoundCond BcLower, ddc::BoundCond BcUpper>
template<class Sampling , typename U = BSplines, std::enable_if_t< is_uniform_discrete_dimension_v< U >, bool > = true>
static auto ddc::GrevilleInterpolationPoints< BSplines, BcLower, BcUpper >::get_sampling ( )
inlinestatic

Get the UniformPointSampling defining the Greville points.

This function is called when the result is a UniformPointSampling. This is the case when uniform splines are used with an odd degree and with boundary conditions which do not introduce additional interpolation points.

Template Parameters
SamplingThe discrete dimension supporting the Greville points.
Returns
The mesh of uniform Greville points.

Definition at line 144 of file greville_interpolation_points.hpp.

◆ get_sampling() [2/2]

template<class BSplines , ddc::BoundCond BcLower, ddc::BoundCond BcUpper>
template<class Sampling , typename U = BSplines, std::enable_if_t< !is_uniform_discrete_dimension_v< U >, bool > = true>
static auto ddc::GrevilleInterpolationPoints< BSplines, BcLower, BcUpper >::get_sampling ( )
inlinestatic

Get the NonUniformPointSampling defining the Greville points.

Template Parameters
SamplingThe discrete dimension supporting the Greville points.
Returns
The mesh of non-uniform Greville points.

Definition at line 163 of file greville_interpolation_points.hpp.

◆ get_domain()

Get the domain which gives us access to all of the Greville points.

Template Parameters
SamplingThe discrete dimension supporting the Greville points.
Returns
The domain of the Greville points.

Definition at line 279 of file greville_interpolation_points.hpp.


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