16 #ifndef dealii_particles_particle_h 17 #define dealii_particles_particle_h 35 #ifdef DEAL_II_WITH_64BIT_INDICES 49 # ifdef DEAL_II_WITH_MPI 54 # define DEAL_II_PARTICLE_INDEX_MPI_TYPE MPI_UINT64_T 69 using particle_index =
unsigned int;
71 # ifdef DEAL_II_WITH_MPI 76 # define DEAL_II_PARTICLE_INDEX_MPI_TYPE MPI_UNSIGNED 145 template <
int dim,
int spacedim = dim>
255 get_location()
const;
264 set_reference_location(
const Point<dim> &new_reference_location);
270 get_reference_location()
const;
301 has_properties()
const;
332 get_properties()
const;
340 serialized_size_in_bytes()
const;
346 template <
class Archive>
348 save(Archive &ar,
const unsigned int version)
const;
354 template <
class Archive>
356 load(Archive &ar,
const unsigned int version);
363 template <
class Archive>
365 serialize(Archive &archive,
const unsigned int version);
369 BOOST_SERIALIZATION_SPLIT_MEMBER()
402 template <
int dim,
int spacedim>
403 template <
class Archive>
407 unsigned int n_properties = 0;
409 ar &location &reference_location &
id &n_properties;
411 if (n_properties > 0)
413 properties =
new double[n_properties];
414 ar &boost::serialization::make_array(properties, n_properties);
418 template <
int dim,
int spacedim>
419 template <
class Archive>
423 unsigned int n_properties = 0;
424 if ((property_pool !=
nullptr) &&
425 (properties != PropertyPool::invalid_handle))
426 n_properties = get_properties().size();
428 ar &location &reference_location &
id &n_properties;
430 if (n_properties > 0)
431 ar &boost::serialization::make_array(properties, n_properties);
PropertyPool::Handle properties
Point< spacedim > location
std::pair< int, int > LevelInd
unsigned int particle_index
void write_data(const std::vector< Patch< dim, spacedim >> &patches, unsigned int n_data_sets, const bool double_precision, StreamType &out)
#define DEAL_II_NAMESPACE_CLOSE
Point< dim > reference_location
#define DEAL_II_NAMESPACE_OPEN
PropertyPool * property_pool