Tatooine
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | List of all members
tatooine::numerically_differentiated_flowmap< Flowmap > Struct Template Reference

Default differentiated flowmap uses central differences for differentiating. More...

#include <differentiated_flowmap.h>

Inheritance diagram for tatooine::numerically_differentiated_flowmap< Flowmap >:
[legend]
Collaboration diagram for tatooine::numerically_differentiated_flowmap< Flowmap >:
[legend]

Public Types

using flowmap_type = std::decay_t< Flowmap >
 
using this_type = numerically_differentiated_flowmap< flowmap_type >
 
using real_type = typename flowmap_type::real_type
 
using vec_type = typename flowmap_type::vec_type
 
using pos_type = typename flowmap_type::pos_type
 
using mat_type = mat< real_type, num_dimensions(), num_dimensions()>
 
using value_type = mat_type
 

Public Member Functions

 numerically_differentiated_flowmap (convertible_to< Flowmap > auto &&flowmap, real_type const epsilon=default_epsilon)
 
 numerically_differentiated_flowmap (convertible_to< Flowmap > auto &&flowmap, vec_type const &epsilon)
 
auto evaluate (pos_type const &y0, real_type const t0, real_type const tau) const
 
auto operator() (pos_type const &y0, real_type const t0, real_type const tau) const
 
auto epsilon () const -> auto const &
 
auto epsilon () -> auto &
 
auto epsilon (std::size_t i) const
 
auto epsilon (std::size_t i) -> auto &
 
auto set_epsilon (vec_type const &epsilon)
 
auto set_epsilon (vec_type &&epsilon)
 
auto flowmap () const -> auto const &
 
auto flowmap () -> auto &
 

Static Public Member Functions

static constexpr auto num_dimensions () -> std::size_t
 

Static Public Attributes

static constexpr auto default_epsilon = 1e-6
 

Private Attributes

flowmap_type m_flowmap
 
vec_type m_epsilon
 

Detailed Description

template<flowmap_concept Flowmap>
struct tatooine::numerically_differentiated_flowmap< Flowmap >

Default differentiated flowmap uses central differences for differentiating.

Member Typedef Documentation

◆ flowmap_type

template<flowmap_concept Flowmap>
using tatooine::numerically_differentiated_flowmap< Flowmap >::flowmap_type = std::decay_t<Flowmap>

◆ mat_type

template<flowmap_concept Flowmap>
using tatooine::numerically_differentiated_flowmap< Flowmap >::mat_type = mat<real_type, num_dimensions(), num_dimensions()>

◆ pos_type

template<flowmap_concept Flowmap>
using tatooine::numerically_differentiated_flowmap< Flowmap >::pos_type = typename flowmap_type::pos_type

◆ real_type

template<flowmap_concept Flowmap>
using tatooine::numerically_differentiated_flowmap< Flowmap >::real_type = typename flowmap_type::real_type

◆ this_type

template<flowmap_concept Flowmap>
using tatooine::numerically_differentiated_flowmap< Flowmap >::this_type = numerically_differentiated_flowmap<flowmap_type>

◆ value_type

template<flowmap_concept Flowmap>
using tatooine::numerically_differentiated_flowmap< Flowmap >::value_type = mat_type

◆ vec_type

template<flowmap_concept Flowmap>
using tatooine::numerically_differentiated_flowmap< Flowmap >::vec_type = typename flowmap_type::vec_type

Constructor & Destructor Documentation

◆ numerically_differentiated_flowmap() [1/2]

template<flowmap_concept Flowmap>
tatooine::numerically_differentiated_flowmap< Flowmap >::numerically_differentiated_flowmap ( convertible_to< Flowmap > auto &&  flowmap,
real_type const  epsilon = default_epsilon 
)
inlineexplicit

◆ numerically_differentiated_flowmap() [2/2]

template<flowmap_concept Flowmap>
tatooine::numerically_differentiated_flowmap< Flowmap >::numerically_differentiated_flowmap ( convertible_to< Flowmap > auto &&  flowmap,
vec_type const &  epsilon 
)
inline

Member Function Documentation

◆ epsilon() [1/4]

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::epsilon ( ) -> auto&
inline

◆ epsilon() [2/4]

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::epsilon ( ) const -> auto const&
inline

◆ epsilon() [3/4]

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::epsilon ( std::size_t  i) -> auto&
inline

◆ epsilon() [4/4]

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::epsilon ( std::size_t  i) const
inline

◆ evaluate()

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::evaluate ( pos_type const &  y0,
real_type const  t0,
real_type const  tau 
) const
inline

◆ flowmap() [1/2]

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::flowmap ( ) -> auto&
inline

◆ flowmap() [2/2]

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::flowmap ( ) const -> auto const&
inline

◆ num_dimensions()

template<flowmap_concept Flowmap>
static constexpr auto tatooine::numerically_differentiated_flowmap< Flowmap >::num_dimensions ( ) -> std::size_t
inlinestaticconstexpr

◆ operator()()

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::operator() ( pos_type const &  y0,
real_type const  t0,
real_type const  tau 
) const
inline

◆ set_epsilon() [1/2]

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::set_epsilon ( vec_type &&  epsilon)
inline

◆ set_epsilon() [2/2]

template<flowmap_concept Flowmap>
auto tatooine::numerically_differentiated_flowmap< Flowmap >::set_epsilon ( vec_type const &  epsilon)
inline

Member Data Documentation

◆ default_epsilon

template<flowmap_concept Flowmap>
constexpr auto tatooine::numerically_differentiated_flowmap< Flowmap >::default_epsilon = 1e-6
staticconstexpr

◆ m_epsilon

template<flowmap_concept Flowmap>
vec_type tatooine::numerically_differentiated_flowmap< Flowmap >::m_epsilon
private

◆ m_flowmap

template<flowmap_concept Flowmap>
flowmap_type tatooine::numerically_differentiated_flowmap< Flowmap >::m_flowmap
private

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