SpECTRE  v2026.06.30
Loading...
Searching...
No Matches
intrp::Cardinal< Dim > Class Template Reference

Interpolates by doing partial summation in each dimension using one-dimensional interpolation. More...

#include <CardinalInterpolator.hpp>

Public Member Functions

 Cardinal (const Mesh< Dim > &source_mesh, const tnsr::I< DataVector, Dim, Frame::ElementLogical > &target_points)
 Cardinal (const Mesh< Dim > &source_mesh, const tnsr::I< double, Dim, Frame::ElementLogical > &target_point)
DataVector interpolate (const DataVector &f) const
 Interpolates the function f provided on the source_mesh to the target_points with which the interpolator was constructed.
const std::array< Matrix, Dim > & interpolation_matrices () const
 The one-dimensional interpolation matrices used to do the interpolation.
void pup (PUP::er &p)

Static Public Member Functions

static void compute_zernike_b2_weights (gsl::not_null< Matrix * > weights, const Mesh< Dim > &source_mesh, const std::array< Matrix, Dim > &interpolation_matrices, size_t n_target_points)
 Logic for set_zernike_b2_weights(). Also used by IrregularInterpolant.
static void compute_zernike_b3_weights (gsl::not_null< Matrix * > weights, const Mesh< Dim > &source_mesh, const tnsr::I< DataVector, Dim, Frame::ElementLogical > &target_points, const ylm::Spherepack &b3_ylm, size_t n_target_points)
 Logic for set_zernike_b3_weights(). Also used by IrregularInterpolant.

Friends

template<size_t LocalDim>
bool operator== (const Cardinal< LocalDim > &lhs, const Cardinal< LocalDim > &rhs)

Detailed Description

template<size_t Dim>
class intrp::Cardinal< Dim >

Interpolates by doing partial summation in each dimension using one-dimensional interpolation.

Details

The one-dimensional matrices used to do the interpolation depend upon the Spectral::Basis used in each dimension:

For multidimensional bases such as SphericalHarmonic, ZernikeB2, or ZernikeB3, the matrices used for interpolating cannot be applied per dimension but must be handled specially.


The documentation for this class was generated from the following file:
  • src/NumericalAlgorithms/Interpolation/CardinalInterpolator.hpp