Tatooine
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tatooine::analytical::numerical::doublegyre< Real > Struct Template Reference

Double Gyre dataset. More...

#include <doublegyre.h>

Inheritance diagram for tatooine::analytical::numerical::doublegyre< Real >:
[legend]
Collaboration diagram for tatooine::analytical::numerical::doublegyre< Real >:
[legend]

Public Types

using this_type = doublegyre< Real >
 
using parent_type = vectorfield< this_type, Real, 2 >
 
- Public Types inherited from tatooine::field< DerivedField, Real, NumDimensions, Tensor >
using this_type = field< DerivedField, Real, NumDimensions, Tensor >
 
using parent_type = polymorphic::field< Real, NumDimensions, Tensor >
 
using pos_type = vec< real_type, NumDimensions >
 
using real_type = Real
 
using tensor_type = Tensor
 
- Public Types inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
using real_type = Real
 
using tensor_type = Tensor
 
using this_type = field< real_type, NumDimensions, Tensor >
 
using pos_type = vec< real_type, NumDimensions >
 

Public Member Functions

constexpr doublegyre (Real const epsilon=0.25, Real const omega=2 *pi *0.1, Real const A=0.1) noexcept
 
constexpr doublegyre (doublegyre const &)=default
 
constexpr doublegyre (doublegyre &&) noexcept=default
 
constexpr auto operator= (doublegyre const &) -> doublegyre &=default
 
constexpr auto operator= (doublegyre &&) noexcept -> doublegyre &=default
 
 ~doublegyre () override=default
 
constexpr auto evaluate (fixed_size_vec< 2 > auto const &x, Real const t) const -> tensor_type
 
constexpr auto set_infinite_domain (bool const v=true)
 
constexpr auto epsilon () const
 
constexpr auto epsilon () -> auto &
 
constexpr auto set_epsilon (Real const epsilon)
 
constexpr auto omega () const
 
constexpr auto omega () -> auto &
 
constexpr auto set_omega (Real const omega)
 
constexpr auto A () const
 
constexpr auto A () -> auto &
 
constexpr auto set_A (Real const A)
 
- Public Member Functions inherited from tatooine::field< DerivedField, Real, NumDimensions, Tensor >
 field ()=default
 
 field (field const &)=default
 
 field (field &&) noexcept=default
 
auto operator= (field const &) -> field &=default
 
auto operator= (field &&) noexcept -> field &=default
 
virtual ~field ()=default
 
auto as_derived () -> auto &
 
auto as_derived () const -> auto const &
 
auto evaluate (pos_type const &x, real_type const t) const -> tensor_type override
 
- Public Member Functions inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
constexpr field ()=default
 
constexpr field (field const &)=default
 
constexpr field (field &&) noexcept=default
 
constexpr auto operator= (field const &) -> field &=default
 
constexpr auto operator= (field &&) noexcept -> field &=default
 
virtual ~field ()=default
 
virtual constexpr auto evaluate (pos_type const &, real_type const) const -> tensor_type=0
 
constexpr auto evaluate (fixed_size_vec< NumDimensions > auto const &x) const -> tensor_type
 
constexpr auto operator() (fixed_size_vec< NumDimensions > auto const &x, real_type const t) const -> tensor_type
 
constexpr auto operator() (fixed_size_vec< NumDimensions > auto const &x) const -> tensor_type
 
constexpr auto operator() (arithmetic auto const ... xs) const -> tensor_type
 

Public Attributes

Real m_epsilon
 
Real m_omega
 
Real m_A
 
bool m_infinite_domain = false
 

Static Public Attributes

static constexpr auto pi = std::numbers::template pi_v<Real>
 

Additional Inherited Members

- Static Public Member Functions inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
static auto constexpr ood_tensor ()
 
static auto constexpr ood_position ()
 
static constexpr auto is_field ()
 
static constexpr auto is_scalarfield ()
 
static constexpr auto is_vectorfield ()
 
static constexpr auto is_matrixfield ()
 
static constexpr auto num_dimensions () -> std::size_t
 
static constexpr auto num_tensor_components ()
 
static constexpr auto tensor_rank ()
 
static constexpr auto tensor_dimension (std::size_t i)
 

Detailed Description

template<typename Real>
struct tatooine::analytical::numerical::doublegyre< Real >

Double Gyre dataset.

Member Typedef Documentation

◆ parent_type

template<typename Real >
using tatooine::analytical::numerical::doublegyre< Real >::parent_type = vectorfield<this_type, Real, 2>

◆ this_type

template<typename Real >
using tatooine::analytical::numerical::doublegyre< Real >::this_type = doublegyre<Real>

Constructor & Destructor Documentation

◆ doublegyre() [1/3]

template<typename Real >
constexpr tatooine::analytical::numerical::doublegyre< Real >::doublegyre ( Real const  epsilon = 0.25,
Real const  omega = 2 * pi * 0.1,
Real const  A = 0.1 
)
inlineexplicitconstexprnoexcept

◆ doublegyre() [2/3]

template<typename Real >
constexpr tatooine::analytical::numerical::doublegyre< Real >::doublegyre ( doublegyre< Real > const &  )
constexprdefault

◆ doublegyre() [3/3]

template<typename Real >
constexpr tatooine::analytical::numerical::doublegyre< Real >::doublegyre ( doublegyre< Real > &&  )
constexprdefaultnoexcept

◆ ~doublegyre()

template<typename Real >
tatooine::analytical::numerical::doublegyre< Real >::~doublegyre ( )
overridedefault

Member Function Documentation

◆ A() [1/2]

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::A ( ) -> auto&
inlineconstexpr

◆ A() [2/2]

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::A ( ) const
inlineconstexpr

◆ epsilon() [1/2]

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::epsilon ( ) -> auto&
inlineconstexpr

◆ epsilon() [2/2]

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::epsilon ( ) const
inlineconstexpr

◆ evaluate()

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::evaluate ( fixed_size_vec< 2 > auto const &  x,
Real const  t 
) const -> tensor_type
inlineconstexpr

◆ omega() [1/2]

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::omega ( ) -> auto&
inlineconstexpr

◆ omega() [2/2]

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::omega ( ) const
inlineconstexpr

◆ operator=() [1/2]

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::operator= ( doublegyre< Real > &&  ) -> doublegyre &=default
constexprdefaultnoexcept

◆ operator=() [2/2]

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::operator= ( doublegyre< Real > const &  ) -> doublegyre &=default
constexprdefault

◆ set_A()

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::set_A ( Real const  A)
inlineconstexpr

◆ set_epsilon()

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::set_epsilon ( Real const  epsilon)
inlineconstexpr

◆ set_infinite_domain()

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::set_infinite_domain ( bool const  v = true)
inlineconstexpr

◆ set_omega()

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::set_omega ( Real const  omega)
inlineconstexpr

Member Data Documentation

◆ m_A

template<typename Real >
Real tatooine::analytical::numerical::doublegyre< Real >::m_A

◆ m_epsilon

template<typename Real >
Real tatooine::analytical::numerical::doublegyre< Real >::m_epsilon

◆ m_infinite_domain

template<typename Real >
bool tatooine::analytical::numerical::doublegyre< Real >::m_infinite_domain = false

◆ m_omega

template<typename Real >
Real tatooine::analytical::numerical::doublegyre< Real >::m_omega

◆ pi

template<typename Real >
constexpr auto tatooine::analytical::numerical::doublegyre< Real >::pi = std::numbers::template pi_v<Real>
staticconstexpr

The documentation for this struct was generated from the following file: