Tatooine
Public Types | Public Member Functions | Private Attributes | List of all members
tatooine::detail::autonomous_particle::sampler< Real, NumDimensions > Struct Template Reference

#include <sampler.h>

Collaboration diagram for tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >:
[legend]

Public Types

using vec_type = vec< Real, NumDimensions >
 
using pos_type = vec_type
 
using mat_type = mat< Real, NumDimensions, NumDimensions >
 
using ellipse_type = tatooine::geometry::hyper_ellipse< Real, NumDimensions >
 

Public Member Functions

 sampler (sampler const &)=default
 
 sampler (sampler &&) noexcept=default
 
auto operator= (sampler const &) -> sampler &=default
 
auto operator= (sampler &&) noexcept -> sampler &=default
 
 sampler ()=default
 
 ~sampler ()=default
 
 sampler (ellipse_type const &e0, ellipse_type const &e1, mat_type const &nabla_phi)
 
auto local_pos (pos_type const &q, forward_or_backward_tag auto const tag) const
 
auto sample (pos_type const &q, forward_or_backward_tag auto const tag) const
 
auto operator() (pos_type const &q, forward_or_backward_tag auto const tag) const
 
auto is_inside (pos_type const &q, forward_or_backward_tag auto const tag) const
 
auto x0 (forward_or_backward_tag auto const tag) const -> auto const &
 
auto phi (forward_or_backward_tag auto const tag) const -> auto const &
 
auto distance_sqr (pos_type const &q, forward_or_backward_tag auto const tag) const
 
auto distance (pos_type const &q, auto const tag) const
 
auto S (forward_or_backward_tag auto const tag) const -> auto const &
 
auto discretize (std::size_t const n, forward_or_backward_tag auto const tag) const
 
auto ellipse (forward_tag const) const -> auto const &
 
auto ellipse (backward_tag const) const -> auto const &
 
auto nabla_phi (forward_tag const) const -> auto const &
 
auto nabla_phi (backward_tag const) const -> auto const &
 

Private Attributes

ellipse_type m_ellipse0
 
ellipse_type m_ellipse1
 
mat_type m_nabla_phi0
 
mat_type m_nabla_phi1
 

Member Typedef Documentation

◆ ellipse_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::ellipse_type = tatooine::geometry::hyper_ellipse<Real, NumDimensions>

◆ mat_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::mat_type = mat<Real, NumDimensions, NumDimensions>

◆ pos_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::pos_type = vec_type

◆ vec_type

template<floating_point Real, std::size_t NumDimensions>
using tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::vec_type = vec<Real, NumDimensions>

Constructor & Destructor Documentation

◆ sampler() [1/4]

template<floating_point Real, std::size_t NumDimensions>
tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::sampler ( sampler< Real, NumDimensions > const &  )
default

◆ sampler() [2/4]

template<floating_point Real, std::size_t NumDimensions>
tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::sampler ( sampler< Real, NumDimensions > &&  )
defaultnoexcept

◆ sampler() [3/4]

template<floating_point Real, std::size_t NumDimensions>
tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::sampler ( )
default

◆ ~sampler()

template<floating_point Real, std::size_t NumDimensions>
tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::~sampler ( )
default

◆ sampler() [4/4]

template<floating_point Real, std::size_t NumDimensions>
tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::sampler ( ellipse_type const &  e0,
ellipse_type const &  e1,
mat_type const &  nabla_phi 
)
inline

Member Function Documentation

◆ discretize()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::discretize ( std::size_t const  n,
forward_or_backward_tag auto const  tag 
) const
inline

◆ distance()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::distance ( pos_type const &  q,
auto const  tag 
) const
inline

◆ distance_sqr()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::distance_sqr ( pos_type const &  q,
forward_or_backward_tag auto const  tag 
) const
inline

◆ ellipse() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::ellipse ( backward_tag const  ) const -> auto const&
inline

◆ ellipse() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::ellipse ( forward_tag const  ) const -> auto const&
inline

◆ is_inside()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::is_inside ( pos_type const &  q,
forward_or_backward_tag auto const  tag 
) const
inline

◆ local_pos()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::local_pos ( pos_type const &  q,
forward_or_backward_tag auto const  tag 
) const
inline

◆ nabla_phi() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::nabla_phi ( backward_tag const  ) const -> auto const&
inline

◆ nabla_phi() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::nabla_phi ( forward_tag const  ) const -> auto const&
inline

◆ operator()()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::operator() ( pos_type const &  q,
forward_or_backward_tag auto const  tag 
) const
inline

◆ operator=() [1/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::operator= ( sampler< Real, NumDimensions > &&  ) -> sampler &=default
defaultnoexcept

◆ operator=() [2/2]

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::operator= ( sampler< Real, NumDimensions > const &  ) -> sampler &=default
default

◆ phi()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::phi ( forward_or_backward_tag auto const  tag) const -> auto const&
inline

◆ S()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::S ( forward_or_backward_tag auto const  tag) const -> auto const&
inline

◆ sample()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::sample ( pos_type const &  q,
forward_or_backward_tag auto const  tag 
) const
inline

◆ x0()

template<floating_point Real, std::size_t NumDimensions>
auto tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::x0 ( forward_or_backward_tag auto const  tag) const -> auto const&
inline

Member Data Documentation

◆ m_ellipse0

template<floating_point Real, std::size_t NumDimensions>
ellipse_type tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::m_ellipse0
private

◆ m_ellipse1

template<floating_point Real, std::size_t NumDimensions>
ellipse_type tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::m_ellipse1
private

◆ m_nabla_phi0

template<floating_point Real, std::size_t NumDimensions>
mat_type tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::m_nabla_phi0
private

◆ m_nabla_phi1

template<floating_point Real, std::size_t NumDimensions>
mat_type tatooine::detail::autonomous_particle::sampler< Real, NumDimensions >::m_nabla_phi1
private

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