NetDEM v1.0
|
A class used to integrate the motion of walls in a DEM simulation. More...
#include <wall_motion_integrator.hpp>
Public Member Functions | |
WallMotionIntegrator () | |
Default constructor for WallMotionIntegrator class. | |
Modifier * | Clone () const override |
Clones the current WallMotionIntegrator instance. | |
void | Execute () override |
Executes the WallMotionIntegrator instance. | |
Public Member Functions inherited from netdem::WallGroup | |
WallGroup () | |
Default constructor for WallGroup class. | |
VecXT< Wall * > const & | GetWalls () |
Get the walls. | |
void | AddWall (int id) |
Adds a wall to the group. | |
void | RemoveWall (int id) |
Removes a wall from the group. | |
void | AddWall (const VecXT< int > &ids) |
Adds multiple walls to the group. | |
void | RemoveWall (const VecXT< int > &ids) |
Removes multiple walls from the group. | |
void | AddWall (const std::initializer_list< int > &ids) |
Adds multiple walls to the group. | |
void | RemoveWall (const std::initializer_list< int > &ids) |
Removes multiple walls from the group. | |
void | SetWall (int id) |
Sets the walls based on a wall ID. | |
void | SetWall (const VecXT< int > &id_list) |
Sets the walls based on a variable number of wall IDs. | |
void | SetWall (const std::initializer_list< int > &id_list) |
Sets the walls based on a variable number of wall IDs. | |
void | Clear () |
Clears all walls from the group. | |
void | Update () override |
Updates the WallGroup instance. | |
Public Member Functions inherited from netdem::Modifier | |
Modifier () | |
Default constructor for Modifier class. | |
virtual void | Init (Simulation *sim) |
Initializes the Modifier instance. | |
virtual void | Enable () |
Enables the Modifier instance. | |
virtual void | Disable () |
Disables the Modifier instance. | |
virtual | ~Modifier () |
Destructor for Modifier class. | |
Public Attributes | |
double | mass {1.0} |
Virtual mass of the wall. | |
Vec3d | moi_principal {0, 0, 0} |
Virtual moment of inertia of the all. | |
VecNT< bool, 3 > | enable_translation {false, false, false} |
A flag indicating whether to enable translation in each dimension. | |
bool | enable_rotation {false} |
A flag indicating whether to enable rotation. | |
Public Attributes inherited from netdem::Modifier | |
std::string | label {"default"} |
DEMSolver::CyclePoint | cycle_point {DEMSolver::CyclePoint::pre} |
Simulation * | sim {nullptr} |
Scene * | scene {nullptr} |
bool | update_with_scene {false} |
bool | enable_logging {true} |
Additional Inherited Members | |
Protected Attributes inherited from netdem::WallGroup | |
std::unordered_set< int > | wall_id_list |
The list of wall ids. | |
VecXT< Wall * > | wall_list |
The list of wall. | |
A class used to integrate the motion of walls in a DEM simulation.
The WallMotionIntegrator class is used to integrate the motion of walls in a DEM simulation by updating their positions and orientations based on their velocities and spins.
netdem::WallMotionIntegrator::WallMotionIntegrator | ( | ) |
Default constructor for WallMotionIntegrator class.
|
overridevirtual |
Clones the current WallMotionIntegrator instance.
Reimplemented from netdem::WallGroup.
|
overridevirtual |
Executes the WallMotionIntegrator instance.
Reimplemented from netdem::WallGroup.
bool netdem::WallMotionIntegrator::enable_rotation {false} |
A flag indicating whether to enable rotation.
VecNT<bool, 3> netdem::WallMotionIntegrator::enable_translation {false, false, false} |
A flag indicating whether to enable translation in each dimension.
double netdem::WallMotionIntegrator::mass {1.0} |
Virtual mass of the wall.
Vec3d netdem::WallMotionIntegrator::moi_principal {0, 0, 0} |
Virtual moment of inertia of the all.