|
NetDEM v1.0
|
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>
Public Member Functions | |
| DeformationAnalysis () | |
| Default constructor for DeformationAnalysis class. | |
| Modifier * | Clone () 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. | |
| Modifier * | Clone () 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} |
| Simulation * | sim {nullptr} |
| Scene * | scene {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. | |
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.
| netdem::DeformationAnalysis::DeformationAnalysis | ( | ) |
Default constructor for DeformationAnalysis class.
|
overridevirtual |
Clones the current DeformationAnalysis instance.
Reimplemented from netdem::Modifier.
|
overridevirtual |
Executes the DeformationAnalysis instance.
Reimplemented from netdem::Modifier.
|
overridevirtual |
Initializes the DeformationAnalysis instance.
| sim | Pointer to the current simulation object. |
Reimplemented from netdem::Modifier.
| void netdem::DeformationAnalysis::SetSaveByCycles | ( | double | interval | ) |
Sets the interval for saving data by cyles.
| interval | The new time interval for saving data. |
| void netdem::DeformationAnalysis::SetSaveByTime | ( | double | interval | ) |
Sets the interval for saving data by time.
| interval | The new time interval for saving data. |
| void netdem::DeformationAnalysis::SetSolveByCycles | ( | double | interval | ) |
Sets the interval for solving FEM by cycles.
| interval | The new time interval for saving data. |
| void netdem::DeformationAnalysis::SetSolveByTime | ( | double | interval | ) |
Sets the interval for solving FEM by time.
| interval | The new time interval for saving data. |
|
overridevirtual |
Updates the DeformationAnalysis instance.
Reimplemented from netdem::Modifier.
| double netdem::DeformationAnalysis::damp_coef {0.7} |
| double netdem::DeformationAnalysis::density {500.0} |
| Vec3d netdem::DeformationAnalysis::gravity_coef {0.0, 0.0, -9.81} |
| int netdem::DeformationAnalysis::mesh_res {20} |
| double netdem::DeformationAnalysis::neo_k {6.94e5} |
| double netdem::DeformationAnalysis::neo_mu {5.21e5} |
| std::unordered_map<Particle *, std::pair<bool, DeformableParticle> > netdem::DeformationAnalysis::particle_map |
reference of the particles in the dem simulation
| std::string netdem::DeformationAnalysis::root_path {"tmp/out/deformation_analysis/"} |
| double netdem::DeformationAnalysis::timestep {1.0e-4} |