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

A class used to perform deformation analysis on particles in a DEM simulation. This is a post-modifier, which will be executed at the end of a DEM cycle. More...

#include <deformation_analysis.hpp>

Inheritance diagram for netdem::DeformationAnalysis:
netdem::ParticleGroup netdem::Modifier

Public Member Functions

 DeformationAnalysis ()
 Default constructor for DeformationAnalysis class.
 
ModifierClone () const override
 Clones the current DeformationAnalysis instance.
 
void Init (Simulation *sim) override
 Initializes the DeformationAnalysis instance.
 
void SetSolveByTime (double interval)
 Sets the interval for solving FEM by time.
 
void SetSolveByCycles (double interval)
 Sets the interval for solving FEM by cycles.
 
void SetSaveByTime (double interval)
 Sets the interval for saving data by time.
 
void SetSaveByCycles (double interval)
 Sets the interval for saving data by cyles.
 
void Execute () override
 Executes the DeformationAnalysis instance.
 
void Update () override
 Updates the DeformationAnalysis 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

double neo_k {6.94e5}
 
double neo_mu {5.21e5}
 
double density {500.0}
 
double damp_coef {0.7}
 
Vec3d gravity_coef {0.0, 0.0, -9.81}
 
double timestep {1.0e-4}
 
int mesh_res {20}
 
std::string root_path {"tmp/out/deformation_analysis/"}
 
std::unordered_map< Particle *, std::pair< bool, DeformableParticle > > particle_map
 reference of the particles in the 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 class used to perform deformation analysis on particles in a DEM simulation. This is a post-modifier, which will be executed at the end of a DEM cycle.

Constructor & Destructor Documentation

◆ DeformationAnalysis()

netdem::DeformationAnalysis::DeformationAnalysis ( )

Default constructor for DeformationAnalysis class.

Member Function Documentation

◆ Clone()

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

Clones the current DeformationAnalysis instance.

Returns
A pointer to the cloned DeformationAnalysis instance.

Reimplemented from netdem::Modifier.

◆ Execute()

void netdem::DeformationAnalysis::Execute ( )
overridevirtual

Executes the DeformationAnalysis instance.

Reimplemented from netdem::Modifier.

◆ Init()

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

Initializes the DeformationAnalysis instance.

Parameters
simPointer to the current simulation object.

Reimplemented from netdem::Modifier.

◆ SetSaveByCycles()

void netdem::DeformationAnalysis::SetSaveByCycles ( double interval)

Sets the interval for saving data by cyles.

Parameters
intervalThe new time interval for saving data.

◆ SetSaveByTime()

void netdem::DeformationAnalysis::SetSaveByTime ( double interval)

Sets the interval for saving data by time.

Parameters
intervalThe new time interval for saving data.

◆ SetSolveByCycles()

void netdem::DeformationAnalysis::SetSolveByCycles ( double interval)

Sets the interval for solving FEM by cycles.

Parameters
intervalThe new time interval for saving data.

◆ SetSolveByTime()

void netdem::DeformationAnalysis::SetSolveByTime ( double interval)

Sets the interval for solving FEM by time.

Parameters
intervalThe new time interval for saving data.

◆ Update()

void netdem::DeformationAnalysis::Update ( )
overridevirtual

Updates the DeformationAnalysis instance.

Reimplemented from netdem::Modifier.

Member Data Documentation

◆ damp_coef

double netdem::DeformationAnalysis::damp_coef {0.7}

◆ density

double netdem::DeformationAnalysis::density {500.0}

◆ gravity_coef

Vec3d netdem::DeformationAnalysis::gravity_coef {0.0, 0.0, -9.81}

◆ mesh_res

int netdem::DeformationAnalysis::mesh_res {20}

◆ neo_k

double netdem::DeformationAnalysis::neo_k {6.94e5}

◆ neo_mu

double netdem::DeformationAnalysis::neo_mu {5.21e5}

◆ particle_map

std::unordered_map<Particle *, std::pair<bool, DeformableParticle> > netdem::DeformationAnalysis::particle_map

reference of the particles in the dem simulation

◆ root_path

std::string netdem::DeformationAnalysis::root_path {"tmp/out/deformation_analysis/"}

◆ timestep

double netdem::DeformationAnalysis::timestep {1.0e-4}

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