最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

無需TCL編程能力,STKO帶你輕松玩轉OpenSEES

2021-12-19 10:42 作者:OpenSEES抗震筆記  | 我要投稿

劃重點:通過本文,你會了解OpenSEES(以下簡稱OS)基于tcl 和C++混合編程的實質,會洞悉一個有限元軟件的三大主要部分,會明白現在OS的不足。并在對一個有限元軟件宏觀認識的基礎上愛上OS,同時借助專為OS量身定制的STKO 玩轉OS,無需理會tcl編寫腳本,如同操作sap2000一般,盡情享用OS的強大的求解器和無線壯大的材料庫,單元庫和算法。(此推文由心塵軒博士執(zhí)筆,就讀于香港理工大學結構工程,如果您有興趣,不妨加入QQ群752746704,交流學習

曾幾何時,初識OS的研究生都會在師兄或者老師的嘴里聽說過OS的強大,什么開源啊,高效啊。可當我們自己慢慢叩開OS的大門的時候,面對一個僅有exe文件的黑框,是否也曾懷疑過人生。這是啥,這和我們常見的有限元,如ABAQUS, ANSYS, PERFORM3D,ETABS,SAP2000等都大不一樣,沒有基于GUI(圖形用戶交互)界面,似乎就是個寂寞,可為什么現在越來越多的研究員對其飛蛾撲火呢,這里面一定有不可告人的秘密,今天小編就帶大家領略一下OS的魅力,領略PEER前輩的無私和大愛。

1.? 不一樣的有限元

準確的來說,OS不是一個有限元軟件,實質上它是一個求解器,當搭配上tcl 腳本后,才能名義上算得上有限元軟件。Tcl 腳本充當了類似一般可視化有限元的前后處理器,連同OS求解器組裝成的有限元。于是看到這里,很多人會以位OS是tcl編寫的代碼,如果這樣想,你就大錯特錯了,你離OS的內核還太遠。我們所編寫的tcl腳本,僅僅是OS代碼的冰山一角,它的職責僅僅是激發(fā)tcl與C++的接口,即tcl的代碼僅僅告訴OS你要調用哪些材料庫,哪些單元庫,哪些算法的源代碼,由這些源代碼對有限元模型進行剛度矩陣方程的求解(典型的NR method)靜力計算,或者采用NM方法 積分的動力計算。所以學習OS如果你不知道源代碼,是一件非常遺憾地事情,我們可以不會編寫,但是我們一定要知道它的存在,才能感概老前輩們的無私。

在官方(Open System for Earthquake Engineering Simulation - Home Page (berkeley.edu))頁面,我們可以輕松下載源代碼,如圖1。

圖1 官網

這里裝的是啥,我們打開它,如圖2,很多文件夾,如單元,材料,模型,記錄等,當我們再次點擊這些文件夾,以材料文件為例,狠狠的打開它。這才恍然大悟,原來里面裝的都是每個我們在編寫tcl 語句中使用的材料對應的頭文件(.h)和主體代碼(.Cpp).換句話說,tcl編寫的語句,僅僅是告訴OS我要用這些材料,單元,算法,而實際上真正計算模型的是OS在調用這些C代碼。這里也解釋,為什么同樣規(guī)模的數值模型,OS的求解速度會比ABAQUS之類要快很多,是因為求解的內核C語言對于計算機的資源調動和利用是非常高的,這也是為什么,很多很軟件底層語言都會選擇C語言得原因。

?

圖2
圖2

上述得分析我們向我們闡釋了一個事實,實際上,OS的計算模型的原理從解讀代碼的角度就是tcl+c++的混合編程。為什么要混合編程,其實思想就是物盡其用。C語言擅長計算,那么把和計算相關的材料,單元,算法都用C編制,而對于建立幾何模型和設置參數,對計算的性能需求不高,就用tcl補充,所謂相得益彰。

綜上分析,我們可以知道傳統(tǒng)基于tcl 編制,通過tcl和C的相互接口,實現數據交互,進而實現了tcl 滿足前后處理,C實現求解器的不一樣的有限元。

?

?

2.? OS的包容和高效

接下來我們來談一談,為什么說OS是無私和包容的軟件。其實OS的魅力也就是因為此,也必將因為此成為日后研究圈的一顆明星。PEER前輩們通過自己的努力,編寫了這些源代碼,最后他們決定將這些源代碼,免費的貢獻出來,在學術圈共享。這是多么偉大的舉措,沒有商業(yè)化,純粹的學術的追求。因為在這樣的情懷下(當然最重要還是這些源代碼寫的好),越來越多的科研人員開始使用。隨著用戶的需求隨著課題不斷地開展,用戶對當前的材料庫,單元庫,算法也越來越不滿足,恰恰又因為C語言具有封裝,繼承,和多態(tài)的特征,使得OS具有開源的特點。允許任何研究者對現有的材料庫,單元庫,算法庫等進行修改和擴充,這也是為什么,幾十年的發(fā)展,在包容的情懷下,OS匯集全世界科研人員共同的努力也越來約豐富,這也是為什么筆者認為,OS必將是未來一顆屹立不倒的新星,因為它不是一個人在戰(zhàn)斗,是全世界的研究人員都在開發(fā)它,為它的充實在努力,這肯定比一個公司研發(fā)人員的智慧多了去。

那么如何開發(fā)它,其實這是很復雜的過程,需要一定的編程能力,因為開發(fā)新的材料,單元,或者算法,自然你要先了解PEER前輩是如何做,你遵循他們的邏輯,自然也就很容易實現,這里可以跟大家簡單分享下。

開發(fā)新的材料,需要有開發(fā)編譯代碼的環(huán)境,我們經常使用VS,如圖3,這基本是每個做編程人員的必備。

圖3

其次我們要仿照OS現有的材料格式,如圖4的selfcentringMaterial.cpp格式,根據自己想要材料的滯回規(guī)則編寫你的代碼,然后在根據selfcentringMaterial.h格式,編寫對應的頭文件,最后將這樣的newMAaterial.h和newMaterial.cpp文件添加到uniaxial文件下,對其編譯,調試,直至成功。之后,生成的opensees.exe執(zhí)行文件,這時就可以使用你自己開發(fā)的材料啦。其實上述的過程也解釋為什么berkeley網站不定時會更新OS的版本,一方面是修正bug,另一方面給就是擴充單元庫和材料庫,講到這,小伙伴們,趕快去官網下載最新的版本吧。對于OS的高效,那是因為C語言本身特征決定的。

圖4

3.? STKO帶你無需理會tcl玩轉OpenSEES

上述兩節(jié),差不多把OS求解的功能夸上天,它沒有掣肘的地方么,他那么優(yōu)秀,為什么普及率還是不高。正所謂成也蕭何敗也蕭何,OS太牛,開發(fā)者更牛,他們混跡學術圈,也不管我們剛入門的小蝦米,他們以為tcl 語言建模的過程就等同是GUI窗口了,而事實是,tcl對于不學編程的學生來說,我們也想說NO啊,更別說工程界的設計人員了,這就使得OS的受眾不大。

劃重點,不要怕,救星來啦,由意大利軟件開發(fā)公司ASDEA為OS量身定做的STKO,完美解決了這個問題。讓我們無需理會tcl,直接像操作SAP2000一樣操作OS。請聽我慢慢道來。

OS強在求解效率,而且是開源免費,那么開發(fā)一款新的有限元只要搭載OS即可,這也是STKO研發(fā)的思路,無縫對接OS。通過GUI操作,建立幾何模型,賦予材料,單元,截面,邊界,分析設置,和SAP2000一樣,點擊運行,計算完成,即時查看后處理,可以查看更多,更細致的結構,包括積分點纖維的應力應變。閑話不多說,上案例。

?

################################自復位鋼框架###############################

Step 1通過點擊鼠標,類似SAP2000,或者baqus 模型數一樣,兩三分鐘即可實現幾何模型搭建,這樣的莫模型。


Step 2 劃分網格建立有限元,也僅需點擊mesh。


Step 3 計算。點擊analysis即可。

Step 4 后處理查看結果??梢钥磩討B(tài)變形,可以看積分點纖維應力應變,依次如下圖。自然,我們也可以很方便的得到我們的滯回曲線圖。

幾何模型

?

有限元模型


后處理:變形云圖

后處理:纖維積分點應力應變
力位移曲線

在這一通GUI的操作下,我們也會很方便對我們的模型進行有目的的糾錯。在整個過程中,我們沒有理會任何的代碼編程,僅僅就把它當作一個普通的可視化有限元進行處理,多么迎合我們一貫的行為啊。所以在這里強烈推薦大家可以學習這一款由意大利ASDEA開發(fā)的STKO,讓它帶我們玩轉OS吧。

?

結后語:我們致力于擴大將這么強大的OS 求解器在中國乃至世界的用戶群體,讓我們的設計搭載由全世界科研人員努力的智慧,也使得科研得以回饋社會。



無需TCL編程能力,STKO帶你輕松玩轉OpenSEES的評論 (共 條)

分享到微博請遵守國家法律
德钦县| 烟台市| 永吉县| 乌拉特后旗| 壶关县| 辛集市| 达日县| 普安县| 万宁市| 周至县| 花垣县| 永安市| 清丰县| 文水县| 宝鸡市| 瓦房店市| 股票| 乐昌市| 韩城市| 四平市| 遂川县| 遂溪县| 建水县| 孙吴县| 巢湖市| 兰溪市| 永济市| 柳河县| 柘城县| 迁西县| 富川| 余干县| 稷山县| 綦江县| 固始县| 仁寿县| 沙湾县| 苗栗市| 永新县| 时尚| 页游|