Tatooine
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior > Struct Template Reference

#include <autonomous_particle_flowmap_discretization.h>

Collaboration diagram for tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >:
[legend]

Public Types

using this_type = autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >
 
using real_type = Real
 
using vec_type = vec< real_type, NumDimensions >
 
using pos_type = vec_type
 
using gradient_type = mat< real_type, NumDimensions, NumDimensions >
 
using particle_type = autonomous_particle< real_type, NumDimensions >
 
using particle_list_type = std::vector< particle_type >
 
using pointset_type = tatooine::pointset< Real, NumDimensions >
 
using vertex_handle = typename pointset_type::vertex_handle
 
using flowmap_vertex_property_type = typename pointset_type::template typed_vertex_property_type< pos_type >
 
using flowmap_gradient_vertex_property_type = typename pointset_type::template typed_vertex_property_type< gradient_type >
 
using cgal_kernel = CGAL::Exact_predicates_inexact_constructions_kernel
 
using cgal_triangulation_type = std::conditional_t< NumDimensions==2, cgal::delaunay_triangulation_with_info< 2, vertex_handle, cgal_kernel >, std::conditional_t< NumDimensions==3, cgal::delaunay_triangulation_with_info< 3, vertex_handle, cgal_kernel, cgal::delaunay_triangulation_simplex_base_with_circumcenter< 3, cgal_kernel > >, void > >
 
using cgal_triangulation_ptr_type = std::unique_ptr< cgal_triangulation_type >
 
using cgal_point = typename cgal_triangulation_type::Point
 

Public Member Functions

auto pointset (forward_or_backward_tag auto const direction) -> auto &
 
auto pointset (forward_or_backward_tag auto const direction) const -> auto const &
 
auto flowmaps (forward_or_backward_tag auto const direction) -> auto &
 
auto flowmaps (forward_or_backward_tag auto const direction) const -> auto const &
 
auto flowmap_gradients (forward_or_backward_tag auto const direction) -> auto &
 
auto flowmap_gradients (forward_or_backward_tag auto const direction) const -> auto const &
 
auto triangulation (forward_or_backward_tag auto const direction) -> auto &
 
auto triangulation (forward_or_backward_tag auto const direction) const -> auto const &
 
 autonomous_particle_flowmap_discretization (filesystem::path const &p)
 
 autonomous_particle_flowmap_discretization (autonomous_particle_flowmap_discretization const &other)
 
 autonomous_particle_flowmap_discretization (autonomous_particle_flowmap_discretization &&other)
 
auto operator= (autonomous_particle_flowmap_discretization const &other) -> autonomous_particle_flowmap_discretization &
 
auto operator= (autonomous_particle_flowmap_discretization &&other) -> autonomous_particle_flowmap_discretization &
 
template<typename Flowmap >
 autonomous_particle_flowmap_discretization (Flowmap &&flowmap, arithmetic auto const t_end, arithmetic auto const tau_step, particle_list_type const &initial_particles, std::atomic_uint64_t &uuid_generator)
 
template<typename Flowmap >
 autonomous_particle_flowmap_discretization (Flowmap &&flowmap, arithmetic auto const t0, arithmetic auto const tau, arithmetic auto const tau_step, uniform_rectilinear_grid< real_type, NumDimensions > const &g, std::uint8_t const max_split_depth=particle_type::default_max_split_depth)
 
template<typename Flowmap >
 autonomous_particle_flowmap_discretization (Flowmap &&flowmap, arithmetic auto const t_end, arithmetic auto const tau_step, particle_type const &initial_particle, std::atomic_uint64_t &uuid_generator)
 
 ~autonomous_particle_flowmap_discretization ()
 
auto num_particles () const -> std::size_t
 
auto write (filesystem::path const &p) const
 
auto read (filesystem::path const &p)
 
template<std::size_t... Seq>
auto read (filesystem::path const &p, std::index_sequence< Seq... >)
 
auto sample (pos_type const &q, forward_or_backward_tag auto const direction) const
 
template<std::size_t... Is>
auto sample (pos_type const &q, forward_or_backward_tag auto const direction, std::index_sequence< Is... >) const
 
auto operator() (pos_type const &q, forward_or_backward_tag auto direction) const
 

Static Public Member Functions

static constexpr auto num_dimensions ()
 
static auto from_advected (std::vector< particle_type > const &advected_particles) -> this_type
 

Private Member Functions

 autonomous_particle_flowmap_discretization ()
 
auto copy (autonomous_particle_flowmap_discretization const &other)
 
template<std::size_t... Seq>
auto copy (autonomous_particle_flowmap_discretization const &other, std::index_sequence< Seq... >)
 
template<typename Flowmap >
auto fill (Flowmap &&flowmap, range auto const &initial_particles, arithmetic auto const t_end, arithmetic auto const tau_step, std::atomic_uint64_t &uuid_generator)
 
template<typename Flowmap , std::size_t... Is>
auto fill (Flowmap &&flowmap, range auto const &initial_particles, arithmetic auto const t_end, arithmetic auto const tau_step, std::atomic_uint64_t &uuid_generator, std::index_sequence< Is... >)
 

Static Private Member Functions

template<std::size_t... Is>
static auto from_advected (std::vector< particle_type > const &advected_particles, std::index_sequence< Is... >) -> this_type
 

Private Attributes

pointset_type m_pointset_forward
 
flowmap_vertex_property_typem_flowmaps_forward = nullptr
 
flowmap_gradient_vertex_property_typem_flowmap_gradients_forward = nullptr
 
cgal_triangulation_ptr_type m_triangulation_forward
 
pointset_type m_pointset_backward
 
flowmap_vertex_property_typem_flowmaps_backward = nullptr
 
flowmap_gradient_vertex_property_typem_flowmap_gradients_backward = nullptr
 
cgal_triangulation_ptr_type m_triangulation_backward
 

Member Typedef Documentation

◆ cgal_kernel

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::cgal_kernel = CGAL::Exact_predicates_inexact_constructions_kernel

◆ cgal_point

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::cgal_point = typename cgal_triangulation_type::Point

◆ cgal_triangulation_ptr_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::cgal_triangulation_ptr_type = std::unique_ptr<cgal_triangulation_type>

◆ cgal_triangulation_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::cgal_triangulation_type = std::conditional_t< NumDimensions == 2, cgal::delaunay_triangulation_with_info<2, vertex_handle, cgal_kernel>, std::conditional_t< NumDimensions == 3, cgal::delaunay_triangulation_with_info< 3, vertex_handle, cgal_kernel, cgal::delaunay_triangulation_simplex_base_with_circumcenter< 3, cgal_kernel> >, void> >

◆ flowmap_gradient_vertex_property_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::flowmap_gradient_vertex_property_type = typename pointset_type::template typed_vertex_property_type< gradient_type>

◆ flowmap_vertex_property_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::flowmap_vertex_property_type = typename pointset_type::template typed_vertex_property_type<pos_type>

◆ gradient_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::gradient_type = mat<real_type, NumDimensions, NumDimensions>

◆ particle_list_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::particle_list_type = std::vector<particle_type>

◆ particle_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::particle_type = autonomous_particle<real_type, NumDimensions>

◆ pointset_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::pointset_type = tatooine::pointset<Real, NumDimensions>

◆ pos_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::pos_type = vec_type

◆ real_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::real_type = Real

◆ this_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::this_type = autonomous_particle_flowmap_discretization<Real, NumDimensions, SplitBehavior>

◆ vec_type

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::vec_type = vec<real_type, NumDimensions>

◆ vertex_handle

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
using tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::vertex_handle = typename pointset_type::vertex_handle

Constructor & Destructor Documentation

◆ autonomous_particle_flowmap_discretization() [1/7]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::autonomous_particle_flowmap_discretization ( )
inlineprivate

◆ autonomous_particle_flowmap_discretization() [2/7]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::autonomous_particle_flowmap_discretization ( filesystem::path const &  p)
inline

◆ autonomous_particle_flowmap_discretization() [3/7]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::autonomous_particle_flowmap_discretization ( autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior > const &  other)
inline

◆ autonomous_particle_flowmap_discretization() [4/7]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::autonomous_particle_flowmap_discretization ( autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior > &&  other)
inline

◆ autonomous_particle_flowmap_discretization() [5/7]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<typename Flowmap >
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::autonomous_particle_flowmap_discretization ( Flowmap &&  flowmap,
arithmetic auto const  t_end,
arithmetic auto const  tau_step,
particle_list_type const &  initial_particles,
std::atomic_uint64_t &  uuid_generator 
)
inline

◆ autonomous_particle_flowmap_discretization() [6/7]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<typename Flowmap >
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::autonomous_particle_flowmap_discretization ( Flowmap &&  flowmap,
arithmetic auto const  t0,
arithmetic auto const  tau,
arithmetic auto const  tau_step,
uniform_rectilinear_grid< real_type, NumDimensions > const &  g,
std::uint8_t const  max_split_depth = particle_type::default_max_split_depth 
)
inline

◆ autonomous_particle_flowmap_discretization() [7/7]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<typename Flowmap >
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::autonomous_particle_flowmap_discretization ( Flowmap &&  flowmap,
arithmetic auto const  t_end,
arithmetic auto const  tau_step,
particle_type const &  initial_particle,
std::atomic_uint64_t &  uuid_generator 
)
inline

◆ ~autonomous_particle_flowmap_discretization()

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::~autonomous_particle_flowmap_discretization ( )
inline

Member Function Documentation

◆ copy() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::copy ( autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior > const &  other)
inlineprivate

◆ copy() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<std::size_t... Seq>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::copy ( autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior > const &  other,
std::index_sequence< Seq... >   
)
inlineprivate

◆ fill() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<typename Flowmap >
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::fill ( Flowmap &&  flowmap,
range auto const &  initial_particles,
arithmetic auto const  t_end,
arithmetic auto const  tau_step,
std::atomic_uint64_t &  uuid_generator 
)
inlineprivate

◆ fill() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<typename Flowmap , std::size_t... Is>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::fill ( Flowmap &&  flowmap,
range auto const &  initial_particles,
arithmetic auto const  t_end,
arithmetic auto const  tau_step,
std::atomic_uint64_t &  uuid_generator,
std::index_sequence< Is... >   
)
inlineprivate

◆ flowmap_gradients() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::flowmap_gradients ( forward_or_backward_tag auto const  direction) -> auto &
inline

◆ flowmap_gradients() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::flowmap_gradients ( forward_or_backward_tag auto const  direction) const -> auto const &
inline

◆ flowmaps() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::flowmaps ( forward_or_backward_tag auto const  direction) -> auto &
inline

◆ flowmaps() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::flowmaps ( forward_or_backward_tag auto const  direction) const -> auto const &
inline

◆ from_advected() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
static auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::from_advected ( std::vector< particle_type > const &  advected_particles) -> this_type
inlinestatic

◆ from_advected() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<std::size_t... Is>
static auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::from_advected ( std::vector< particle_type > const &  advected_particles,
std::index_sequence< Is... >   
) -> this_type
inlinestaticprivate

◆ num_dimensions()

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
static constexpr auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::num_dimensions ( )
inlinestaticconstexpr

◆ num_particles()

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::num_particles ( ) const -> std::size_t
inline

◆ operator()()

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::operator() ( pos_type const &  q,
forward_or_backward_tag auto  direction 
) const
inline

◆ operator=() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::operator= ( autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior > &&  other) -> autonomous_particle_flowmap_discretization &
inline

◆ operator=() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::operator= ( autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior > const &  other) -> autonomous_particle_flowmap_discretization &
inline

◆ pointset() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::pointset ( forward_or_backward_tag auto const  direction) -> auto &
inline

◆ pointset() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::pointset ( forward_or_backward_tag auto const  direction) const -> auto const &
inline

◆ read() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::read ( filesystem::path const &  p)
inline

◆ read() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<std::size_t... Seq>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::read ( filesystem::path const &  p,
std::index_sequence< Seq... >   
)
inline

◆ sample() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::sample ( pos_type const &  q,
forward_or_backward_tag auto const  direction 
) const
inline

◆ sample() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
template<std::size_t... Is>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::sample ( pos_type const &  q,
forward_or_backward_tag auto const  direction,
std::index_sequence< Is... >   
) const
inline

◆ triangulation() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::triangulation ( forward_or_backward_tag auto const  direction) -> auto &
inline

◆ triangulation() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::triangulation ( forward_or_backward_tag auto const  direction) const -> auto const &
inline

◆ write()

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
auto tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::write ( filesystem::path const &  p) const
inline

Member Data Documentation

◆ m_flowmap_gradients_backward

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
flowmap_gradient_vertex_property_type* tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::m_flowmap_gradients_backward = nullptr
private

◆ m_flowmap_gradients_forward

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
flowmap_gradient_vertex_property_type* tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::m_flowmap_gradients_forward = nullptr
private

◆ m_flowmaps_backward

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
flowmap_vertex_property_type* tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::m_flowmaps_backward = nullptr
private

◆ m_flowmaps_forward

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
flowmap_vertex_property_type* tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::m_flowmaps_forward = nullptr
private

◆ m_pointset_backward

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
pointset_type tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::m_pointset_backward
private

◆ m_pointset_forward

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
pointset_type tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::m_pointset_forward
private

◆ m_triangulation_backward

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
cgal_triangulation_ptr_type tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::m_triangulation_backward
private

◆ m_triangulation_forward

template<floating_point Real, std::size_t NumDimensions, typename SplitBehavior = typename autonomous_particle< Real, NumDimensions>::split_behaviors::three_splits>
cgal_triangulation_ptr_type tatooine::autonomous_particle_flowmap_discretization< Real, NumDimensions, SplitBehavior >::m_triangulation_forward
private

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