Class for managing a DEM simulation.
More...
#include <simulation.hpp>
|
| Simulation () |
| Constructor for the Simulation class.
|
|
void | Init () |
| Initializes the simulation with default settings.
|
|
void | AutoReadRestart (std::string const &path, int mech_cyc, int shape_info_case=0) |
| Restarts the simulation using output files.
|
|
void | SetTimeAndCycles (double t, int cycs) |
| Sets the current time and cycles (usually invoked after AutoReadRestart).
|
|
void | Run (double time) |
| Runs the simulation for a specified period of time.
|
|
| ~Simulation () |
| Destructor for the Simulation class.
|
|
Class for managing a DEM simulation.
- Examples
- 00_nut_in_bolt.cpp, 02_energy_test.cpp, 0_geometric_solver.cpp, 0_plane_case.cpp, 1_gjk_solver.cpp, 1_membrane_case.cpp, 1_test_triaxial_comp.cpp, 2_sdf_solver.cpp, 3_hybrid_solver.cpp, 81_voronoi_packing.cpp, 90_packing_demo.cpp, 90_random_packing.cpp, 90_random_packing_trimesh.cpp, 91_packing_ellipsoid.cpp, 91_triaixal_comp.cpp, 91_triaixal_comp_trimesh.cpp, 92_angle_of_repose.cpp, 92_angle_repose_trimesh.cpp, 92_nut_in_bolt.cpp, 93_triaixal_comp_trimesh.cpp, 94_angle_repose_trimesh.cpp, 96_random_packing_ellipsoid.cpp, 97_triaixal_comp_sphere_geom.cpp, angle_repose_main.cpp, blade_mixing_main.cpp, landslide_main.cpp, and odemetric_comp_main.cpp.
◆ Simulation()
Simulation::Simulation |
( |
| ) |
|
◆ ~Simulation()
Simulation::~Simulation |
( |
| ) |
|
◆ AutoReadRestart()
void Simulation::AutoReadRestart |
( |
std::string const & | path, |
|
|
int | mech_cyc, |
|
|
int | shape_info_case = 0 ) |
Restarts the simulation using output files.
- Parameters
-
path | Path to the output files. |
mech_cyc | Number of mechanical cycles. |
shape_info_case | Shape information case. 0: 0-step json, 2: time-specific json. |
◆ Init()
void Simulation::Init |
( |
| ) |
|
Initializes the simulation with default settings.
◆ Run()
void Simulation::Run |
( |
double | time | ) |
|
Runs the simulation for a specified period of time.
- Parameters
-
time | Amount of time to run the simulation for. |
- Examples
- 00_nut_in_bolt.cpp, 02_energy_test.cpp, 0_geometric_solver.cpp, 0_plane_case.cpp, 1_gjk_solver.cpp, 1_membrane_case.cpp, 1_test_triaxial_comp.cpp, 2_sdf_solver.cpp, 3_hybrid_solver.cpp, 81_voronoi_packing.cpp, 90_packing_demo.cpp, 90_random_packing.cpp, 90_random_packing_trimesh.cpp, 91_packing_ellipsoid.cpp, 91_triaixal_comp.cpp, 91_triaixal_comp_trimesh.cpp, 92_angle_of_repose.cpp, 92_angle_repose_trimesh.cpp, 92_nut_in_bolt.cpp, 93_triaixal_comp_trimesh.cpp, 94_angle_repose_trimesh.cpp, 96_random_packing_ellipsoid.cpp, 97_triaixal_comp_sphere_geom.cpp, angle_repose_main.cpp, blade_mixing_main.cpp, landslide_main.cpp, and odemetric_comp_main.cpp.
◆ SetTimeAndCycles()
void Simulation::SetTimeAndCycles |
( |
double | t, |
|
|
int | cycs ) |
Sets the current time and cycles (usually invoked after AutoReadRestart).
- Parameters
-
t | Time for the simulation. |
cycs | Number of cycles for the simulation. |
◆ dem_solver
Implements DEM algorithms to solve the scene.
- Examples
- 00_nut_in_bolt.cpp, 02_energy_test.cpp, 1_membrane_case.cpp, 1_test_triaxial_comp.cpp, 2_sdf_solver.cpp, 3_hybrid_solver.cpp, 81_voronoi_packing.cpp, 90_packing_demo.cpp, 90_random_packing.cpp, 90_random_packing_trimesh.cpp, 91_packing_ellipsoid.cpp, 91_triaixal_comp.cpp, 91_triaixal_comp_trimesh.cpp, 92_angle_of_repose.cpp, 92_angle_repose_trimesh.cpp, 92_nut_in_bolt.cpp, 93_triaixal_comp_trimesh.cpp, 94_angle_repose_trimesh.cpp, 96_random_packing_ellipsoid.cpp, 97_triaixal_comp_sphere_geom.cpp, and landslide_main.cpp.
◆ domain_manager
Manager for domain and sub-domain calculations.
- Examples
- 00_nut_in_bolt.cpp, 02_energy_test.cpp, 0_geometric_solver.cpp, 0_plane_case.cpp, 1_gjk_solver.cpp, 1_membrane_case.cpp, 1_test_triaxial_comp.cpp, 2_sdf_solver.cpp, 3_hybrid_solver.cpp, 81_voronoi_packing.cpp, 90_packing_demo.cpp, 90_random_packing.cpp, 90_random_packing_trimesh.cpp, 91_packing_ellipsoid.cpp, 91_triaixal_comp.cpp, 91_triaixal_comp_trimesh.cpp, 92_angle_of_repose.cpp, 92_angle_repose_trimesh.cpp, 92_nut_in_bolt.cpp, 93_triaixal_comp_trimesh.cpp, 94_angle_repose_trimesh.cpp, 96_random_packing_ellipsoid.cpp, 97_triaixal_comp_sphere_geom.cpp, angle_repose_main.cpp, blade_mixing_main.cpp, landslide_main.cpp, and odemetric_comp_main.cpp.
◆ enable_logging
bool netdem::Simulation::enable_logging {true} |
◆ input_processor
Object for processing input commands defined in a JSON file.
◆ mech_cycles
int netdem::Simulation::mech_cycles {0} |
The mechanical cycles. Each cycle accounts for a [timestep] time increment of the simulation mechanical time.
◆ mech_time
double netdem::Simulation::mech_time {0} |
The mechanical time in the simulation world.
◆ modifier_manager
Manages add-on features (i.e., customized evaluations not hard-coded in the DEM calculation cycle).
- Examples
- 00_nut_in_bolt.cpp, 02_energy_test.cpp, 0_geometric_solver.cpp, 0_plane_case.cpp, 1_gjk_solver.cpp, 1_membrane_case.cpp, 1_test_triaxial_comp.cpp, 2_sdf_solver.cpp, 3_hybrid_solver.cpp, 81_voronoi_packing.cpp, 90_packing_demo.cpp, 90_random_packing.cpp, 90_random_packing_trimesh.cpp, 91_packing_ellipsoid.cpp, 91_triaixal_comp.cpp, 91_triaixal_comp_trimesh.cpp, 92_angle_of_repose.cpp, 92_angle_repose_trimesh.cpp, 92_nut_in_bolt.cpp, 93_triaixal_comp_trimesh.cpp, 94_angle_repose_trimesh.cpp, 96_random_packing_ellipsoid.cpp, 97_triaixal_comp_sphere_geom.cpp, angle_repose_main.cpp, blade_mixing_main.cpp, landslide_main.cpp, and odemetric_comp_main.cpp.
◆ mpi_manager
Manages data exchange between sub-domains.
◆ scene
Scene netdem::Simulation::scene |
Contains and manages basic DEM objects (e.g., shapes, particles, walls) for a DEM simulation.
- Examples
- 00_nut_in_bolt.cpp, 02_energy_test.cpp, 0_geometric_solver.cpp, 0_plane_case.cpp, 1_gjk_solver.cpp, 1_membrane_case.cpp, 1_test_triaxial_comp.cpp, 2_sdf_solver.cpp, 3_hybrid_solver.cpp, 81_voronoi_packing.cpp, 90_packing_demo.cpp, 90_random_packing.cpp, 90_random_packing_trimesh.cpp, 91_packing_ellipsoid.cpp, 91_triaixal_comp.cpp, 91_triaixal_comp_trimesh.cpp, 92_angle_of_repose.cpp, 92_angle_repose_trimesh.cpp, 92_nut_in_bolt.cpp, 93_triaixal_comp_trimesh.cpp, 94_angle_repose_trimesh.cpp, 96_random_packing_ellipsoid.cpp, 97_triaixal_comp_sphere_geom.cpp, angle_repose_main.cpp, blade_mixing_main.cpp, landslide_main.cpp, and odemetric_comp_main.cpp.
The documentation for this class was generated from the following files:
- /Users/lzhshou/Documents/Research/myProjects/apaam/repo/netdem/src/simulation.hpp
- /Users/lzhshou/Documents/Research/myProjects/apaam/repo/netdem/src/simulation.cpp