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} |