Giter Site home page Giter Site logo

Co-dimensional simulations about ipc-toolkit HOT 4 CLOSED

sdast9 avatar sdast9 commented on May 11, 2024
Co-dimensional simulations

from ipc-toolkit.

Comments (4)

zfergus avatar zfergus commented on May 11, 2024

I am not sure if you mean can the toolkit completely perform codimensional FEM simulations like in the CIPC paper, or if the toolkit has the necessary components to implement CIPC?

This code base includes the necessary components in order to add the IPC's frictional contact model to a simulation pipeline. This includes computing the barrier potentials, smooth friction dissipative potential, and performing CCD. What the toolkit does not have is the FEM components necessary to implement codimensional FEM (FEM basis, elasticity models, and optimization framework for time-stepping).

That being said, this toolkit contains most of the components shown in the CIPC paper.

Implemented

These features from the CIPC paper are already implemented.

  • Support for codimensional triangle-triangle, triangle-edge, triangle-point, edge-edge, and edge-point (in 2D) frictional contact.
    • This is sufficient for standard IPC and a lot of CIPC, but misses some types of contact (see below)
  • The IPC thickness model (i.e., $\xi$ offset in the barrier potential)
  • CCD between codimensional triangle-triangle, triangle-edge, triangle-point, edge-edge, and edge-point (in 2D)
    • This is using the Tight-Inclusion CCD method for guaranteed conservative CCD under floating-point
  • Thickness offset in the CCD
    • This is handled through Tight-Inclusion's minimum separation CCD.

Missing Features

The following components are missing, but could be easily added (I am happy to add them).

  • Support for codimensional edge-point (in 3D) and point-point contact.
    • These are important for contacts between codim. edges with codim. points and for contacts between particles (like in Fig. 22 "Granules on cloth" of the CIPC paper)
  • Strain limiting
    • This is more on the side of FEM but could be added to the toolkit. My only concern is it is a little out of scope.
  • CCD for contacts between edge-point (in 3D) and point-point contact
    • I believe we can add these using Tight-Inclusion CCD
  • Additive CCD
    • Instead we choose to use Tight-Inclusion because of its guarantees

from ipc-toolkit.

sdast9 avatar sdast9 commented on May 11, 2024

Thanks so much. My main interest is having a more robust discrete elastic rod framework than is currently implemented in Co-IPC. Eventually, I would want to be able to simulate rods interacting with a deformable solid geometry. Co-IPC gets 75% of the way there as currently written, but the implementation of rod physics is limited (only considers bending and rods that are straight in their stress-free configuration). I'm not a developer, so I'm just trying to determine the path of least resistance given my skills. Any plans to bring discrete elastic rods to polyfem (hint, hint). ;-) Seriously though, your work is amazingly impressive and appreciated! Thank you for bringing these tools to the public.

from ipc-toolkit.

zfergus avatar zfergus commented on May 11, 2024

Thank you for your nice comments. Adding shell and rod models to PolyFEM is something I have wanted to play with for a while, but I don't have a research project that motivates implementing it. I think it will eventually be implemented, but no timeline right now.

from ipc-toolkit.

zfergus avatar zfergus commented on May 11, 2024

Small update: #22 added the thickness offset in the CCD.

from ipc-toolkit.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.