Gyselalib++
ddcHelper::NonUniformInterpolationPoints< BSplines, BcXmin, BcXmax > Class Template Reference

Helper class for the initialisation of the mesh of interpolation points. More...

Public Types

using interpolation_discrete_dimension_type = NonUniformGridBase< Dim >
 The type of the mesh. More...
 

Static Public Member Functions

template<typename Sampling , typename U = BSplines>
static auto get_sampling (std::vector< Coord< Dim >> &interp_points, double TOL=2e-14)
 Get the sampling of interpolation points. More...
 
template<typename Sampling >
static IdxRange< Sampling > get_domain ()
 Get the domain which can be used to access the interpolation points in the sampling. More...
 

Static Public Attributes

static constexpr int N_BE_MIN = n_boundary_equations(BcXmin, BSplines::degree())
 The number of boundary equations at the lower bound in a spline interpolation.
 
static constexpr int N_BE_MAX = n_boundary_equations(BcXmax, BSplines::degree())
 The number of boundary equations at the upper bound in a spline interpolation.
 

Detailed Description

template<class BSplines, ddc::BoundCond BcXmin, ddc::BoundCond BcXmax>
class ddcHelper::NonUniformInterpolationPoints< BSplines, BcXmin, BcXmax >

Helper class for the initialisation of the mesh of interpolation points.

A helper class for the initialisation of the mesh of interpolation points. This class should be used when the interpolation points are specified externally. This is possible with any kind of boundary condition. In the case of Greville boundary conditions, the second and second to last interpolation points should be the Greville points.

Member Typedef Documentation

◆ interpolation_discrete_dimension_type

template<class BSplines , ddc::BoundCond BcXmin, ddc::BoundCond BcXmax>
using ddcHelper::NonUniformInterpolationPoints< BSplines, BcXmin, BcXmax >::interpolation_discrete_dimension_type = NonUniformGridBase<Dim>

The type of the mesh.

This is always NonUniformPointSampling.

Member Function Documentation

◆ get_sampling()

template<class BSplines , ddc::BoundCond BcXmin, ddc::BoundCond BcXmax>
template<typename Sampling , typename U = BSplines>
static auto ddcHelper::NonUniformInterpolationPoints< BSplines, BcXmin, BcXmax >::get_sampling ( std::vector< Coord< Dim >> &  interp_points,
double  TOL = 2e-14 
)
inlinestatic

Get the sampling of interpolation points.

Parameters
[in]interp_pointsThe grid points on which the simulation will evolve.
[in]TOLThe tolerance above which points are considered to be non-uniform.
Returns
sampling The DDC point sampling of the interpolation points.

◆ get_domain()

template<class BSplines , ddc::BoundCond BcXmin, ddc::BoundCond BcXmax>
template<typename Sampling >
static IdxRange<Sampling> ddcHelper::NonUniformInterpolationPoints< BSplines, BcXmin, BcXmax >::get_domain ( )
inlinestatic

Get the domain which can be used to access the interpolation points in the sampling.

Returns
domain The discrete domain which maps to the sampling of interpolation points.

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