16 #ifndef dealii_particles_particle_h 17 #define dealii_particles_particle_h 19 #include <deal.II/particles/property_pool.h> 21 #include <deal.II/base/point.h> 22 #include <deal.II/base/types.h> 23 #include <deal.II/base/array_view.h> 25 DEAL_II_NAMESPACE_OPEN
31 #ifdef DEAL_II_WITH_64BIT_INDICES 45 #ifdef DEAL_II_WITH_MPI 50 # define PARTICLE_INDEX_MPI_TYPE MPI_UNSIGNED_LONG_LONG 66 #ifdef DEAL_II_WITH_MPI 71 # define PARTICLE_INDEX_MPI_TYPE MPI_UNSIGNED 87 typedef std::pair<int, int> LevelInd;
100 template <
int dim,
int spacedim=dim>
285 template <
class Archive>
286 void save (Archive &ar,
const unsigned int version)
const;
292 template <
class Archive>
293 void load (Archive &ar,
const unsigned int version);
295 BOOST_SERIALIZATION_SPLIT_MEMBER()
327 template <
int dim,
int spacedim>
328 template <
class Archive>
331 unsigned int n_properties = 0;
338 if (n_properties > 0)
340 properties =
new double[n_properties];
341 ar &boost::serialization::make_array(properties, n_properties);
345 template <
int dim,
int spacedim>
346 template <
class Archive>
349 unsigned int n_properties = 0;
351 n_properties = get_properties().size();
358 if (n_properties > 0)
359 ar &boost::serialization::make_array(properties, n_properties);
364 DEAL_II_NAMESPACE_CLOSE
PropertyPool::Handle properties
Point< spacedim > location
void set_property_pool(PropertyPool &property_pool)
Particle< dim, spacedim > & operator=(const Particle< dim, spacedim > &particle)
void write_data(void *&data) const
unsigned int particle_index
types::particle_index get_id() const
void set_properties(const ArrayView< const double > &new_properties)
const Point< spacedim > & get_location() const
const ArrayView< double > get_properties()
void set_reference_location(const Point< dim > &new_reference_location)
std::size_t serialized_size_in_bytes() const
void save(Archive &ar, const unsigned int version) const
void load(Archive &ar, const unsigned int version)
static const Handle invalid_handle
const Point< dim > & get_reference_location() const
Point< dim > reference_location
bool has_properties() const
void set_location(const Point< spacedim > &new_location)
PropertyPool * property_pool