SpECTRE
v2025.03.17
|
Product of two codimension=0 CoordinateMaps, where one or both must be time-dependent. More...
#include <ProductMaps.hpp>
Public Types | |
using | map_list = implementation defined |
Public Member Functions | |
ProductOf2Maps (Map1 map1, Map2 map2) | |
template<typename T > | |
std::array< tt::remove_cvref_wrap_t< T >, dim > | operator() (const std::array< T, dim > &source_coords, double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time) const |
std::optional< std::array< double, dim > > | inverse (const std::array< double, dim > &target_coords, double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time) const |
The inverse function is only callable with doubles because the inverse might fail if called for a point out of range, and it is unclear what should happen if the inverse were to succeed for some points in a DataVector but fail for other points. | |
template<typename T > | |
std::array< tt::remove_cvref_wrap_t< T >, dim > | frame_velocity (const std::array< T, dim > &source_coords, double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time) const |
template<typename T > | |
tnsr::Ij< tt::remove_cvref_wrap_t< T >, dim, Frame::NoFrame > | inv_jacobian (const std::array< T, dim > &source_coords, double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time) const |
template<typename T > | |
tnsr::Ij< tt::remove_cvref_wrap_t< T >, dim, Frame::NoFrame > | jacobian (const std::array< T, dim > &source_coords, double time, const std::unordered_map< std::string, std::unique_ptr< domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time) const |
void | pup (PUP::er &p) |
bool | is_identity () const |
const std::unordered_set< std::string > & | function_of_time_names () const |
Static Public Attributes | |
static constexpr size_t | dim = Map1::dim + Map2::dim |
Friends | |
bool | operator== (const ProductOf2Maps &lhs, const ProductOf2Maps &rhs) |
Product of two codimension=0 CoordinateMaps, where one or both must be time-dependent.
Map1 | the map for the first coordinate(s) |
Map2 | the map for the second coordinate(s) |