|
| autonomous_particle (autonomous_particle const &other)=default |
| { More...
|
|
| autonomous_particle (autonomous_particle &&other) noexcept=default |
|
auto | operator= (autonomous_particle const &other) -> autonomous_particle &=default |
|
auto | operator= (autonomous_particle &&other) noexcept -> autonomous_particle &=default |
|
| ~autonomous_particle ()=default |
|
| autonomous_particle (ellipse_type const &ell, real_type const t, std::uint64_t const id) |
|
| autonomous_particle (ellipse_type const &ell, real_type const t, std::atomic_uint64_t &uuid_generator) |
|
| autonomous_particle (ellipse_type const &ell, real_type const t, std::uint8_t max_split_depth, std::uint64_t const id) |
|
| autonomous_particle (ellipse_type const &ell, real_type const t, std::uint8_t max_split_depth, std::atomic_uint64_t &uuid_generator) |
|
| autonomous_particle (pos_type const &x, real_type const t, real_type const r, std::uint64_t const id) |
|
| autonomous_particle (pos_type const &x, real_type const t, real_type const r, std::atomic_uint64_t &uuid_generator) |
|
| autonomous_particle (pos_type const &x, real_type const t, real_type const r, std::uint8_t max_split_depth, std::uint64_t const id) |
|
| autonomous_particle (pos_type const &x, real_type const t, real_type const r, std::uint8_t max_split_depth, std::atomic_uint64_t &uuid_generator) |
|
| autonomous_particle (ellipse_type const &ell, real_type const t, pos_type const &x0, mat_type const &nabla_phi, std::uint8_t const split_depth, std::uint8_t const max_split_depth, std::uint64_t const id) |
|
| autonomous_particle (ellipse_type const &ell, real_type const t, pos_type const &x0, mat_type const &nabla_phi, std::uint8_t const split_depth, std::uint8_t const max_split_depth, std::atomic_uint64_t &uuid_generator) |
|
auto | x0 () -> auto & |
|
auto | x0 () const -> auto const & |
|
auto | x0 (std::size_t i) const |
|
auto | x () -> auto & |
|
auto | x () const -> auto const & |
|
auto | x (std::size_t const i) const |
|
auto | t () -> auto & |
|
auto | t () const |
|
auto | nabla_phi () const -> auto const & |
|
auto | S0 () const |
|
auto | initial_ellipse () const |
|
auto | split_depth () const |
|
auto | max_split_depth () const |
|
auto | id () const |
|
template<split_behavior SplitBehavior, typename Flowmap > |
auto | advect (Flowmap &&phi, real_type const stepwidth, real_type const t_end, std::atomic_uint64_t &uuid_generator) const |
|
template<typename Flowmap > |
auto | advect_with_two_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, std::atomic_uint64_t &uuid_generator) const |
| Advects single particle. More...
|
|
template<typename Flowmap > |
auto | advect_with_three_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, std::atomic_uint64_t &uuid_generator) const |
| Advects single particle. More...
|
|
template<typename Flowmap > |
auto | advect_with_three_and_four_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, std::atomic_uint64_t &uuid_generator) const |
| Advects single particle. More...
|
|
template<typename Flowmap > |
auto | advect_with_five_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, std::atomic_uint64_t &uuid_generator) const |
| Advects single particle. More...
|
|
template<typename Flowmap > |
auto | advect_with_seven_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, std::atomic_uint64_t &uuid_generator) const |
| Advects single particle. More...
|
|
template<split_behavior SplitBehavior = typename split_behaviors::three_splits, typename Flowmap > |
auto | advect_until_split (Flowmap phi, real_type stepwidth, real_type const t_end, container_type &splitted_particles, container_type &finished_particles, simple_particle_container_type &simple_particles, std::vector< hierarchy_pair > &, std::mutex &, std::atomic_uint64_t &uuid_generator) const |
|
auto | sampler () const |
|
auto | discretize (std::size_t const n, forward_tag const) const |
|
auto | discretize (std::size_t const n, backward_tag const) const |
|
auto | center () const -> auto const & |
|
auto | center () -> auto & |
|
auto | center (std::size_t const i) const |
|
auto | center (std::size_t const i) -> auto & |
|
auto | discretize (std::size_t const num_vertices=32) const |
|
auto | discretize (std::size_t const num_subdivisions=2) const |
|
auto | S () const -> auto const & |
|
auto | S () -> auto & |
|
constexpr | hyper_ellipse () |
| defaults to unit hypersphere More...
|
|
constexpr | hyper_ellipse (hyper_ellipse const &)=default |
|
constexpr | hyper_ellipse (hyper_ellipse &&) noexcept=default |
|
constexpr auto | operator= (hyper_ellipse const &) -> hyper_ellipse &=default |
|
constexpr auto | operator= (hyper_ellipse &&) noexcept -> hyper_ellipse &=default |
|
| ~hyper_ellipse ()=default |
|
constexpr | hyper_ellipse (Real const radius) |
| Sets up a sphere with specified radius. More...
|
|
constexpr | hyper_ellipse (Real const radius, vec_type const ¢er) |
| Sets up a sphere with specified radius and origin point. More...
|
|
constexpr | hyper_ellipse (vec_type const ¢er, Real const radius) |
| Sets up a sphere with specified radius and origin point. More...
|
|
constexpr | hyper_ellipse (fixed_size_vec< NumDimensions > auto const ¢er, fixed_size_quadratic_mat< NumDimensions > auto const &S) |
| Sets up a sphere with specified radius and origin point. More...
|
|
constexpr | hyper_ellipse (vec_type const ¢er, arithmetic auto const ... radii) |
| Sets up a sphere with specified radii. More...
|
|
constexpr | hyper_ellipse (arithmetic auto const ... radii) |
| Sets up a sphere with specified radii. More...
|
|
constexpr | hyper_ellipse (fixed_size_vec< NumDimensions > auto const &...points) |
| Fits an ellipse through specified points. More...
|
|
constexpr | hyper_ellipse (fixed_size_quadratic_mat< NumDimensions > auto const &H) |
| Fits an ellipse through specified points. More...
|
|
auto | S () const -> auto const & |
|
auto | S () -> auto & |
|
auto | center () const -> auto const & |
|
auto | center () -> auto & |
|
auto | center (std::size_t const i) const |
|
auto | center (std::size_t const i) -> auto & |
|
auto | local_coordinate (pos_type const &x) const |
|
auto | squared_euclidean_distance_to_center (pos_type const &x) const |
|
auto | euclidean_distance_to_center (pos_type const &x) const |
|
auto | squared_local_euclidean_distance_to_center (pos_type const &x) const |
|
auto | local_distance_to_center (pos_type const &x) const |
|
constexpr auto | distance_to_boundary (pos_type const &x) const |
| Computes euclidean distance to nearest boundary point. More...
|
|
auto | local_nearest_point_boundary (pos_type const &x) const |
|
auto | nearest_point_boundary (pos_type const &x) const |
|
constexpr auto | fit (fixed_size_vec< NumDimensions > auto const &...points) |
| Fits an ellipse through specified points. More...
|
|
constexpr auto | fit (fixed_size_quadratic_mat< NumDimensions > auto const &H) |
|
template<typename V , typename VReal > |
constexpr auto | nearest_point_on_boundary (base_tensor< V, VReal, NumDimensions > const &x) const |
|
constexpr auto | is_inside (pos_type const &x) const |
|
auto | discretize (std::size_t const num_vertices=32) const |
|
auto | discretize (std::size_t const num_subdivisions=2) const |
|
auto | main_axes () const |
|
auto | radii () const |
| Returns a the radii of the hyper ellipse as a vector. More...
|
|
auto | base_coordinate_system () const |
| Returns a the radii of the hyper ellipse as a vector. More...
|
|
|
static constexpr auto | num_dimensions () -> std::size_t |
|
template<split_behavior SplitBehavior, typename Flowmap > |
static auto | advect (Flowmap &&phi, real_type const stepwidth, real_type const t_end, container_type const &initial_particles, std::atomic_uint64_t &uuid_generator) |
|
template<typename Flowmap > |
static auto | advect_with_two_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, container_type const &initial_particles, std::atomic_uint64_t &uuid_generator) |
|
template<typename Flowmap > |
static auto | advect_with_three_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, container_type const &initial_particles, std::atomic_uint64_t &uuid_generator) |
|
template<typename Flowmap > |
static auto | advect_with_three_and_four_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, container_type const &initial_particles, std::atomic_uint64_t &uuid_generator) |
|
template<typename Flowmap > |
static auto | advect_with_five_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, container_type const &initial_particles, std::atomic_uint64_t &uuid_generator) |
|
template<typename Flowmap > |
static auto | advect_with_seven_splits (Flowmap &&phi, real_type const stepwidth, real_type const t_end, container_type const &initial_particles, std::atomic_uint64_t &uuid_generator) |
|
static auto | particles_from_grid (real_type const t0, uniform_rectilinear_grid< Real, NumDimensions > const &g, std::atomic_uint64_t &uuid_generator) |
|
static auto | particles_from_grid (real_type const t0, uniform_rectilinear_grid< Real, NumDimensions > const &g, std::uint8_t const max_split_depth, std::atomic_uint64_t &uuid_generator) |
|
static auto | particles_from_grid_small_filling_gaps (real_type const t0, uniform_rectilinear_grid< Real, NumDimensions > const &g, std::atomic_uint64_t &uuid_generator) |
|
static auto | particles_from_grid_small_filling_gaps (real_type const t0, uniform_rectilinear_grid< Real, NumDimensions > const &g, std::uint8_t const max_split_depth, std::atomic_uint64_t &uuid_generator) |
|
static auto | particles_from_grid_filling_gaps (real_type const t0, uniform_rectilinear_grid< Real, NumDimensions > const &g, std::atomic_uint64_t &uuid_generator) |
|
static auto | particles_from_grid_filling_gaps (real_type const t0, uniform_rectilinear_grid< Real, NumDimensions > const &g, std::uint8_t const max_split_depth, std::atomic_uint64_t &uuid_generator) |
|
template<std::size_t... Is> |
static auto | particles_from_grid_filling_gaps (real_type const t0, uniform_rectilinear_grid< Real, NumDimensions > const &g, std::uint8_t const max_split_depth, std::atomic_uint64_t &uuid_generator, std::index_sequence< Is... >) |
|
template<split_behavior SplitBehavior, typename Flowmap > |
static auto | advect (Flowmap &&phi, real_type const stepwidth, real_type const t0, real_type const t_end, uniform_rectilinear_grid< Real, NumDimensions > const &g) |
|
template<typename Flowmap > |
static auto | advect_with_two_splits (Flowmap &&phi, real_type const stepwidth, real_type const t0, real_type const t_end, uniform_rectilinear_grid< Real, NumDimensions > const &g) |
|
template<typename Flowmap > |
static auto | advect_with_three_splits (Flowmap &&phi, real_type const stepwidth, real_type const t0, real_type const t_end, uniform_rectilinear_grid< Real, NumDimensions > const &g) |
|
template<typename Flowmap > |
static auto | advect_with_three_and_four_splits (Flowmap &&phi, real_type const stepwidth, real_type const t0, real_type const t_end, uniform_rectilinear_grid< Real, NumDimensions > const &g) |
|
template<typename Flowmap > |
static auto | advect_with_five_splits (Flowmap &&phi, real_type const stepwidth, real_type const t0, real_type const t_end, uniform_rectilinear_grid< Real, NumDimensions > const &g) |
|
template<typename Flowmap > |
static auto | advect_with_seven_splits (Flowmap &&phi, real_type const stepwidth, real_type const t0, real_type const t_end, uniform_rectilinear_grid< Real, NumDimensions > const &g) |
|
static auto constexpr | num_dimensions () |
|