OpenSees的机器学习时代即将来临?——Python版OpenSees小白漫游指南

文章来自微信公众号“CELab”,扫描文末二维码了解更多信息。

1. Introduction

简  介

在土木工程领域,一谈到地震工程的模拟,很多人第一个想到的就是开源软件OpenSees

 

OpenSees,全称“The Open System for Earthquake Engineering Simulation”,是在美国PEER(Pacific Earthquake Engineering Research Center)的赞助下,由土木工程领域的殿堂级名校加州大学伯克利分校开发。

 

与经典的商业有限元软件ABAQUSANSYS相比,OpenSees最大的优势在于其开源性,其社区中,有着一批充满活力的开发者,支持着OpenSees不断进步,目前,在土木工程学术界的国内外主流期刊上,均有大量基于OpenSees的研究。


2. Problems for OpenSees Rookies

OpenSees小白的困境

与经典商业有限元软件相比,OpenSees对于小白而言,是相对不友好的。软件由C++语言编写,但调用却是Tcl脚本语言。

 

Tcl脚本语言是一种工具命令语言(Tool Command Language),虽然在百度百科的介绍中,这是一款极为强大的编程语言,但对于土木工程领域的学生而言,却是一款陌生的编程语言,这无形中增加了OpenSees的学习难度。

 

根据国外TIOBE网站的20211月的编程语言排行,第一至第五分别是CJavaPythonC++C#,而Tcl语言的榜单排名仅为第99名左右,编程语言的“热度”较低。


编程语言
排名
C
1
Java
2
Python
3
C++ 4
C#
5

除去语言热度的问题, OpenSees 对于小白而言,最大的问题在于缺乏较好的图形用户界面( Graphical User Interface, GUI )。原生的 OpenSees 软件的常见界面一般是基于 DOS界面 。在这种交互模式下,用户在建模中出现的小错误极为不容易察觉。而对于习惯 GUI 界面建模的小白用户而言,纯文本的交互方式更会增加学习的畏难性,导致低下的学习效率。

OpenSees的机器学习时代即将来临?——Python版OpenSees小白漫游指南的图1

图1

当下已有了一些OpenSeesGUI解决方案,譬如OpenseesPLGiD+Opensees等。然而,这些GUI解决方案有的是为专门的问题开发,通用性较差,另外一些又基于收费的建模平台,对于一般囊中羞涩的小白而言,友好程度较低。

OpenSees的机器学习时代即将来临?——Python版OpenSees小白漫游指南的图2

OpenSees的机器学习时代即将来临?——Python版OpenSees小白漫游指南的图3

图2


3. OpenSees of Python and Coding Environment

Python版OpenSees及其编程环境搭建

在上述背景下,Python版的OpenSees,即OpenSeesPy应运而生。OpenSeesPyOpenSeesPython第三方包,由俄勒冈州立大学Minjie Zhu教授开发,并在持续不断地更新中,最新一期的版本是OpenSeesPy 3.2.2.9,于2021128日更新。

 

与野生的Python第三方库不同的是,OpenSeesPy已得到了加州大学伯克利分校官网的认可,目前已作为原生Tcl语言的替换版本,可在OpenSees的官网(https://opensees.berkeley.edu/)上查询到。

 

OpenSeesPy支持几乎所有的Python3.0语言。同时,由于是近些年新开发的Python包,其在线文档的可读性较原生Tcl语言有了质的飞跃,对于小白的友好程度大大提升。

OpenSees的机器学习时代即将来临?——Python版OpenSees小白漫游指南的图4

图3

为何OpenSeesPy的出现预示着OpenSees机器学习时代的来临呢?


原因就在于,OpenSeesPy几乎可以无缝衔接Python所有的机器学习或深度学习的Python包,例如TensorflowPytorch。由OpenSees计算出的数据,利用Python自带的转换工具,可方便快捷地转换为TensorflowPytorch模型训练所需的张量型数据。

OpenSees的机器学习时代即将来临?——Python版OpenSees小白漫游指南的图5

图4

编程环境的搭建对于小白而言也是一个较大的拦路虎,所幸的是,对于小白而言,Python编程环境有一个极为方便的“万金油”搭建方式,即ANACONDA编程环境。

 

ANACONDA是一个开源版本的Python。对于小白而言,其最突出的优势在于“一键安装”,不用过多地极为复杂的系统环境变量的配置。对于第三方包,ANACONDA的优势则更为突出,往往简单地利用conda install  pip install命令即可成功安装,很少出现包与包之间不兼容的问题。

OpenSees的机器学习时代即将来临?——Python版OpenSees小白漫游指南的图6


ANACONDA中的Python版本可以基于虚拟环境安装,即,每个虚拟环境都可以安装完全不同的Python版本,譬如虚拟环境1中安装Python 2.7而同时在虚拟环境中安装Python 3.8,不同的虚拟环境相互不会影响。

 

OpenSeesPy目前支持的最高Python版本是Python3.8,编程环境搭建的一般流程为:

 

· 安装ANACONDA

ANACONDA中创建虚拟环境

在虚拟环境中安装Python3.8或其他可行版本

安装OpenSeesPy

安装其他所需的科学分析包


参考资料:
https://opensees.berkeley.edu/
https://www.anaconda.com/


作者简介:
艾米雷斯(笔名), 同济大学博士,新加坡国立大学博士后研究员。
长期钻研土木工程领域的不正经黑科技,坚信编程是土木的未来之光。
联系方式:emryslyu@163.com
-end


广告

关于CELab
-CELab提供 试验服务、工程应用、软件模拟、论文润色”方面的服务
-具体分类服务信息也会结合微信小程序“CELab”予以展示(点击链接-
-若有兴趣加入我们,请添加联络员微信:celab001
OpenSees的机器学习时代即将来临?——Python版OpenSees小白漫游指南的图7
-对创业与科研服务有兴趣的你,将获得创业经验/科研与实践本领/生活补贴,优秀者有机会成为项目合伙人。
- CELab长期征集原创内容,内容在公众号登出后给予报酬, 详细内容点击链接(征稿50-500元/篇|土木经验观点原理|CELab


公众号其他文章阅读
Abaqus|结构阻尼(structural damping)就是损耗因子(loss factor)
CELab助力土木硕博科研
工程抗火试验指南
什么是万能材料试验机
同济大学土木工程博士标准
默认 最新
当前暂无评论,小编等你评论哦!
点赞 4 评论 收藏 14
关注