Python版OpenSees:机器学习时代的结构分析新工具

1. Introduction

简  介

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

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

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




2. Problems for OpenSees Rookies

OpenSees小白的困境

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

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

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


编程语言排名
C1
Java2
Python3
C++4
C#5


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


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

图1

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

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

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

图2




3. OpenSees of Python and Coding Environment

Python版OpenSees及其编程环境搭建

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

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

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

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

图3

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


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

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

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

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空