1#ifndef TATOOINE_PARTICLE
2#define TATOOINE_PARTICLE
9template <
typename Real, std::
size_t NumDimensions>
11 static constexpr auto num_dimensions() -> std::size_t {
return NumDimensions; }
48 auto x0() const -> auto const& {
return m_x0; }
49 auto x0(std::size_t
const i)
const {
return m_x0(i); }
52 auto x1() const -> auto const& {
return m_x1; }
53 auto x1(std::size_t
const i)
const {
return m_x1(i); }
58 template <
typename Flowmap>
65template <
typename Real, std::
size_t NumDimensions>
67 : m_x0{other.m_x0}, m_x1{other.m_x1}, m_t1{other.m_t1} {}
69template <
typename Real, std::
size_t NumDimensions>
71 : m_x0{std::move(other.m_x0)},
72 m_x1{std::move(other.m_x1)},
76template <
typename Real, std::
size_t NumDimensions>
88template <
typename Real, std::
size_t NumDimensions>
91 m_x0 = std::move(other.m_x0);
92 m_x1 = std::move(other.m_x1);
97template <
typename Real, std::
size_t NumDimensions>
99 : m_x0{x0}, m_x1{x0}, m_t1{t0} {}
101template <
typename Real, std::
size_t NumDimensions>
104 : m_x0{x0}, m_x1{x1}, m_t1{t1} {}
106template <std::
size_t NumDimensions>
111template <
typename Real, std::
size_t NumDimensions>
115 for (
auto const& p : particles) {
121template <
typename Real, std::
size_t NumDimensions>
125 for (
auto const& p : particles) {
Definition: algorithm.h:6
auto x0_to_pointset(std::vector< particle< Real, NumDimensions > > const &particles)
Definition: particle.h:112
auto x1_to_pointset(std::vector< particle< Real, NumDimensions > > const &particles)
Definition: particle.h:122
Definition: particle.h:10
auto x0(std::size_t const i) const
Definition: particle.h:49
auto x0() -> auto &
Definition: particle.h:47
auto operator=(particle const &other) -> particle &
Definition: particle.h:77
vec< real_type, NumDimensions > vec_t
Definition: particle.h:18
real_type m_t1
Definition: particle.h:25
pos_type m_x0
Definition: particle.h:24
auto x1() -> auto &
Definition: particle.h:51
auto t1() -> auto &
Definition: particle.h:55
auto x1(std::size_t const i) const
Definition: particle.h:53
auto x0() const -> auto const &
Definition: particle.h:48
auto t1() const
Definition: particle.h:56
auto x1() const -> auto const &
Definition: particle.h:52
Real real_type
Definition: particle.h:17
auto advect(Flowmap &&phi, real_type const tau)
Definition: particle.h:59
pos_type m_x1
Definition: particle.h:24
static constexpr auto num_dimensions() -> std::size_t
Definition: particle.h:11
Definition: pointset.h:69
auto insert_vertex(arithmetic auto const ... ts)
Definition: pointset.h:243