12 #ifndef SERIALIZATION_PARTICLES_H
13 #define SERIALIZATION_PARTICLES_H
15 #include <cereal/cereal.hpp>
20 template<
class Archive>
22 cereal::size_type
size;
23 ar ( cereal::make_size_tag(
size) );
27 for (
int i = 0;
i <
size;
i++) {
29 logger(
INFO,
"Particle: \n\tPOS: % \n\tVEL: % \n\tRAD: %",
p.getPosition(),
p.getVelocity(),
p.getRadius());
34 template<
class Archive>
37 for (
const auto&
p : handl) {
42 template<
class Archive>
48 ar( CEREAL_NVP(position),
52 p.setPosition(position);
57 template<
class Archive>
59 ar( cereal::make_nvp(
"position",
p.getPosition()),
60 cereal::make_nvp(
"velocity",
p.getVelocity()),
61 cereal::make_nvp(
"radius",
p.getRadius()));
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
void save(Archive &ar, const ParticleHandler &handl)
Definition: Particles.h:35
void load(Archive &ar, ParticleHandler &handl)
Definition: Particles.h:21
float * p
Definition: Tutorial_Map_using.cpp:9
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
std::enable_if<!std::is_pointer< U >::value, U * >::type copyAndAddObject(const U &object)
Creates a copy of a Object and adds it to the BaseHandler.
Definition: BaseHandler.h:360
Definition: BaseParticle.h:33
Container to store pointers to all particles.
Definition: ParticleHandler.h:28
unsigned int getNumberOfObjects() const override
Returns the number of objects in the container. In parallel code this practice is forbidden to avoid ...
Definition: ParticleHandler.cc:1323
A spherical particle is the most simple particle used in MercuryDPM.
Definition: SphericalParticle.h:16
Definition: Kernel/Math/Vector.h:30
#define INFO(i)
Definition: mumps_solver.h:54
double velocity(const double &t)
Angular velocity as function of time t.
Definition: jeffery_orbit.cc:107