Skip to content

Added ellipsoid fluid model for MJX (w/o implicitfast) #2660

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

vishnusangli
Copy link

Description

We have implemented Mujoco's ellipsoid fluid model in MJX for fast and parallelizable fluid model simulation.

Changes

  • Implemented ellipsoid-based passive fluid forces at the geom level, including support for viscous drag, lift, and added mass effects.
  • Added per-step filtering logic to ensure that a single body does not receive both box and ellipsoid forces—box forces are applied only to bodies without any geoms marked for ellipsoid interaction. (use_box_model is a (nbody, ) local variable declared in _fluid function, could become a mjx.Data attribute)
  • Integrated the ellipsoid model into _fluid and updated passive to store and return qfrc_fluid separately.
  • Extended unit tests to validate the full fluid force pipeline using dummy aerodynamic coefficients.

Limitations

Ellipsoid model is not yet implemented for the mjx implicitfast integrator backend due to instability with fluid force derivatives. The implictfast integrator is stable but inexact without any force derivatives.

Copy link

google-cla bot commented Jun 1, 2025

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

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