从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例

划重点:通过本文,初步了解有限元软件的计算内核和前后处理器的对计算机性能和编程语言的要求,基于此,我们应该选择门槛最低的GUI方法去娴熟有限元软件。本文通过对比学习Abaqus 和OpenSees的过程, 建议各位可以尝试使用STKO搭载OpenSees像使用具有友好GUI 的商业有限元一样使用OpenSEES, 而无需任何编程能力。(本文由心尘轩博士执笔,就读于香港理工大学,如果各位对STKO 有兴趣,可加入群752746704,相互交流学习)


1. 前言:

作者曾执笔无需TCL编程能力,STKO带你轻松玩转OpenSEES》,如果有兴趣可以点击下

面连接查看(https://www.jishulink.co m /content/post/1848287 ),上一篇推文,作

者翔实论述了OpenSees混合编程Tcl+CPP)的本质,并用一个案列论证了STKO 可以使

们轻松便利的玩转Opensees,而无需任何的编程能力。


2. 正文:

本文则站在更高的维度来横向对比其他商业有限元如Abaqus 的学习方法,以此来论述为什么建议初学者可以借助具有友好GUI界面的STKO 掌握OpenSEES的学习和使用.

在学习有限元前,我们必然已经掌握基本的有限元理论,这对我们更好地了解有限元软件时大有裨益的。本质上,任何有限元应该包括三部分内容:与求解相关模块,前处理模块,后处理模块。其中决定一个有限元优劣的就是其求解模块因此可以说,有限元软件的CPU就是其求解模块。求解模块的求解速度,收敛性,材料库,单元库,相互作用,算法,这一整套代码库就可以将我们的有限元模型按照自由度组装成刚度矩阵方程,按照一定的算法,进行刚度矩阵方程的求解,或者对该系统的微分方程进行积分等数值求解,上述的过程就是该模块的主要工作,而这部分工作需要较大的计算资源。所以对于该模块的代码编写,一般多采用能够调用电脑资源的编程语言,比如C和Fortran。我们常见的商业有限元软件Abaqus和ansys 的求解模块均Fortran 语言编写的,这也是为什么,我们经常看到很多学者基于自己课题研究的需要,通过Fortran语言编写了很多材料的umat 或者vumat的子程序,实际上就是对abaqus 的材料库进行了扩充。但是Fortran 语言相比C在调用计算机计算资源这方面,却远远不及,这也是为什么,我们发现相同的自由度规模的分析,Opensees 的速度较Abaqus 快很多。更不用说,Opensees 中拥有最为强大的材料库和单元库,每年都会有很多来自全球的学者开发相当的代码来扩充OS 的求解模块。

而对于有限元软件的前后模块,则对计算性能要求不高,所以通常用其他的编程语言进行GUI的设计,比如我们常用的abaqus 就是采用python 语言进行前后处理器的设计的。前处理模块,主要功能就是实现和使用者的交互,你在窗口上的点击交互,会激发它自动生成某些代码,比如你在用鼠标操作abaqus的每一步,都会在对应的abaqus.py文件中输出相应的代码如图1

从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例的图1

图1 Abaqus.py中对应GUI 操作代码

最终abaqus 会自动把这些由GUI出发产生的代码转换为通用格式ASCII .inp 文件,由这些命令流去触发abaqus 求解模块,使其采用相应的材料,单元,作用,算法,荷载,来形成有限元模型,并对其求解。

上述分析,也就说明,我们在建立abaqus 模型时,可以采用三种方式建立模型,一是GUI操作,二是基于python 写模型的script, 三是直接写.inp 文件。 但是对于上述过程,对于初学者而言,或者大多数已经使用abaqus 的用户,如果不做二次开发的话,想必对后两者的方法都相当陌生。也只有高阶的用户才会用到零星的半点,比如常见地,我们需要给结构施加初始缺陷时,是直接在关键字中增加的,这就是因为,目前GUI 的操作没有这个选项,而我们直接对inp 文件进行了干预。这也就从侧面说明了一个有限元的友好的前处理器对于初学者时多么重要。也就是说,如果opensees 能够有一个强大的GUI 面,我们也可以完全不去理会tcl 命令流,就像我们可以几乎可以不理会abaqus 基于python 的script 或者inp 文件一样,享用opensees。

然而在过去的很长一段时间里,尽管Opensees 由于其出色的求解模块而活跃于科研圈,但其价值还远远没有被充分发掘出来,究其原因,主要就是没有友好的GUI,初学者需要编一定的tcl 命令,来和Opensees 的求解模块进行数据交互,而这个过程,对于研究课题相对简单的使用者来说,还能接受,一旦研究的课题空间化,复杂化,壳和实体化,通过tcl的编写,尽管高手也有点捉襟见肘,所以我们必须要有一个强大的前后处理器来进一步扩大opensees 不光在科研圈,也在工程界的影响,当然在这个进程,很多学者做了很多的努力,比如内地的陈学伟博士,加拿大的 Prof. Tony Yang.但总的来说Opensees 的前后处理还不是很友好。

作者基于自己使用用户体验,推荐由意大利ASDEA 公司为Opensees量身定制的基于CAD 操作的前后处理STKO 软件,成功无缝对接Opensees,形成新一代有限元软件,该软件为Opensees 的进一步推广必然有一定促进作用,该软件也被Openses 官方网站特别推荐,如图2

从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例的图2

图2 Opensees 官网

3. 案例1

以一个具体案例来说,对于如下图的三维多层多跨钢框架,如果我们需要用tcl 命令去写,是很复杂,我们需要校核节点的编号,材料编号,截面编号,单元编号,单元截面的局部坐标,节点质量等等,在撰写命令流时,很容易就会出错,出错后,Opensees 还不给具体提示,需要我们一段代码一段代码去调试,这个调试的过程时非常的费事。而采用STKO,你仅仅需要十几分钟就完成几何模型建立,然后在进行mesh 形成数值模型,最后直接提交计算,如果过程有错,你可以通过图形观察模型,很容易发现错误,若无错误,很快就可以对结果进行可视化的分析。就如同GUI操作abaqus 一般,提取我们想要的应力,位移,以及力位移曲线等数据。

从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例的图3

从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例的图4

图3 Opensees 框架模拟

案例2:精细话模拟

如果我们想要对一个结构进行像abaqus一样进行三维精细模拟,如对砌体结构的模拟。这样的实体模型,可不是通过写tcl 代码就可以完成的。而在SKTO中,通过点击鼠标即可以完成从几何模型的建立到计算结构的分析。

从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例的图5

图3 Opensees 三维砌体结构模拟


结语:

所以STKO支撑后的Opensees的使用潜力将被很大程度挖掘,我们将可以轻易使用它的强大的材料库,单元库,算法,以及高效的求解过程,所以,作者也希冀助力STKO 搭载IOpensees 能够扩大opensees 在中国的影响的进程。

ABAQUSOpenSEESSTKO

从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例的评论8条

  • 雷神sy
    1
    我研究混凝土结构多一些,用abaqus多一些,不过博主讲的挺好👍
  • 憶森
    1
    👍🏻

从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例的相关案例教程

划重点:通过本文,可以了解STKO友好的GUI界面,通过和三维CAD一致的操作,可以快速实现Opensees几何模型的搭建。通过STKO研发的hingebeam element 快速实现框架某个方向旋转铰接处理,按照和abaqus一样的操作指定好材料,截面,单元属性,赋予给几何模型形成数值模型,无需修改和处理任何tcl 代码,提交计算,直接进入友好的后处理模块,检查变形,应力云图,动画,提取各种力
文/心尘轩 网站/STKO OpenSees Software (asdeasoft.net) 欢迎关注STKO官方公众号,目前许可证正在免费开放中,欢迎大家申请 内容预览 【公众号内容回顾】 【关于OpenSEES编程及原理】 1.【OpenSEES编程与原理】基于VS2022的OpenSEES3.3.0开发环境搭建 2.【OpenSEES编程与原理】新材料的添加和测试的视频教程 【关于STKO
文/心尘轩 网站/STKO OpenSees Software (asdeasoft.net) 欢迎关注STKO官方公众号,目前许可证正在免费开放中,欢迎大家申请 案例一:大跨桥梁多点地震激励分析(tcl来自陈学伟) 案例二:超高层弹塑性时程分析(tcl来自陆新征老师) 案例三:土结构相互作用SSI分析 案例四:钢筋混凝土柱脚pushover分析 案例五:钢筋混凝土柱滞回分析 案例六:砌体结构滞回
文/心尘轩 网站/STKO OpenSees Software (asdeasoft.net) 移步相应视频教程观看 框架后处理动画 1、单个零长度单元建立 2、六层带阻尼器混凝土框架的模拟 注意:尽管在STKO中零长度单元设置有距离可以计算(默认你设定的距离为相对零点),但是小轩建议还是初始设置无距离好,更贴近概念。 【公众号内容回顾】 关于STKO: 1.STKO for OpenSEES 安
划重点:通过阅读本文,可以领略STKO快速实现Opensees几何模型的搭建。通过STKO根据规范内嵌的约束混凝土模型自动生成约束混凝土本构,按照和abaqus一样的操作指定好材料,截面,单元属性,赋予给几何模型形成数值模型,无需修改和处理任何tcl 代码,提交计算,直接进入友好的后处理模块,检查变形,应力云图,动画,提取各种力位移曲线,也可查看单元积分点处纤维的应力和应变。如果你想进一步了解建模
影响力
粉丝
内容
获赞
收藏
    项目客服
    培训客服
    17 20