View Single Post
  #2  
Old 01-06-2014, 09:57 AM
performlabrit performlabrit is offline
Member
 
Join Date: Oct 2013
Posts: 77
I've shared this problem with a good friend, and master of ODE (open dynamics engine). The physics engine used by Vizard (OPAL) is just a high-level interface to ODE. He was pretty confused by the issue I'm having, and took a look.

His conclusion is that I should have a perfectly elastic collision when hardness, density, and bounciness are set to 1. If the collision is not perfectly elastic, it's likely because of the way the collision is calculated.

Upon a collision, ODE creates a "collision joint," which has a few influential parameters associated with it. For example, having a constraint force mixing (CFM) parameter > 0 affords some robustness/flexibility in calculations related to the collision at the cost of accuracy. If CFM is 0, then one will have more accurate calculations, but the system will be more likely to crash. By default, the CFM is > 0, and thus a likely source of lost energy upon collision.

To test our guess, that the issue is caused by a CFM > 1 would require the ability to change the CFM of a collision joint. Unfortunately, Vizard/OPAL does not allow the user to modify the CFM parameter. Furthermore, I cannot modify opal, because Vizard provides only the DLL files, and not the source code. I will contact Vizard to see if they can add the function, and will report back.

- gD

Last edited by performlabrit; 01-06-2014 at 10:03 AM.
Reply With Quote