Skip to content

Add Newton MPM tuning guide and controlled demos - #7897

Draft
maxkra15 wants to merge 9 commits into
isaac-sim:developfrom
maxkra15:maximiliank/combined-pr-7609-7637-7640
Draft

maxkra15 wants to merge 9 commits into
isaac-sim:developfrom
maxkra15:maximiliank/combined-pr-7609-7637-7640

Conversation

@maxkra15

@maxkra15 maxkra15 commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Description

Add controlled Newton MPM tuning examples and a discoverable solver/material tuning guide. Merge current develop into the feature branch and keep the final diff focused on tuning demos, their documentation, and the proxy-feedback configuration needed by the G1 comparison.

Organization and scope

  • Keep four directly runnable scene examples in scripts/demos/mpm/tuning/: a ten-preset material runner, nearly rigid MPM versus MJWarp primitives, G1 particle coupling, and surface reconstruction.
  • Put the methodology in docs/source/concepts/solver-tuning/tune_mpm.rst, alongside the existing VBD, MJWarp, PhysX, and Kamino guides. Link it from the MPM introduction, demos page, and local README.
  • Follow the existing deformable-material comparison approach, separating numerical convergence, material response, coupling, and rendering. Document deterministic jitter, per-axis particle density, sufficient observation time, and the limitations of qualitative examples.
  • Expose fixed/adaptive proxy-feedback relaxation through CouplerProxyMappingCfg. Explain why zero fixed relaxation from a fresh state means one-way coupling and why mode="lagged" does not.
  • Preserve requested concurrent Newton viewer configurations; add regression coverage and register all four demos with the existing standalone-script smoke matrix.
  • Leave post-step collider projection disabled in the granular, material-tuning, and surface demos. They use the implicit solver's normal contact handling; collider margins are unchanged. Regression tests verify that the demo configurations do not opt into projection.
  • Keep media, capture/export tooling, benchmark artifacts, and training changes out of Git. No new dependencies.

Media and remaining draft work

The guide has labeled, versioned publication slots rather than broken public video links. A local presentation archive contains 23 MP4s plus posters, capture parameters, and checksums. This archive is not the publication selection: publish only reviewed clips referenced by the documentation. Franka Pour and UR10 Particle Push clips belong with their task/policy documentation, not this tuning batch; standalone benchmark footage is also outside this PR's tuning scope.

The established documentation media host is https://download.isaacsim.omniverse.nvidia.com/isaaclab/images/, including video files. Publication is coordinated through the documentation-media owners, separately from normal simulation-asset synchronization. No files have been uploaded or made public by this PR.

The archived MP4s passed saved-checksum, codec/frame-count, and full-decode checks. Those checks verify file integrity, not physical correctness. Recordings made with post-step collider projection need review or re-recording before they illustrate the corrected, projection-disabled demos.

Historical G1 recordings use 25 mm voxels and 20 cm strips; the cleaned-up demo defaults to 40 mm voxels and 16 cm strips. The selected older one-way and full-body two-way clips have different proxy selections and are explicitly not advertised as a matched single-variable comparison. Older rigid-MPM footage is illustrative, not a current accuracy validation.

Validation

  • uv run --frozen python -m pytest source/isaaclab/test/app/test_standalone_scripts.py source/isaaclab_contrib/test/coupling/test_coupler.py -q -k 'not launch' — 101 passed, 398 opt-in runtime cases skipped, 9 deselected.
  • Renderer-selection and collider-projection regressions: all three cases in each regression fail before the respective fix and pass afterward.
  • After disabling projection, the granular demo completed a two-step headless CUDA smoke run with 48,000 particles.
  • Earlier two-step CUDA smoke checks before the projection-removal follow-up: material and rigid comparisons with --visualizer none at coarse resolution; G1 with Newton GL and Kit at the default resolution; surface reconstruction with Newton GL including a render update.
  • These are launch/step checks, not a full renderer matrix, full-length physics validation, or new video recordings. Existing Newton color-workaround warnings remain.
  • uv run --frozen isaaclab -f — passed.
  • uv run --frozen python tools/changelog/cli.py check develop — passed.
  • Full HTML documentation output validated with warnings treated as errors. After fixing one heading underline found by make -C docs current-docs, the follow-up uv run --frozen --isolated --extra test --extra dev -- sphinx-build -W --keep-going -j auto . _build/current (from docs/) passed without warnings. Both extras are selected because this branch keeps Sphinx in dev.

Type of change

  • New feature (non-breaking change which adds functionality)
  • Documentation update

Release backport

  • Backport this pull request to the active release branch after it merges into develop

Screenshots

Video publication slots are included in the guide. Encoded media are intentionally not committed.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with uv run isaaclab -f
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have added a changelog fragment for every touched source package
  • My name already exists in CONTRIBUTORS.md

@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team labels Sep 19, 2026
@maxkra15

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 19, 2026
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 isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant