1#ifndef TATOOINE_ANALYTICAL_NUMERICAL_CENTER_FIELD_H
2#define TATOOINE_ANALYTICAL_NUMERICAL_CENTER_FIELD_H
9template <
floating_po
int Real>
32template <
floating_po
int Real>
41 return {gcem::cos(tau) * x(0) + gcem::sin(tau) * x(1),
42 -gcem::sin(tau) * x(0) + gcem::cos(tau) * x(1)};
51template <
template <
typename,
size_t>
60 InterpolationKernel>{v};
63template <
floating_po
int Real>
70template <
floating_po
int Real>
82template <
floating_po
int Real>
84 :
matrixfield<analytical::numerical::center<Real>, Real, 2> {
101 return {{0, 1}, {-1, 0}};
110template <
floating_po
int Real>
115template <
floating_po
int Real>
121template <
floating_po
int Real>
132 auto const ctau = gcem::cos(tau);
133 auto const stau = gcem::sin(tau);
134 return {{ctau, stau}, {-stau, ctau}};
138 Real
const tau)
const {
Definition: concepts.h:30
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
constexpr auto diff(polynomial< Real, Degree > const &f)
Definition: polynomial.h:179
static constexpr auto num_dimensions() -> std::size_t
Definition: center.h:37
vec< Real, 2 > vec_t
Definition: center.h:35
constexpr auto evaluate(pos_type const &x, Real const, Real const tau) const -> pos_type
Definition: center.h:39
constexpr auto operator()(pos_type const &x, Real const t, Real const tau) const -> pos_type
Definition: center.h:45
Real real_type
Definition: center.h:34
center< Real > this_type
Definition: center.h:11
constexpr auto evaluate(pos_type const &x, Real const) const -> tensor_type
Definition: center.h:24
constexpr center(center const &)=default
constexpr center(center &&) noexcept=default
constexpr center() noexcept
Definition: center.h:16
vec_type pos_type
Definition: axis_aligned_bounding_box.h:109
constexpr auto internal_field() -> auto &
Definition: center.h:104
constexpr auto internal_field() const -> auto const &
Definition: center.h:105
constexpr auto evaluate(pos_type const &, Real const) const -> tensor_type
Definition: center.h:99
differentiated_field(analytical::numerical::center< Real > const &f)
Definition: center.h:96
analytical::numerical::center< Real > m_internal_field
Definition: center.h:92
Definition: differentiated_field.h:173
Real real_type
Definition: center.h:123
constexpr auto operator()(pos_type const &x, Real const t, Real const tau) const
Definition: center.h:137
constexpr auto evaluate(pos_type const &, Real const, Real const tau) const -> gradient_t
Definition: center.h:130
static constexpr auto num_dimensions() -> std::size_t
Definition: center.h:128
Definition: differentiated_flowmap.h:141
vec< real_type, NumDimensions > pos_type
Definition: field.h:20
Tensor tensor_type
Definition: field.h:18
auto as_derived() -> auto &
Definition: field.h:161
Definition: interpolation.h:216
interpolation_tensor_type< tensor< Real, Dims... > > tensor_type
Definition: interpolation.h:135
Definition: numerical_flowmap.h:17
InternalField m_internal_field
Definition: differentiated_field.h:38
auto evaluate(pos_type const &y0, real_type const t0, real_type const tau) const
Definition: differentiated_flowmap.h:43
Definition: rungekuttafehlberg78.h:28