Tatooine
Classes | Functions
tatooine::symbolic Namespace Reference

Classes

struct  abcflow
 The Arnold–Beltrami–Childress (ABC) flow is a three-dimensional incompressible velocity field which is an exact solution of Euler's equation. More...
 
struct  field
 
struct  symbol
 

Functions

template<typename... Relations>
auto ev (const GiNaC::ex &expr, Relations &&... relations)
 substitudes expression with relations More...
 
template<typename out_real_type = double, typename... Relations>
auto evtod (const GiNaC::ex &expr, Relations &&... relations)
 
 abcflow () -> abcflow< double >
 
template<typename Real0 , typename Real1 , size_t N, size_t D>
constexpr auto dot (const field< Real0, N, D > &lhs, const field< Real1, N, D > &rhs)
 
template<typename Real0 , typename Real1 , size_t N, size_t... TensorDims>
constexpr auto operator+ (const field< Real0, N, TensorDims... > &lhs, const field< Real1, N, TensorDims... > &rhs)
 
template<typename Real0 , typename Real1 , size_t N, size_t... TensorDims>
constexpr auto operator- (const field< Real0, N, TensorDims... > &lhs, const field< Real1, N, TensorDims... > &rhs)
 
template<typename Real0 , typename Real1 , size_t... TensorDims>
constexpr auto operator* (const field< Real0, TensorDims... > &lhs, const field< Real1, TensorDims... > &rhs)
 
template<typename Real0 , typename Real1 , size_t... TensorDims>
constexpr auto operator/ (const field< Real0, TensorDims... > &lhs, const field< Real1, TensorDims... > &rhs)
 
template<typename Real0 , typename Real1 , size_t N, size_t D0, size_t D1>
constexpr auto operator* (const field< Real0, N, D0, D1 > &lhs, const field< Real1, N, D1 > &rhs)
 

Function Documentation

◆ abcflow()

◆ dot()

template<typename Real0 , typename Real1 , size_t N, size_t D>
constexpr auto tatooine::symbolic::dot ( const field< Real0, N, D > &  lhs,
const field< Real1, N, D > &  rhs 
)
constexpr

◆ ev()

template<typename... Relations>
auto tatooine::symbolic::ev ( const GiNaC::ex &  expr,
Relations &&...  relations 
)

substitudes expression with relations

◆ evtod()

template<typename out_real_type = double, typename... Relations>
auto tatooine::symbolic::evtod ( const GiNaC::ex &  expr,
Relations &&...  relations 
)

substitudes expression with relations and casts substituted expression to double

◆ operator*() [1/2]

template<typename Real0 , typename Real1 , size_t N, size_t D0, size_t D1>
constexpr auto tatooine::symbolic::operator* ( const field< Real0, N, D0, D1 > &  lhs,
const field< Real1, N, D1 > &  rhs 
)
constexpr

◆ operator*() [2/2]

template<typename Real0 , typename Real1 , size_t... TensorDims>
constexpr auto tatooine::symbolic::operator* ( const field< Real0, TensorDims... > &  lhs,
const field< Real1, TensorDims... > &  rhs 
)
constexpr

◆ operator+()

template<typename Real0 , typename Real1 , size_t N, size_t... TensorDims>
constexpr auto tatooine::symbolic::operator+ ( const field< Real0, N, TensorDims... > &  lhs,
const field< Real1, N, TensorDims... > &  rhs 
)
constexpr

◆ operator-()

template<typename Real0 , typename Real1 , size_t N, size_t... TensorDims>
constexpr auto tatooine::symbolic::operator- ( const field< Real0, N, TensorDims... > &  lhs,
const field< Real1, N, TensorDims... > &  rhs 
)
constexpr

◆ operator/()

template<typename Real0 , typename Real1 , size_t... TensorDims>
constexpr auto tatooine::symbolic::operator/ ( const field< Real0, TensorDims... > &  lhs,
const field< Real1, TensorDims... > &  rhs 
)
constexpr