新论文:有限元携手物理引擎,倒塌模拟新思路
论文链接:
https://www.mdpi.com/2076-3417/10/12/4408
图1 某真实复杂图书馆倒塌全过程模拟
00
推送浓缩版
(1)所提出的联合模拟框架有效结合了有限元方法与物理引擎的优点。
(2)联合模拟方法考虑了结构构件的碰撞,并可以模拟结构坍塌后废墟的分布。
(3)利用振动台实验验证了所提出的联合模拟方法比单独使用物理引擎的方法更准确。
(4)利用真实复杂图书馆建筑的案例分析验证了联合模拟方法的适用性。
01
研究背景
1
2
图2 地震后建筑倒塌废墟
左图图源:http://tse4.mm.bing.net/th/id/OIP.yUIqpebwWM2eW0sztQQyJQAAAA?pid=Api&rs=1
右图图源:
http://tse4.mm.bing.net/th/id/OIP.s1MWTej7TRRC2gkQzlUHKQHaFC?pid=Api&rs=1
图3 有限元大变形发生单元畸变
图 4 物理引擎模拟难以保证模拟的真实性
图5 非正经配图
02
有限元与物理引擎联合模拟框架
图6 联合模拟框架
图中倾斜加粗的字体表示所用到的程序,倾斜字体表示所用到的该程序的功能。
模块一:有限元模型建立与转换
使用有限元软件建立结构的有限元模型,将有限元几何模型转化为Blender中的Bullet物理引擎几何模型,并对几何模型进行刚体化。
模块二:小变形模拟与倒塌起始时刻确定
开展有限元非线性时程分析,获得结构在倒塌小变形阶段的结构响应。确定结构的倒塌起始时刻,提取结构有限元模型在倒塌起始时刻及之前各个时刻各点的位移和速度。
模块三:数据迁移与大变形倒塌模拟
根据有限元计算数据映射方法,将倒塌起始时刻结构的位移数据和速度数据映射到Bullet物理引擎模型中。然后采用BCB(Bullet Constraints Builder)预处理工具对几何模型进行预处理(具体方法参考论文),从而得到可用于物理引擎计算的模型。最后,使用Bullet物理引擎进行计算,获得结构的大变形的计算数据。
模块四:数据整合渲染与可视化
大变形倒塌分析完成后,使用Blender的渲染功能分别对结构小变形和大变形结果进行渲染,最终将渲染好的视频拼接得到结构倒塌的全过程。
03
关键技术
注意: 此部分过于细节,长话短说,这里仅简要介绍,具体实现详见论文。亦可跳过此节,从案例分析看起。
为了实现上述联合模拟框架,需要解决以下三个关键问题:
(1)物理引擎与有限元的几何模型及材料映射方法
物理引擎的倒塌模拟方法为刚体弹簧元,其单元与目前主流的有限元软件的单元有较大的差别,因此需要提出一种针对物理引擎与有限元软件的模型转换方法。
(2)倒塌起始时刻确定方法
要实现有限元与物理引擎的联合计算,需要根据有限元模拟结果确定有限元与物理引擎联合计算的切换时刻 (倒塌起始时刻)。
(3)有限元计算数据映射方法
有限元计算完成后,需要将有限元小变形计算数据迁移到物理引擎中。
3.1
几何模型及材料映射方法
(1)几何模型映射
采用Blender中提供的基本网格——立方体(cube)作为基础网格进行物理引擎模型构建,几何模型映射分两步:1)形状变换与位置变换:利用Blender提供的基本网格进行形状变换与位置变换,得到与有限元模型单元相同形状和位置的几何单元。2)单元刚体化:将几何模型转换为受物理引擎控制的刚体模型。具体实现详见论文。
图 7 Blender中实体结构建立方法
(2)BCB中材料属性映射方法
BCB会根据Blender中单元名称对单元进行分组。因此,在Blender中建立几何模型时,需要对单元的名称进行特别命名,以确保有限元中材料相同的单元被BCB划分到同一材料组中。具体命名方法详见论文。
3.2
倒塌起始时刻确定方法
本文的联合模拟方法为充分发挥有限元与物理引擎的优势,在倒塌起始时刻Tc前,采用有限元模型计算;在倒塌起始时间点Tc之后,采用物理引擎模型计算。因此,倒塌起始时刻的确定十分重要。部分研究表明可将竖向位移为1m作为倒塌判据。由于这一倒塌判据物理意义明确,因此本文将其选为倒塌起始时刻Tc的确定依据。
3.3
有限元计算数据映射方法
有限元数据映射包括位移场映射与速度场映射。为了实现从有限元到物理引擎BCB的位移场与速度场映射,需要使用Blender的关键帧插入技术。关键帧可定义物体某种状态的起止点,比如:定义位移起止点的位移关键帧与定义运动模式起止点的运动模式关键帧。Blender中有两种运动模式:按照动画系统运动,即物体的运动受位移关键帧控制;按照物理引擎模拟运动,即物体运动受物理引擎计算控制。
(1)位移场映射方法
位移场映射仅需使用位移关键帧,结构到达倒塌起始时刻Tc之前,其构件运动由位移关键帧控制,按照有限元计算结果运动。Blender仅仅完成有限元计算结果的显示,Bullet物理引擎未参与计算。
具体的位移场映射方法如下图所示。
图 8 位移场映射方法
(2)速度场映射方法
速度场映射的目的保证在倒塌起始时刻Tc,有限元模拟切换到BCB模拟时,不仅保证位移一致(采用上一节位移场映射方法),而且速度也保持一致。有限元计算的速度场数据的映射需要使用位移关键帧与运动模式关键帧。
Blender中的速度映射只能通过相邻位移关键帧进行位移差分得到。如果直接使用有限元倒塌起始时刻的位移场xj及倒塌起始时刻前一时刻的位移场xi进行速度映射,那么得到的是近似的割线速度,而非倒塌起始时刻有限元模拟的真实速度。而物理引擎中下一时刻物体的位置,由上一时刻物体的位置和速度确定,因此采用割线速度会导致误差。
因此,本文提出了一种虚拟位移向量的计算方法,将虚拟位移向量xvirtual替换xi,即可实现倒塌关键帧的真实速度场与位移场的映射。其大致思路如图9所示,具体实现详见论文。
图 9 虚拟位移向量映射方法
04
案例分析
4.1
三层框架振动台试验验证
为了验证本文提出的有限元与物理引擎联合计算方法的可靠性,分别采用仅使用有限元、仅使用物理引擎、本文联合模拟方法,三种方法建立了三层框架结构并进行倒塌模拟分析。其结果如图10所示。与试验结果对比,可见本文联合模拟方法,废墟分布模拟效果最佳。
图10 三种方法倒塌模拟效果对比
4.2
某真实复杂图书馆倒塌模拟
为了说明本文提出的模拟方法对真实复杂结构的适用性,采用某图书馆进行了倒塌计算。该建筑为框架剪力墙结构,总高度19.8 m。利用本文提出的方法对其进行倒塌模拟,其倒塌全过程如图11所示与最终废墟分布结果如图12所示。
图 11 某图书馆倒塌全过程
图 12 某图书馆倒塌后废墟分布
05
结论
本文提出了基于有限元与物理引擎联合模拟的计算框架,采用该方法对一个三层框架的振动台倒塌试验以及某真实图书馆开展了倒塌模拟。相关结论如下:
(1)本文提出的框架,在小变形阶段采用限元模拟,在大变形阶段采用物理引擎模拟,充分利用了两者的优势,可以避免有限元在大变形模拟中难收敛,无法形成废墟,以及物理引擎小变形阶段模拟准确度不高的问题。
(2)本文通过某框架验证算例,验证了本文所提出的倒塌模拟方法比仅使用物理引擎的倒塌模拟方法废墟模拟准确性更高。并以某图书馆倒塌案例展示了本框架倒塌模拟的高真实感效果。
(3)本文提出的方法能够考虑结构块体的碰撞,在结构倒塌后保留了结构的残骸,可以为建筑倒塌搜救训练提供支持。
在实现本文所提出的框架时,选择了MSC. Marc、开源的BCB脚本与Bullet物理引擎。需要注意的是,本文所提出的有限元与物理引擎联合模拟框架同样适用于其他有限元软件和物理引擎。
06
尾声
本文研究本来是为了地震倒塌可视化模拟提供一些技术手段,但是没有想到这个技术开发出来后,也在多次事故分析中得到应用,典型案例比如:1. 2020年,我国南方某钢结构倒塌事故倒塌过程和废墟分布模拟。
2. 2021年,美国佛罗里达州高层公寓倒塌事故倒塌过程和废墟分布模拟。
郑哲
---End---
相关研究
专著
人工智能与机器学习
城市灾害模拟与韧性城市
高性能结构与防倒塌
新论文:抗震&防连续倒塌:一种新型构造措施
长按识别二维码,关注我们的科研动态