NetDEM v1.0
Loading...
Searching...
No Matches
wall_motion_integrator.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#include <unordered_set>
8
9namespace netdem {
10
19public:
21 double mass{1.0};
22
25
27 VecNT<bool, 3> enable_translation{false, false, false};
28
30 bool enable_rotation{false};
31
32public:
37
43 Modifier *Clone() const override;
44
48 void Execute() override;
49};
50
51} // 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 integrate the motion of walls in a DEM simulation.
Definition wall_motion_integrator.hpp:18
void Execute() override
Executes the WallMotionIntegrator instance.
Definition wall_motion_integrator.cpp:20
VecNT< bool, 3 > enable_translation
A flag indicating whether to enable translation in each dimension.
Definition wall_motion_integrator.hpp:27
Vec3d moi_principal
Virtual moment of inertia of the all.
Definition wall_motion_integrator.hpp:24
Modifier * Clone() const override
Clones the current WallMotionIntegrator instance.
Definition wall_motion_integrator.cpp:16
WallMotionIntegrator()
Default constructor for WallMotionIntegrator class.
Definition wall_motion_integrator.cpp:10
bool enable_rotation
A flag indicating whether to enable rotation.
Definition wall_motion_integrator.hpp:30
double mass
Virtual mass of the wall.
Definition wall_motion_integrator.hpp:21
Definition bond_entry.hpp:7
std::array< double, 3 > Vec3d
Definition utils_macros.hpp:18
std::array< T, N > VecNT
Definition utils_macros.hpp:32