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

#include <duffing_oscillator.h>

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

Public Types

using this_type = duffing_oscillator< 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 duffing_oscillator (Real delta, Real alpha, Real beta) noexcept
 
constexpr auto evaluate (const pos_type &x, Real) const -> tensor_type override
 
constexpr auto in_domain (const pos_type &, Real) const -> bool override
 
auto alpha () -> auto &
 
auto alpha () const
 
auto beta () -> auto &
 
auto beta () const
 
auto delta () -> auto &
 
auto delta () const
 
- 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_delta
 
Real m_alpha
 
Real m_beta
 

Static Public Attributes

static constexpr auto pi = boost::math::constants::pi<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)
 

Member Typedef Documentation

◆ parent_type

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

◆ this_type

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

Constructor & Destructor Documentation

◆ duffing_oscillator()

template<typename Real >
constexpr tatooine::analytical::numerical::duffing_oscillator< Real >::duffing_oscillator ( Real  delta,
Real  alpha,
Real  beta 
)
inlineconstexprnoexcept

Member Function Documentation

◆ alpha() [1/2]

template<typename Real >
auto tatooine::analytical::numerical::duffing_oscillator< Real >::alpha ( ) -> auto&
inline

◆ alpha() [2/2]

template<typename Real >
auto tatooine::analytical::numerical::duffing_oscillator< Real >::alpha ( ) const
inline

◆ beta() [1/2]

template<typename Real >
auto tatooine::analytical::numerical::duffing_oscillator< Real >::beta ( ) -> auto&
inline

◆ beta() [2/2]

template<typename Real >
auto tatooine::analytical::numerical::duffing_oscillator< Real >::beta ( ) const
inline

◆ delta() [1/2]

template<typename Real >
auto tatooine::analytical::numerical::duffing_oscillator< Real >::delta ( ) -> auto&
inline

◆ delta() [2/2]

template<typename Real >
auto tatooine::analytical::numerical::duffing_oscillator< Real >::delta ( ) const
inline

◆ evaluate()

template<typename Real >
constexpr auto tatooine::analytical::numerical::duffing_oscillator< Real >::evaluate ( const pos_type x,
Real   
) const -> tensor_type
inlineconstexproverridevirtual

◆ in_domain()

template<typename Real >
constexpr auto tatooine::analytical::numerical::duffing_oscillator< Real >::in_domain ( const pos_type ,
Real   
) const -> bool
inlineconstexproverride

Member Data Documentation

◆ m_alpha

template<typename Real >
Real tatooine::analytical::numerical::duffing_oscillator< Real >::m_alpha

◆ m_beta

template<typename Real >
Real tatooine::analytical::numerical::duffing_oscillator< Real >::m_beta

◆ m_delta

template<typename Real >
Real tatooine::analytical::numerical::duffing_oscillator< Real >::m_delta

◆ pi

template<typename Real >
constexpr auto tatooine::analytical::numerical::duffing_oscillator< Real >::pi = boost::math::constants::pi<Real>()
staticconstexpr

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