SpECTRE  v2024.04.12
domain::CoordinateMaps::TimeDependent::ProductOf2Maps< Map1, Map2 > Class Template Reference

Product of two codimension=0 CoordinateMaps, where one or both must be time-dependent. More...

#include <ProductMaps.hpp>

Public Types

using map_list = tmpl::list< Map1, Map2 >
 

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::NoFrameinv_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::NoFramejacobian (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)
 

Detailed Description

template<typename Map1, typename Map2>
class domain::CoordinateMaps::TimeDependent::ProductOf2Maps< Map1, Map2 >

Product of two codimension=0 CoordinateMaps, where one or both must be time-dependent.

Template Parameters
Map1the map for the first coordinate(s)
Map2the map for the second coordinate(s)

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