a1600012888 / PhysDreamer

Code for PhysDreamer
505 stars 25 forks source link

Why MLS-MPM? #18

Closed Loping151 closed 2 months ago

Loping151 commented 2 months ago

First, thanks for your excellent work.

In the paper, you mentioned you used MLS-MPM(citing MLS-MPM and PhysGaussian) as the simulator. However, I don't see in the PhysGaussian paper that they claim they use MLS-MPM. Instead, their MPM is closer to the paper 'A material point method for snow simulation' to my understanding. I'm not confident to say I know MPM, but I really wonder the reason to ref to MLS-MPM.

a1600012888 commented 2 months ago

Hi, I just reviewed the code, and you’re right—thanks for pointing this out!

For MLS-MPM, one major difference is that it use $Cp$ to approximate $\nabla v$, bypassing the need to compute $\nabla w{ip}^n$, which is tedious to compute. (see row 4,5 of equation(15) of PhysGaussian paper. and equation (17) of the mls-mpm paper).

I checked the code here: https://github.com/a1600012888/PhysDreamer/blob/main/physdreamer/warp_mpm/mpm_utils.py#L493 (also line 479), the implementation adopted from PhysGaussian does not use this approximation.

A PyTorch-friendly MLS-MPM implementation can be seen at https://github.com/PingchuanMa/NCLaw/blob/main/nclaw/sim/mpm.py#L485, I initially considered using this code but switched to the PhysGaussian implementation later, maybe this gives me the false impression that I was using the mls-mpm.

Thanks for pointing this out, I will revise the ref and notation in the paper.

Loping151 commented 2 months ago

OK. Thanks for your review and response.