Simulator Settings - msolids/musen GitHub Wiki
Simulator Settings
Verlet lists
To perform contact detection, MUSEN applies a method based on the Verlet lists. Its main idea is as follows: for each particle, a list of all neighboring particles or walls located within a certain cut-off distance (Verlet distance) is found and stored. Thereafter, to detect all the contacts of the particle, it is enough to take into account and analyze only the potential contacts from this list. Moreover, there is no need to update the list in each simulation time step, which allows reducing the amount of calculations. The frequency of updating the Verlet list strongly depends on the dynamics of objects and the Verlet distance value. On the one hand, small values of Verlet distance reduce the size of Verlet lists. On the other hand, increasing Verlet distance decreases the update frequency. Additionally, one limiting factor is the amount of available global GPU memory. To avoid time-consuming memory reallocation on the GPU during each iteration, memory is allocated once for all potential contacts each time the Verlet list is updated. As a result, for very large systems, Verlet distance will be limited by available GPU memory. The Verlet distance is calculated as the product of the minimum particle radius in the system and the Verlet coefficient. To reduce computational costs and avoid checking all object pairs, the Linked-cell algorithm is used. The simulation domain is divided into cubic cells and particles are placed in them based on position. The cell size depends on the maximum particle radius and is limited by the Max cells number. To find possible contacts, only objects in the current and adjacent cells are considered. The efficiency of this method can degrade in systems with a wide particle size distribution. To improve performance, a multigrid approach is used, applying multiple grid levels with different cell sizes. This avoids checking small particles on coarse grids. For more details, see [1].
- Max cells number – Maximum allowed number of cells per direction for the Linked-cell algorithm.
- Verlet coefficient – Multiplier for minimum particle radius to calculate Verlet distance.
- Auto adjust Verlet distance – If enabled, the Verlet distance is automatically tuned during simulation for optimal speed.
Variable time step
A variable time step mode allows adaptive simulation control. The maximum particle travel distance per time step is limited. If particle motion slows down, the time step gradually increases, returning toward the initial Simulation step.
- Max particle movement – Maximum distance a particle may travel in a step.
- Step increase factor – Rate of return to the initial time step.
Additional stop criteria
Besides the End time, additional stop conditions can be set. The simulation ends if any of these are met first.
- Max broken bonds – Upper limit for solid bond breakages.
Additional model settings
By default, when particles connected by solid bonds overlap, both bond and interparticle forces are applied. This can be disabled, allowing only the bond force to be applied in such cases.
- Contact between particles directly connected with bonds – Enables/disables calculation of interparticle contact forces.
Other
- Particle velocity limit – Caps maximum particle velocity to a defined value.
Allowed CPUs
Defines the list of CPU cores this simulation instance is allowed to run on.
Literature
- Skorych V., Dosta M., Parallel CPU–GPU computing technique for discrete element method, Concurrency and Computation: Practice and Experience, 34 (2022) e6839. DOI: 10.1002/cpe.6839