1#ifndef TATOOINE_ANALYTICAL_NUMERICAL_SADDLE_H
2#define TATOOINE_ANALYTICAL_NUMERICAL_SADDLE_H
10template <
floating_po
int Real, std::
size_t NumDimensions>
12template <
floating_po
int Real>
27 [[nodiscard]] auto constexpr evaluate(
pos_type const& x,
32template <
floating_po
int Real>
47 [[nodiscard]] auto constexpr evaluate(
pos_type const& x,
53template <std::
size_t NumDimensions>
58template <
floating_po
int Real>
92template <
typename Real>
103 return {std::exp(-tau) * x(0), std::exp(tau) * x(1)};
111template <
floating_po
int Real>
116template <
floating_po
int Real>
125template <
floating_po
int Real>
127 :
matrixfield<analytical::numerical::saddle<Real, 2>, Real, 2> {
137 return {{-1, 0}, {0, 1}};
141template <
floating_po
int Real>
156 Real
const tau)
const {
constexpr auto flowmap(vectorfield< autonomous_particles_test< Real >, Real, 2 > const &v, tag::numerical_t)
Definition: autonomous_particles_test.h:75
static constexpr analytical_t analytical
Definition: tags.h:91
Definition: algorithm.h:6
auto transposed(dynamic_tensor auto &&t)
Definition: transposed_tensor.h:170
auto constexpr evaluate(pos_type const &x, Real const) const -> tensor_type
Definition: saddle.h:81
constexpr rotated_saddle(rotated_saddle &&) noexcept=default
constexpr rotated_saddle(Real angle_in_radians=M_PI/4) noexcept
Definition: saddle.h:71
constexpr rotated_saddle(rotated_saddle const &)=default
Real m_angle_in_radians
Definition: saddle.h:67
constexpr saddle(saddle const &)=default
constexpr saddle(saddle &&) noexcept=default
constexpr saddle() noexcept
Definition: saddle.h:19
constexpr saddle(saddle const &)=default
constexpr saddle() noexcept
Definition: saddle.h:39
constexpr saddle(saddle &&) noexcept=default
auto constexpr evaluate(pos_type const &x, Real const t, Real const tau) const -> pos_type
Definition: saddle.h:101
auto constexpr operator()(pos_type const &x, Real const t, Real const tau) const -> pos_type
Definition: saddle.h:106
Real real_type
Definition: saddle.h:94
vec< Real, 2 > vec_type
Definition: saddle.h:95
static auto constexpr num_dimensions()
Definition: saddle.h:99
saddle_flowmap(saddle< Real, 2 > const &)
Definition: saddle.h:98
vec_type pos_type
Definition: axis_aligned_bounding_box.h:109
auto constexpr evaluate(pos_type const &x, Real const t) const -> tensor_type
Definition: saddle.h:135
Definition: differentiated_field.h:173
static auto constexpr num_dimensions()
Definition: saddle.h:148
auto constexpr operator()(pos_type const &x, Real const t, Real const tau) const
Definition: saddle.h:155
Real real_type
Definition: saddle.h:143
auto constexpr evaluate(pos_type const &x, Real const t, Real const tau) const -> gradient_type
Definition: saddle.h:150
Definition: differentiated_flowmap.h:141
vec< real_type, NumDimensions > pos_type
Definition: field.h:20
Tensor tensor_type
Definition: field.h:18
interpolation_tensor_type< tensor< Real, Dims... > > tensor_type
Definition: interpolation.h:135
typename flowmap_type::vec_type vec_type
Definition: differentiated_flowmap.h:21
typename flowmap_type::real_type real_type
Definition: differentiated_flowmap.h:17
auto evaluate(pos_type const &y0, real_type const t0, real_type const tau) const
Definition: differentiated_flowmap.h:43
mat< real_type, num_dimensions(), num_dimensions()> mat_type
Definition: differentiated_flowmap.h:23