12 #ifndef SERIALIZATION_WALLS_H
13 #define SERIALIZATION_WALLS_H
21 template<
typename Base >
35 template<
class Archive>
37 ar ( cereal::make_size_tag(
w.getNumberOfObjects()));
38 for (
const auto& wall
UNUSED :
w ) {
43 template<
class Archive>
45 cereal::size_type count;
46 ar ( cereal::make_size_tag(count));
50 for (
int i = 0;
i < count;
i++)
56 w.copyAndAddObject(wall.
data);
61 template<
class Archive>
64 ar( cereal::make_nvp(
"type",
"InfiniteWall"));
71 ar( cereal::make_nvp(
"type",
"InfiniteWallWithHole"));
74 ar( cereal::make_nvp(
"type",
"CylindricalWall"));
80 template<
class Archive>
85 ar(cereal::make_nvp(
"type",
type));
87 if (
type ==
"InfiniteWall")
96 else if (
type ==
"InfiniteWallWithHole")
100 }
else if (
type ==
"CylindricalWall") {
108 template<
class Archive>
111 ar( CEREAL_NVP( position ),
113 w.setPosition( position );
117 template<
class Archive>
119 ar( cereal::make_nvp(
"position",
w.getPosition()),
120 cereal::make_nvp(
"normal",
w.getNormal()));
123 template<
class Archive>
131 template<
class Archive>
134 cereal::make_nvp(
"radius",
w.getRadius()));
int i
Definition: BiCGSTAB_step_by_step.cpp:9
double Mdouble
Definition: GeneralDefine.h:13
#define UNUSED
Definition: GeneralDefine.h:18
LL< Log::VERBOSE > VERBOSE
Verbose information.
Definition: Logger.cc:36
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
RowVector3d w
Definition: Matrix_resize_int.cpp:3
void save(Archive &ar, const WallHandler &w)
Definition: Walls.h:36
void load(Archive &ar, WallHandler &w)
Definition: Walls.h:44
Scalar * b
Definition: benchVecAdd.cpp:17
Definition: CylindricalWall.h:17
Definition: InfiniteWallWithHole.h:17
A infinite wall fills the half-space {point: (position_-point)*normal_<=0}.
Definition: InfiniteWall.h:27
Definition: Kernel/Math/Vector.h:30
Container to store all BaseWall.
Definition: WallHandler.h:22
#define DEBUG
Definition: main.h:181
#define INFO(i)
Definition: mumps_solver.h:54
void normal(const Vector< double > &x, Vector< double > &normal)
Definition: free_surface_rotation.cc:65
type
Definition: compute_granudrum_aor.py:141
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
Base * data
Definition: Walls.h:31
~Wrapper()
Definition: Walls.h:26
Wrapper()
Definition: Walls.h:23