1#ifndef TATOOINE_ANALYTICAL_SYMBOLIC_ABCFLOW_H
2#define TATOOINE_ANALYTICAL_SYMBOLIC_ABCFLOW_H
4#include <tatooine/available_libraries.h>
5#if TATOOINE_GINAC_AVAILABLE
13template <
typename real_type>
25 this->set_expr(
vec{a *
sin(symbol::x(2)) + c *
cos(symbol::x(1)),
26 b *
sin(symbol::x(0)) + a *
cos(symbol::x(2)),
27 c *
sin(symbol::x(1)) + b *
cos(symbol::x(0))});
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:14
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:23
3 real_type
Definition: field.h:17
vec< real_type, NumDimensions > pos_type
Definition: field.h:20
Tensor tensor_type
Definition: field.h:18
tensor< GiNaC::ex, TensorDims... > symtensor_type
Definition: symbolic_field.h:22