Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Average body mass in IPC-toolkit vs average lumped nodal mass in IPC #49

Closed
halehOssadat opened this issue Jun 30, 2023 · 4 comments · Fixed by #50
Closed

Average body mass in IPC-toolkit vs average lumped nodal mass in IPC #49

halehOssadat opened this issue Jun 30, 2023 · 4 comments · Fixed by #50
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@halehOssadat
Copy link
Contributor

I have a question about the arguments in adaptive barrier stiffness function called ipc::initial_barrier_stiffness, it has one argument called const double average_mass which indicates as average mass of all bodies while in IPC function called suggestKappa(kappa) and according to Supplement of IPC paper, it should be average of lumped nodal mass. Does it the same as IPC?
And what types of CCD IPC-toolkit does use for ipc::compute_collision_free_stepsize, it seems that it is TIGHT_INCLUSION while it seems that IPC uses FLOATING_POINT_ROOT_FINDER as default. Can I use this with IPC-toolkit?

@halehOssadat halehOssadat added the bug Something isn't working label Jun 30, 2023
@zfergus zfergus added documentation Improvements or additions to documentation and removed bug Something isn't working labels Jun 30, 2023
@zfergus
Copy link
Member

zfergus commented Jun 30, 2023

The average_mass indeed refers to the "average lumped nodal mass" as described in the supplemental document of our original IPC paper.

By default, the IPC Toolkit uses the Tight-Inclusion CCD algorithm. To use the same CCD as in the original IPC codebase you can set the CMake option IPC_TOOLKIT_WITH_CORRECT_CCD to OFF.

@halehOssadat
Copy link
Contributor Author

Thanks for your clarification, I assume that ipc::compute_collision_free_stepsize doesn't compute the CFL-INSPIRED CULLING OF CCD. I also want to implement this part using IPC-toolkit, but I am not sure what is the equivalent functions for sh.build(result, searchDir, alpha, result.avgEdgeLen / 3.0); and what is the best way to do it using IPC-toolkit?

@zfergus zfergus added the enhancement New feature or request label Jul 23, 2023
@zfergus
Copy link
Member

zfergus commented Jul 23, 2023

I added the CFL-inspired culling of CCD in PR #50. I will merge it in once I test it. Feel free to use the branch if you want to try it out.

@zfergus
Copy link
Member

zfergus commented Jul 23, 2023

See this file for example usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants