Implement bending forces for interpolated flex shells.
This change adds a new passive force computation for flexes with elastic2d="bend" and dof="trilinear". The bending energy is based on the squared difference of normals between adjacent face elements at their shared edge midpoint. The edge data is precomputed during model compilation and stored in flex_bending. PiperOrigin-RevId: 910772638 Change-Id: I3b12c7b7f1ba6ac1875df495d89e8cfec921ca80
This commit is contained in:
committed by
Copybara-Service
parent
a692283db3
commit
d933b195ee
@@ -33,7 +33,6 @@
|
||||
<flexcomp type="grid" count="9 19 1" spacing=".05 .05 .05" mass="10"
|
||||
name="flag" radius="0.001">
|
||||
<edge equality="true" damping="0.001"/>
|
||||
<elasticity poisson="0" thickness="1e-2" young="3e6" elastic2d="none"/>
|
||||
</flexcomp>
|
||||
</body>
|
||||
</worldbody>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
origin="0 0 0" count="8 2 12" cellcount="6 1 6"
|
||||
type="grid" name="soft_mesh_2" dim="3" spacing=".025 .05 .025"
|
||||
mass="0.43" radius="0.005" dof="trilinear" rgba="0.9 0.7 0.7 1">
|
||||
<elasticity young="0" poisson="0.3" damping="0.01" elastic2d="bend" thickness="0.03"/>
|
||||
<elasticity young="1e5" poisson="0.3" damping="0" elastic2d="bend" thickness="0.03"/>
|
||||
<edge equality="strain" solref="0.001 1" solimp="0.99 0.999 0.001"/>
|
||||
<contact selfcollide="none"
|
||||
internal="false"
|
||||
|
||||
Reference in New Issue
Block a user