我在清华讲授《钢筋混凝土有限元》已经20多年了,这门课的教学内容包括了多种混凝土的本构模型,例如非线性弹性本构模型,弹塑性本构模型,损伤力学模型等。如果可以让学生实际动手尝试每种本构模型,那显然对教学很有帮助。但是,却一直苦于缺少一个好的教学平台:常见的有限元软件一般只有一、两种混凝土模型,比如ADINA软件中只有非线性弹性本构模型,MSC.Marc中只有弹塑性本构模型。这样一来,即便不考虑复杂的软件版权问题,让学生一学期学会那么多有限元软件的操作也是不现实的。例如,学生要体验非线性弹性本构模型,那可能就要把ADINA软件的操作界面、网格划分、单元和材料定义、加载和控制、求解技巧等系统学一遍。如果要体验弹塑性本构模型,那就要把ABAQUS软件的的操作界面、网格划分、单元和材料定义、加载和控制、求解技巧等再系统学一遍。打个武侠世界的比方,老师本想把少林绝技多教一些给学生,奈何要掌握韦陀掌,得让学生把少林长拳、罗汉拳都学一遍。要掌握达摩剑法,就得让学生把罗汉剑法、伏魔剑法都学一遍。实操起来难度确实很大。
有没有解决办法呢?《天龙八部》上有一个剧情:鸠摩智用小无相功做功底,把少林七十二绝技都演示了个七七八八,如果教学上也能找到一个可以演示各类混凝土本构模型的“小无相功”,那教学难度可能就会显著降低。
开源软件OpenSees具有众多的单元、材料模型和非线性算法,本身是一个很好的软件平台。但是OpenSees也有缺点:就是这个软件学习起来也不容易。OpenSees一直缺少方便的前后处理工具,且作为一个开源软件,安装、编译、操作都很复杂。也是我们之前在教学中一直用得不太好的原因之一。但是现在有了AI + vibe coding之后,OpenSees之前的弱点——没有好的图形界面、只能用脚本或者python操作——突然全变成了优点:Vibe coding最喜欢的就是命令行和脚本的操作模式,OpenSees的入门难度极大降低:只要把分析任务和AI说清楚,后面AI都可以操作OpenSees全自动搞定(参见图1)。所以,OpenSees + vibe coding就非常适合当做“小无相功”来让大家实操不同的混凝土本构模型。

图1 用AI + vibe coding来操作OpenSees
《天龙八部》中还提到,小无相功还有一个非常特殊的好处,就是可以“功法传递”,比如无崖子就把毕生功力一下子传给了虚竹。OpenSees + Vibe coding这个“小无相功”也有这样的能力。比如OpenSees本没有混凝土的非线性弹性本构模型,那就直接使用vibe coding的“许愿编程大法“,让AI把ADINA的Bathe-Ramaswamy非线性弹性混凝土本构移植到OpenSees当中。然后AI一顿忙活,24-48小时后OpenSees就多了一个和ADINA模型一样的新非线性弹性混凝土本构模型(详见:新论文:基于AI Vibe Coding的有限元软件开发研究——以Bathe-Ramaswamy本构向OpenSees集成为例)。
通过这种方法,我们把ADINA的Bathe-Ramaswamy本构、ABAQUS的Smeared Cracking Concrete 本构,以及江见鲸本构模型等,都在OpenSees里面实现了初步集成(图2),学生可以进行分析、对比和测试。

图2 规划在OpenSees中可以实操的混凝土本构模型
当然,我们还是要强调一下,我们在OpenSees里面复现的这些本构模型,毕竟和原版有限元软件还是有少许差别的。就像“小无相功”发动的少林七十二绝技毕竟不是真实的少林七十二绝技。不过这个用来课堂教学应该是够用了。
本工作目前还只是一个初步的尝试和探索,学生学习效果如何还有待这学期课程教学的检验。无论如何,这一轮AI革命给每个行业都会带来深远的影响,包括对大学和研究生的课程教学。如何探索适合AI时代的土木工程教学模式,是一个非常值得大家一起研究和探索的问题。
最后,特别感谢本课程助教夏吉康同学等对课程的贡献。
其他教学相关文章
---End---
建筑结构生成式智能设计软件:
相关研究
学术报告视频
专著
人工智能与机器学习
---结构智能设计
建筑平面您说咋改就咋改,剩下的都交给AI了|新论文:ChatHouseDiffusion:提示词引导的建筑平面图生成与编辑方法
三大生成式AI + 三大优化算法,谁是BRB加固设计的最优组合?| 新论文:钢筋混凝土框架结构BRB智能加固设计方法对比分析
---其他土木工程领域人工智能研究
城市灾害模拟与韧性城市
高性能结构与防倒塌
新论文:抗震&防连续倒塌:一种新型构造措施
长按识别二维码,关注我们的科研动态
