8

有限元学习笔记:Invertible(可翻转)有限元

 3 years ago
source link: https://zhuanlan.zhihu.com/p/128599650
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

有限元学习笔记:Invertible(可翻转)有限元

计算机图形学话题下的优秀回答者

最近自己在搞一些有限元仿真方面的算法, 很自然而然地就对有限元仿真算法进行了一些深挖, invertible有限元这个概念很老了, 不过自己一直是搞流体的, 最近才尝试了一把FEM, 便把一些心得和笔记整理一下:

注意, 这不是什么前沿新东西, 都是基础的概念但也许可以很好地为初学者提供价值。

v2-32c49675ee82d7cd5187faaa9be34383_720w.jpg
v2-adfa6008fc4b89c46936b7240741102e_720w.jpg

可翻转有限元,就是希望在这种极限状态下, 不通过碰撞检测去避免有限元反转,而通过连续的,非判断式的数学方法来使得系统能重新回到正确的物理状态。

以上视频展示了一个非可逆有限元的运行, 当发生有限元反转时, 系统不可恢复地往更糟的放向加速运动过去了。

以上是使用可翻转有限元做的同样的有限元仿真, 虽然穿透是物理不真实的, 但是可翻转有限元总是试图将系统变回自己的初状态。

在更复杂的,形态变化大的交互环境中,有限元的反转不可避免,非可翻转fem根本无力应对。

上图:可翻转有限元, 隐式积分, dt=0.01, 形变运动自如. 200k tets

上图: 不可翻转有限元, 有限元的翻转导致数值积分爆炸(注意此处用的还是隐式积分法!!).

上图: 即使使用更小的dt=0.001, 试图避免穿透, 穿透依然不可避免地发生了, 爆炸.

上图: 无奈把材料硬度加大, 从而避免穿透发生.

可翻转有限元更多的一些例子: 目前因为已经完全实现了一致的可翻转有限元算法, 所以都能复现, 不过懒得着手了, 就贴原论文的视频了:

结论一

只有是像这样的有限元仿真系统, 才可能支持应对实时仿真中可能出现的各种自由交互. 并且这样的有限元建模手段, 既能有效应对反转和穿透,也是物理级真实和可信的.

那么。。。不知这个方法该如何实现呢?

其实实现的原理并不复杂, 只需要对形变梯度做svd分解就可以,

对于给定的形变梯度 [公式]

找到 [公式] ,使得 [公式] , 由于svd分解不是唯一的, 此处特别要求找到的 [公式] 要符合 [公式]

可以通过使用技术报告

A. McAdams, A. Selle, R. Tamstorf, J. Teran and E. Sifakis,

Computing the Singular Value Decomposition of 3x3 matrices with minimal branching and elementary floating point operations

中所描述的共轭雅克比迭代来完成这个分解计算。其高效的gpu实现可以在

https://github.com/littlemine/3x3_SVD_CUDA/blob/master/svd3x3/svd3x3/svd3_cuda.h​github.com

在找到svd分解以后,我们的first Piola-Kirchhoff stress的计算会修改为(此时使用linear elasticity模型作为举例)

[公式]

此时又可以回到我们之前所说的力的计算与隐式积分方法了, 此处不赘述了。

invertible FEM还有很多改进, 比如同样是来自Joseph的作品,

Energetically Consistent Invertible Elasticity​diglib.eg.org

Energetically Consistent Invertible Elasticity

Energetically Consistent Invertible Elasticity​diglib.eg.org

以及同样又是来自Joseph Teran的作品 stable neo-hookean:

https://dl.acm.org/ft_gateway.cfm?ftid=1950774&id=3180491​dl.acm.org

今天有关可翻转有限元分析的小分享就讲到这里了。大家晚安。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK