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名左右,编程语言的“热度”较低。
编程语言 | 排名 |
C | 1 |
Java | 2 |
Python | 3 |
C++ | 4 |
C# | 5 除去语言热度的问题,OpenSees对于小白而言,最大的问题在于缺乏较好的图形用户界面(Graphical User Interface, GUI)。原生的OpenSees软件的常见界面一般是基于DOS界面。在这种交互模式下,用户在建模中出现的小错误极为不容易察觉。而对于习惯GUI界面建模的小白用户而言,纯文本的交互方式更会增加学习的畏难性,导致低下的学习效率。 |
图1
当下已有了一些OpenSees的GUI解决方案,譬如OpenseesPL,GiD+Opensees等。然而,这些GUI解决方案有的是为专门的问题开发,通用性较差,另外一些又基于收费的建模平台,对于一般囊中羞涩的小白而言,友好程度较低。
图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语言有了质的飞跃,对于小白的友好程度大大提升。
图3
为何OpenSeesPy的出现预示着OpenSees机器学习时代的来临呢?
原因就在于,OpenSeesPy几乎可以无缝衔接Python所有的机器学习或深度学习的Python包,例如Tensorflow,Pytorch。由OpenSees计算出的数据,利用Python自带的转换工具,可方便快捷地转换为Tensorflow和Pytorch模型训练所需的张量型数据。
图4
编程环境的搭建对于小白而言也是一个较大的拦路虎,所幸的是,对于小白而言,Python编程环境有一个极为方便的“万金油”搭建方式,即ANACONDA编程环境。
ANACONDA是一个开源版本的Python。对于小白而言,其最突出的优势在于“一键安装”,不用过多地极为复杂的系统环境变量的配置。对于第三方包,ANACONDA的优势则更为突出,往往简单地利用conda install 或 pip install命令即可成功安装,很少出现包与包之间不兼容的问题。
ANACONDA中的Python版本可以基于虚拟环境安装,即,每个虚拟环境都可以安装完全不同的Python版本,譬如虚拟环境1中安装Python 2.7而同时在虚拟环境中安装Python 3.8,不同的虚拟环境相互不会影响。
OpenSeesPy目前支持的最高Python版本是Python3.8,编程环境搭建的一般流程为:
· 安装ANACONDA
→在ANACONDA中创建虚拟环境
→在虚拟环境中安装Python3.8或其他可行版本
→安装OpenSeesPy
→安装其他所需的科学分析包
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删