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

A modifier class for performing breakage analysis on particles. More...

#include <breakage_analysis_pd.hpp>

Inheritance diagram for netdem::BreakageAnalysisPD:
netdem::ParticleGroup netdem::Modifier

Public Member Functions

 BreakageAnalysisPD ()
 Default constructor.
 
void SetRootPath (std::string const &root_path)
 Sets the root output path for breakage analysis results.
 
void SetExecuteByTime (double interval)
 Sets the time interval for executing the modifier.
 
void SetExecuteByCycles (double interval)
 Sets the cycle interval for executing the modifier.
 
ModifierClone () const override
 Clones the current Modifier instance.
 
void Init (Simulation *sim) override
 Initializes the Modifier instance.
 
void Execute () override
 Executes the Modifier instance.
 
void Update () override
 Updates the Modifier instance.
 
- Public Member Functions inherited from netdem::ParticleGroup
 ParticleGroup ()
 Default constructor for ParticleGroup class.
 
VecXT< Particle * > const & GetParticles ()
 Get the particles.
 
void AddParticle (int id)
 Adds a particle to the group.
 
void RemoveParticle (int id)
 Removes a particle from the group.
 
void AddParticle (const VecXT< int > &ids)
 Adds multiple particles to the group.
 
void RemoveParticle (const VecXT< int > &ids)
 Removes multiple particles from the group.
 
void AddParticle (const std::initializer_list< int > &ids)
 Adds multiple particles to the group.
 
void RemoveParticle (const std::initializer_list< int > &ids)
 Removes multiple particles from the group.
 
void SetParticle (int id)
 Sets a particle to the group.
 
void SetParticle (const VecXT< int > &ids)
 Sets multiple particles to the group.
 
void SetParticle (const std::initializer_list< int > &ids)
 Sets multiple particles to the group.
 
void SetParticleFromScene ()
 Sets the particles to all the particles in the scene scene.
 
void Clear ()
 Clears all particles from the group.
 
ModifierClone () const override
 Clones the current ParticleGroup instance.
 
void Execute () override
 Executes the ParticleGroup instance.
 
void Update () override
 Updates the ParticleGroup instance.
 
- Public Member Functions inherited from netdem::Modifier
 Modifier ()
 Default constructor for Modifier class.
 
virtual void Enable ()
 Enables the Modifier instance.
 
virtual void Disable ()
 Disables the Modifier instance.
 
virtual ~Modifier ()
 Destructor for Modifier class.
 

Public Attributes

PeriDigmDEMCoupler pd_dem_coupler
 The PeriDigmDEMCoupler used to interface with a DEM simulation.
 
- Public Attributes inherited from netdem::ParticleGroup
bool use_particles_in_scene {false}
 A flag indicating whether to group all particle in the scene.
 
- 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::ParticleGroup
std::unordered_set< int > particle_id_list
 The list of particle IDs.
 
VecXT< Particle * > particle_list
 The list of particles.
 

Detailed Description

A modifier class for performing breakage analysis on particles.

The BreakageAnalysisPD class is a modifier class that performs breakage analysis on the specified particles. It uses the PeriDigmDEMCoupler to interface with a DEM simulation, and has options for selecting particles based on ID or from a scene file.

Constructor & Destructor Documentation

◆ BreakageAnalysisPD()

netdem::BreakageAnalysisPD::BreakageAnalysisPD ( )

Default constructor.

Member Function Documentation

◆ Clone()

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

Clones the current Modifier instance.

Returns
A pointer to the cloned Modifier instance.

Reimplemented from netdem::Modifier.

◆ Execute()

void netdem::BreakageAnalysisPD::Execute ( )
overridevirtual

Executes the Modifier instance.

This function is called during the specified cycle point of the DEM solver.

Reimplemented from netdem::Modifier.

◆ Init()

void netdem::BreakageAnalysisPD::Init ( Simulation * sim)
overridevirtual

Initializes the Modifier instance.

Parameters
simPointer to the current simulation object.

Reimplemented from netdem::Modifier.

◆ SetExecuteByCycles()

void netdem::BreakageAnalysisPD::SetExecuteByCycles ( double interval)

Sets the cycle interval for executing the modifier.

This method sets the cycle interval for executing the modifier. The modifier will be executed every N cycles specified by this value.

Parameters
intervalThe cycle interval to set.

◆ SetExecuteByTime()

void netdem::BreakageAnalysisPD::SetExecuteByTime ( double interval)

Sets the time interval for executing the modifier.

This method sets the time interval for executing the modifier. The modifier will be executed at regular intervals specified by this value.

Parameters
intervalThe time interval to set.

◆ SetRootPath()

void netdem::BreakageAnalysisPD::SetRootPath ( std::string const & root_path)

Sets the root output path for breakage analysis results.

This method sets the root output path for breakage analysis results. The default path is "tmp/out/".

Parameters
root_pathThe root output path to set.

◆ Update()

void netdem::BreakageAnalysisPD::Update ( )
overridevirtual

Updates the Modifier instance.

This function is called at each time step of the simulation.

Reimplemented from netdem::Modifier.

Member Data Documentation

◆ pd_dem_coupler

PeriDigmDEMCoupler netdem::BreakageAnalysisPD::pd_dem_coupler

The PeriDigmDEMCoupler used to interface with a DEM simulation.


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