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助力土木碩博科研
工程抗火試驗指南
什么是萬能材料試驗機
同濟大學土木工程博士標準
登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

4
16