Skip to content

Drop Simplify() fucntion in polyhedra-wall and polyhedra-polyhedra interactions. Additionally merge 'utils.PWaveTimeStep()' and 'polyhedra_utils.PWaveTimeStep()' functions into one.

Karol Brzezinski requested to merge polyfix into master

Drop Simplify() function in polyhedra-wall and polyhedra-polyhedra interactions.

The main goal of this merge request is to tackle the issue related to a segmentation fault caused during the simulation of polyhedra dropped on a wall. As tracked down by @cosurgi, the 'Simplify()' function is the culprit. This function is supposed to help avoid numerical errors and increase efficiency (by eliminating close, triangular facets). However, now it causes even worse problems, costing a feature (Polyhedra). I commented out using this function in polyhedra-polyhedra and polyhedra-wall geometry computation. I didn't remove it everywhere because 'Simplify' may still be helpful in other parts of the code (like generating nice random grains).

Merge 'utils.PWaveTimeStep()' and 'polyhedra_utils.PWaveTimeStep()' functions into one.

While inspecting some older polyhedra-related issues, I noticed that the script mentioned in this issue behaves differently. It turns out that the function 'polyhedra_utils.PWaveTimeStep()' is no longer properly exposed to Python. Now it calls 'PWaveTimeStep()' function (only for spheres). I merged 'utils.PWaveTimeStep()' and 'polyhedra_utils.PWaveTimeStep()' functions into one. I also changed all the examples that formerly used such functions (currently, the lines with p-wave timestep computations are commented out). I am interested in your opinion on such a solution.

Edited by Karol Brzezinski

Merge request reports