I was able to get this script running fine by simply changing the step size to 2e-6 (it's running now. If things go wrong later on I can let you know). Of course, when you start using true material properties for your particles, this step size may need to be further adjusted. Keep in mind that large E, large CoR and small particle size make the simulation more challenging, and require smaller step sizes. I would guess if you use true material properties for everything in the simulation, then maybe 1e-6 is a good step size to start playing around.
A few comments:
1. You generally just need the verbosity level to be at INFO. If it is at STEP_METRIC, it will try to check if contact pairs are mapped normally between 2 consecutive contact detections but this is usually not needed, and costs time.
2. I saw a warning in the output: a particle may have 0 mass or MOI. This is because your MOI is super small in the simulation (~1-13). It appears to be fine in this case, but you can also consider using a different underlying unit system so the numerics are not so small for masses and MOIs. This is perhaps a minor issue.
3. I suppose you originally got a "too many contacts per sphere" error, and simply changed the tolerance in your subsequent simulations. Usually you do not need to change that threshold: Each sphere having on average more than 100 contacts is indeed strange, don't you think? That is common if the physics went bad in the simulation, and the whole system diverged. Having an error indicating particles moving at a velocity higher than the threshold is also likely linked to it (but this can depend on your unit system: for example the default threshold is 1000, but if your particles are moving at 1000mm/s then perhaps it is not abnormal, and you may want to manually change the threshold). You usually change the physics to make the simulation run, not the thresholds.
Ruochun