Skip to content

Fix particle_clip_cells for NCLaw shape scenes - #3

Open
chhsiao93 wants to merge 1 commit into
kks32:mainfrom
chhsiao93:fix/nclaw-shape-clip-bound
Open

Fix particle_clip_cells for NCLaw shape scenes#3
chhsiao93 wants to merge 1 commit into
kks32:mainfrom
chhsiao93:fix/nclaw-shape-clip-bound

Conversation

@chhsiao93

Copy link
Copy Markdown

particle_clip_cells was 0.5 for all scenes, but bunny/blub/spot use sim.bound (3) and armadillo uses 1

NCLaw's own nclaw_bc grid semantics were being replayed with a single particle_clip_cells=0.5 for every scene, matching every material's base env/blob/*.yaml. But their mesh-shape configs (bunny.yaml, blub.yaml, spot.yaml) override clip_bound to ${sim.bound} (3 at both the low and high quality presets used here), and armadillo.yaml fixes it at 1.

Missing this let our rollouts settle roughly one grid cell past NCLaw's actual floor on plasticine/sand/water's shape scenes -- confirmed by comparing settled particle height against both engines' own grid_op_freeslip kernels (identical index arithmetic) and against NCLaw's own advection clamp (nclaw/sim/mpm.py, new_x = wp.clamp(new_x, bound, 1-bound)). It was the sole cause of those scenes diverging hard from NCLaw's own trajectory even when seeded from the exact truth parameters: plasticine/shape_bunny's truth-theta MSE went from 2.7e-04 to 6.0e-11 (full tier) after this fix, in line with every other scene.

…s, but bunny/blub/spot use sim.bound (3) and armadillo uses 1

NCLaw's own nclaw_bc grid semantics were being replayed with a single
particle_clip_cells=0.5 for every scene, matching every material's base
env/blob/*.yaml. But their mesh-shape configs (bunny.yaml, blub.yaml,
spot.yaml) override clip_bound to ${sim.bound} (3 at both the low and
high quality presets used here), and armadillo.yaml fixes it at 1.

Missing this let our rollouts settle roughly one grid cell past NCLaw's
actual floor on plasticine/sand/water's shape scenes -- confirmed by
comparing settled particle height against both engines' own grid_op_freeslip
kernels (identical index arithmetic) and against NCLaw's own advection clamp
(nclaw/sim/mpm.py, new_x = wp.clamp(new_x, bound, 1-bound)). It was the sole
cause of those scenes diverging hard from NCLaw's own trajectory even when
seeded from the exact truth parameters: plasticine/shape_bunny's truth-theta
MSE went from 2.7e-04 to 6.0e-11 (full tier) after this fix, in line with
every other scene.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant