NetDEM v1.0
Loading...
Searching...
No Matches
netdem::WallMotionIntegrator Class Reference

A class used to integrate the motion of walls in a DEM simulation. More...

#include <wall_motion_integrator.hpp>

Inheritance diagram for netdem::WallMotionIntegrator:
netdem::WallGroup netdem::Modifier

Public Member Functions

 WallMotionIntegrator ()
 Default constructor for WallMotionIntegrator class.
 
ModifierClone () 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}
 
Simulationsim {nullptr}
 
Scenescene {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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ WallMotionIntegrator()

netdem::WallMotionIntegrator::WallMotionIntegrator ( )

Default constructor for WallMotionIntegrator class.

Member Function Documentation

◆ Clone()

Modifier * netdem::WallMotionIntegrator::Clone ( ) const
overridevirtual

Clones the current WallMotionIntegrator instance.

Returns
A pointer to the cloned WallMotionIntegrator instance.

Reimplemented from netdem::WallGroup.

◆ Execute()

void netdem::WallMotionIntegrator::Execute ( )
overridevirtual

Executes the WallMotionIntegrator instance.

Reimplemented from netdem::WallGroup.

Member Data Documentation

◆ enable_rotation

bool netdem::WallMotionIntegrator::enable_rotation {false}

A flag indicating whether to enable rotation.

◆ enable_translation

VecNT<bool, 3> netdem::WallMotionIntegrator::enable_translation {false, false, false}

A flag indicating whether to enable translation in each dimension.

◆ mass

double netdem::WallMotionIntegrator::mass {1.0}

Virtual mass of the wall.

◆ moi_principal

Vec3d netdem::WallMotionIntegrator::moi_principal {0, 0, 0}

Virtual moment of inertia of the all.


The documentation for this class was generated from the following files: