Implement multi-cell finite element method for interpolated flexes.
This change introduces a `flex_cellcount` field to `mjModel` to specify the number of cells in each dimension for interpolated flexes. The stiffness computation, passive force calculation, and Jacobian derivatives are updated to operate on a per-cell basis, significantly improving performance by localizing computations to the nodes within each cell. PiperOrigin-RevId: 901216393 Change-Id: Ic23132e609de11e71bb7fef8d1f139daad2ec264
This commit is contained in:
committed by
Copybara-Service
parent
8415dff307
commit
6c7ed66781
+19
-2
@@ -3700,8 +3700,14 @@ saving the XML:
|
||||
.. _body-flexcomp-count:
|
||||
|
||||
:at:`count`: :at-val:`int(3), "10 10 10"`
|
||||
The number of automatically generated points in each dimension. This and the next attribute only apply to types grid,
|
||||
box, cylinder, ellipsoid.
|
||||
Specifies the number of automatically generated points in each dimension for types **grid**, **box**, **cylinder**,
|
||||
and **ellipsoid**.
|
||||
|
||||
.. _body-flexcomp-cellcount:
|
||||
|
||||
:at:`cellcount`: :at-val:`int(3), "1 1 1"`
|
||||
Specifies the number of cells in each dimension for the background interpolation grid when using **trilinear** or
|
||||
**quadratic** dofs.
|
||||
|
||||
.. _body-flexcomp-spacing:
|
||||
|
||||
@@ -4242,6 +4248,17 @@ cases, the user will specify a :el:`flexcomp` which will then automatically cons
|
||||
An array of MuJoCo body names (separated by white space) to which each node belongs. The number of body names
|
||||
should equal the number of nodes (nnode). See the flexcomp :ref:`dof<body-flexcomp-dof>` attribute for more details.
|
||||
|
||||
.. _deformable-flex-cellcount:
|
||||
|
||||
:at:`cellcount`: :at-val:`int(3), optional`
|
||||
When using **trilinear** or **quadratic** dofs, this specifies the number of cells in each dimension for the
|
||||
background interpolation grid.
|
||||
|
||||
.. _deformable-flex-dof:
|
||||
|
||||
:at:`dof`: :at-val:`[trilinear, quadratic], optional`
|
||||
Interpolation order for the flex.
|
||||
|
||||
.. _flex-edge:
|
||||
|
||||
:el-prefix:`flex/` |-| **edge** |?|
|
||||
|
||||
Reference in New Issue
Block a user