yuanming-hu / taichi_mpm

High-performance moving least squares material point method (MLS-MPM) solver. (ACM Transactions on Graphics, SIGGRAPH 2018)
MIT License
2.34k stars 317 forks source link

error: static assertion failed #22

Open forfor112 opened 5 years ago

forfor112 commented 5 years ago

Hey,

the following error appears several times with TC_USE_DOUBLE=1 on installing mpm. error: static assertion failed: GridState<2> size must be POT static_assert(bit::is_power_of_two((int)sizeof(GridState<2>)),

CPU info: Model: 60 Model name: Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz

forfor112 commented 4 years ago

any comment on this topic?

yuanming-hu commented 4 years ago

Hi, is there a specific reason why you want double-precision mpm? I think it is double precision for MPM is out-of-maintenance for a while and may not be fixed easily.

forfor112 commented 4 years ago

For simulations with high stiffness and consequently small time steps (in the order of -6), there are particles moving slightly during the simulation, though they should not! In other words, a pattern of rectangular tiles is forming in the non-disturb region. I guess it might be related to the single precision compilation as this effect disappear if lower stiffness is adopted.

forfor112 commented 4 years ago

do you think this topic will be fixed in the future?

haeriamin commented 4 years ago

Resolving grid structure to be POT is easy but @yuanming-hu, could you please address the other sources of the errors when using the double-precision option? It would be really important to use that as @forfor112 mentioned.