NetDEM v1.0
Loading...
Searching...
No Matches
wall_motion_control.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "modifier.hpp"
4#include "wall.hpp"
5#include "wall_group.hpp"
6#include <cstdarg>
7
8namespace netdem {
9
17private:
18 Vec3d vel{0, 0, 0};
19 Vec3d spin{0, 0, 0};
20
21public:
26
34 void FixVelocity(double v_x, double v_y, double v_z);
35
43 void FixSpin(double spin_x, double spin_y, double spin_z);
44
52 void SetVelocity(double v_x, double v_y, double v_z);
53
61 void SetSpin(double spin_x, double spin_y, double spin_z);
62
68 Modifier *Clone() const override;
69
73 void Execute() override;
74};
75
76} // namespace netdem
An interface class used to modify a DEM simulation.
Definition modifier.hpp:18
A class used to group walls in a DEM simulation.
Definition wall_group.hpp:16
A class used to control the displacement of walls in a DEM simulation.
Definition wall_motion_control.hpp:16
void FixVelocity(double v_x, double v_y, double v_z)
Sets the velocity properties for all walls in the group.
Definition wall_motion_control.cpp:27
void SetVelocity(double v_x, double v_y, double v_z)
Sets the velocity properties for all walls in the group.
Definition wall_motion_control.cpp:15
void SetSpin(double spin_x, double spin_y, double spin_z)
Sets the spin properties for all walls in the group.
Definition wall_motion_control.cpp:21
void Execute() override
Executes the WallMotionControl instance.
Definition wall_motion_control.cpp:43
WallMotionControl()
Default constructor for WallMotionControl class.
Definition wall_motion_control.cpp:10
void FixSpin(double spin_x, double spin_y, double spin_z)
Sets the spin properties for all walls in the group.
Definition wall_motion_control.cpp:33
Modifier * Clone() const override
Clones the current WallMotionControl instance.
Definition wall_motion_control.cpp:39
Definition bond_entry.hpp:7
std::array< double, 3 > Vec3d
Definition utils_macros.hpp:18