Skip to content

Edge-edge discontinuity of ESP energy #280

Open

Description

@xiangdonglai

Hi @fsichetti, I see in #259 that you have released your implementation of ESP. Congrats for the great work!

To understand this work better, I have set up a scene of a triangulated box, which applies EPS forces to a nearby edge, or another rigid box (which I treat as a rigid body and sum up the forces and torques). I have tried to produce a visualization of the force field by ESP using Polyscope. One thing that I notice is that the when an endpoint of an edge is move past the other edge, there is a sudden jump of force applied to the vertices. The attached videos show this situtation, and the script should be able to reproduce it (the only dependency should be polyscope).

May I know wheter you think this is exactly how ESP should work or I am doing something incorrect? How do you understand this phenomenon? Do you see this as an issue and do you see any fix for it? Thanks a lot in advance!

https://github.com/user-attachments/assets/d490c1d7-b0eb-41fa-9b64-bb29f60a4b96
https://github.com/user-attachments/assets/c79deae5-6cdb-4941-a30e-1fe9b6f1caf1

repro_toolkit_box.py
repro_toolkit_ee.py

Activity

  1. added theissue type on Oct 23, 2026
  2. removed
    bugSomething isn't working
    on Oct 23, 2026
  3. added this to the v2.0.0 milestone on Oct 23, 2026
  4. fsichetti commented on Oct 29, 2026

    @fsichetti
    Contributor

    Hi @xiangdonglai, this is a formulation issue with the EE quadrature that dominates when meshes are very coarse. The potential is not discontinuous but changes very abruptly. We have a fix that seems to drastically improve things, I will share it in the next few days as a PR. Thanks again for reporting the issue!

  5. xiangdonglai commented on Oct 29, 2026

    @xiangdonglai
    Author

    Thank you! @fsichetti Looking forward to the improved formulation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions