Gyselalib++
PolarSpline< PolarBSplinesType, MemSpace > Struct Template Reference

A structure containing the two Chunks necessary to define a spline on a set of polar basis splines. More...

Public Types

using BSplinesR = typename PolarBSplinesType::BSplinesR_tag
 The radial bspline from which the polar bsplines are constructed.
 
using BSplinesTheta = typename PolarBSplinesType::BSplinesTheta_tag
 The poloidal bspline from which the polar bsplines are constructed.
 

Public Member Functions

 PolarSpline (ddc::DiscreteDomain< BSplinesR, BSplinesTheta > domain)
 A constructor for the PolarSpline. More...
 
 PolarSpline (ddc::DiscreteDomain< PolarBSplinesType > singular_domain, ddc::DiscreteDomain< BSplinesR, BSplinesTheta > domain)
 Initialise the Chunks containing the coefficients of the spline representation. More...
 
PolarSplineSpan< PolarBSplinesType, MemSpace > span_view ()
 Get a modifiable reference to this polar spline. More...
 
PolarSplineView< PolarBSplinesType, MemSpace > span_cview () const
 Get a constant reference to this polar spline view. More...
 

Public Attributes

ddc::Chunk< double, ddc::DiscreteDomain< BSplinesR, BSplinesTheta >, ddc::KokkosAllocator< double, MemSpace > > spline_coef
 A Chunk containing the coefficients in front of the b-spline elements which can be expressed as a tensor product of 1D bsplines.
 
ddc::Chunk< double, ddc::DiscreteDomain< PolarBSplinesType >, ddc::KokkosAllocator< double, MemSpace > > singular_spline_coef
 A Chunk containing the coefficients in front of the b-spline elements near the singular point which cannot be expressed as a tensor product of 1D bsplines.
 

Detailed Description

template<class PolarBSplinesType, class MemSpace = Kokkos::DefaultExecutionSpace::memory_space>
struct PolarSpline< PolarBSplinesType, MemSpace >

A structure containing the two Chunks necessary to define a spline on a set of polar basis splines.

Template Parameters
PolarBSplinesTypeThe type of the polar bsplines on which this spline is defined.

Constructor & Destructor Documentation

◆ PolarSpline() [1/2]

template<class PolarBSplinesType , class MemSpace = Kokkos::DefaultExecutionSpace::memory_space>
PolarSpline< PolarBSplinesType, MemSpace >::PolarSpline ( ddc::DiscreteDomain< BSplinesR, BSplinesTheta domain)
inline

A constructor for the PolarSpline.

A constructor for the PolarSpline which takes a 2D domain of bsplines. This domain is then split into the domains which are relevant for a polar bspline constructed from these 2D bsplines. These new domains are then used to create the chunks which define the spline.

Parameters
domainA 2D domain of bsplines.

◆ PolarSpline() [2/2]

template<class PolarBSplinesType , class MemSpace = Kokkos::DefaultExecutionSpace::memory_space>
PolarSpline< PolarBSplinesType, MemSpace >::PolarSpline ( ddc::DiscreteDomain< PolarBSplinesType >  singular_domain,
ddc::DiscreteDomain< BSplinesR, BSplinesTheta domain 
)
inline

Initialise the Chunks containing the coefficients of the spline representation.

Parameters
singular_domainThe domain for the coefficients in front of the b-spline elements near the singular point. These are the elements which cannot be expressed as a tensor product of 1D bsplines.
domainThe domain for the coefficients in front of the b-spline elements which can be expressed as a tensor product of 1D bsplines.

Member Function Documentation

◆ span_view()

template<class PolarBSplinesType , class MemSpace = Kokkos::DefaultExecutionSpace::memory_space>
PolarSplineSpan<PolarBSplinesType, MemSpace> PolarSpline< PolarBSplinesType, MemSpace >::span_view ( )
inline

Get a modifiable reference to this polar spline.

Returns
A modifiable reference to this polar spline.

◆ span_cview()

template<class PolarBSplinesType , class MemSpace = Kokkos::DefaultExecutionSpace::memory_space>
PolarSplineView<PolarBSplinesType, MemSpace> PolarSpline< PolarBSplinesType, MemSpace >::span_cview ( ) const
inline

Get a constant reference to this polar spline view.

Returns
A constant reference to this polar spline.

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