SpECTRE
v2025.03.17
|
Interpolates a Variables
onto an arbitrary set of points.
More...
#include <IrregularInterpolant.hpp>
Public Member Functions | |
Irregular (const Mesh< Dim > &source_mesh, const tnsr::I< DataVector, Dim, Frame::ElementLogical > &target_points) | |
void | pup (PUP::er &p) |
Serialization for Charm++. | |
template<typename TagsList > | |
void | interpolate (const gsl::not_null< Variables< TagsList > * > result, const Variables< TagsList > &vars) const |
template<typename TagsList > | |
void | interpolate (gsl::not_null< Variables< TagsList > * > result, const Variables< TagsList > &vars) const |
Performs the interpolation on a Variables with grid points corresponding to the Mesh<Dim> specified in the constructor. The result is a Variables whose internal DataVector goes over the list of target_points that were specified in the constructor. More... | |
template<typename TagsList > | |
Variables< TagsList > | interpolate (const Variables< TagsList > &vars) const |
Performs the interpolation on a Variables with grid points corresponding to the Mesh<Dim> specified in the constructor. The result is a Variables whose internal DataVector goes over the list of target_points that were specified in the constructor. More... | |
void | interpolate (gsl::not_null< DataVector * > result, const DataVector &input) const |
Interpolate a DataVector or ComplexDataVector onto the target points. More... | |
DataVector | interpolate (const DataVector &input) const |
Interpolate a DataVector or ComplexDataVector onto the target points. More... | |
void | interpolate (gsl::not_null< ComplexDataVector * > result, const ComplexDataVector &input) const |
Interpolate a DataVector or ComplexDataVector onto the target points. More... | |
ComplexDataVector | interpolate (const ComplexDataVector &input) const |
Interpolate a DataVector or ComplexDataVector onto the target points. More... | |
void | interpolate (gsl::not_null< gsl::span< double > * > result, const gsl::span< const double > &input) const |
Interpolate multiple variables on the grid to the target points. | |
void | interpolate (gsl::not_null< gsl::span< std::complex< double > > * > result, const gsl::span< const std::complex< double > > &input) const |
Interpolate multiple variables on the grid to the target points. | |
Friends | |
bool | operator== (const Irregular &lhs, const Irregular &rhs) |
Interpolates a Variables
onto an arbitrary set of points.
If the source_mesh
uses Spectral::Basis::FiniteDifference, linear interpolation is done in each dimension; otherwise it uses the barycentric interpolation provided by Spectral::interpolation_matrix in each dimension.
ComplexDataVector intrp::Irregular< Dim >::interpolate | ( | const ComplexDataVector & | input | ) | const |
Interpolate a DataVector or ComplexDataVector onto the target points.
DataVector intrp::Irregular< Dim >::interpolate | ( | const DataVector & | input | ) | const |
Interpolate a DataVector or ComplexDataVector onto the target points.
Variables< TagsList > intrp::Irregular< Dim >::interpolate | ( | const Variables< TagsList > & | vars | ) | const |
Performs the interpolation on a Variables
with grid points corresponding to the Mesh<Dim>
specified in the constructor. The result is a Variables
whose internal DataVector
goes over the list of target_points that were specified in the constructor.
result
will be resized to the proper size. void intrp::Irregular< Dim >::interpolate | ( | gsl::not_null< ComplexDataVector * > | result, |
const ComplexDataVector & | input | ||
) | const |
Interpolate a DataVector or ComplexDataVector onto the target points.
void intrp::Irregular< Dim >::interpolate | ( | gsl::not_null< DataVector * > | result, |
const DataVector & | input | ||
) | const |
Interpolate a DataVector or ComplexDataVector onto the target points.
void intrp::Irregular< Dim >::interpolate | ( | gsl::not_null< Variables< TagsList > * > | result, |
const Variables< TagsList > & | vars | ||
) | const |
Performs the interpolation on a Variables
with grid points corresponding to the Mesh<Dim>
specified in the constructor. The result is a Variables
whose internal DataVector
goes over the list of target_points that were specified in the constructor.
result
will be resized to the proper size.