1#ifndef TATOOINE_ANALYTICAL_NUMERICAL_ABCFLOW_H
2#define TATOOINE_ANALYTICAL_NUMERICAL_ABCFLOW_H
12template <
typename real_type>
37 return {
m_a * gcem::sin(x(2)) +
m_c * gcem::cos(x(1)),
38 m_b * gcem::sin(x(0)) +
m_a * gcem::cos(x(2)),
39 m_c * gcem::sin(x(1)) +
m_b * gcem::cos(x(0))};
53#if TATOOINE_GINAC_AVAILABLE
61template <
typename real_type>
constexpr auto cos(arithmetic auto const x)
Definition: math.h:28
constexpr auto sin(arithmetic auto const x)
Definition: math.h:27
The Arnold–Beltrami–Childress (ABC) flow is a three-dimensional incompressible velocity field which i...
Definition: abcflow.h:13
constexpr abcflow & operator=(abcflow &&other)=default
real_type m_c
Definition: abcflow.h:21
real_type m_a
Definition: abcflow.h:21
constexpr abcflow & operator=(const abcflow &other)=default
real_type m_b
Definition: abcflow.h:21
~abcflow() override=default
constexpr abcflow(const abcflow &other)=default
constexpr auto in_domain(pos_type const &, real_type const) const -> bool
Definition: abcflow.h:41
constexpr abcflow(real_type const a=1, real_type const b=1, real_type const c=1)
Definition: abcflow.h:25
constexpr abcflow(abcflow &&other)=default
constexpr auto evaluate(pos_type const &x, real_type const) const -> tensor_type
Definition: abcflow.h:35
Real real_type
Definition: field.h:17
vec< real_type, NumDimensions > pos_type
Definition: field.h:20
Tensor tensor_type
Definition: field.h:18
The Arnold–Beltrami–Childress (ABC) flow is a three-dimensional incompressible velocity field which i...
Definition: abcflow.h:62
constexpr abcflow(const abcflow &other)=default
constexpr abcflow & operator=(abcflow &&other)=default
~abcflow() override=default
constexpr abcflow & operator=(const abcflow &other)=default
constexpr abcflow(abcflow &&other)=default
constexpr abcflow(const real_type a=1, const real_type b=1, const real_type c=1)
Definition: abcflow.h:71
Definition: symbolic_field.h:16
void set_expr(const symtensor_type &ex)
Definition: symbolic_field.h:31
tensor< GiNaC::ex, TensorDims... > symtensor_type
Definition: symbolic_field.h:22
auto constexpr x() const -> auto const &requires(N >=1)
Definition: vec.h:102