OpenSees的機器學習時代即將來臨?——Python版OpenSees小白漫游指南
文章來自微信公眾號“CELab”,掃描文末二維碼了解更多信息。
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對于小白而言,是相對不友好的。軟件由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 |
圖1
當下已有了一些OpenSees的GUI解決方案,譬如OpenseesPL,GiD+Opensees等。然而,這些GUI解決方案有的是為專門的問題開發,通用性較差,另外一些又基于收費的建模平臺,對于一般囊中羞澀的小白而言,友好程度較低。
圖2
3. OpenSees of Python and Coding Environment
在上述背景下,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
→安裝其他所需的科學分析包
廣告
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















