
發布
注冊
/
登錄TCL編程的案例
無需TCL編程能力,STKO帶你輕松玩轉OpenSEES
這才恍然大悟,原來里面裝的都是每個我們在編寫tcl 語句中使用的材料對應的頭文件(.h)和主體代碼(.Cpp).換句話說,tcl編寫的語句,僅僅是告訴OS我要用這些材料,單元,算法,而實際上真正計算模型的是OS在調用這些C代碼。這里也解釋,為什么同樣規模的數值模型,OS的求解速度會比ABAQUS之類要快很多,是因為求解的內核C語言對于計算機的資源調動和利用是非常高的,這也是為什么,很多很軟件底層語言都會選擇C語言得原因。
圖2
上述得分析我們向我們闡釋了一個事實,實際上,OS的計算模型的原理從解讀代碼的角度就是tcl+c++的混合編程。為什么要混合編程,其實思想就是物盡其用。C語言擅長計算,那么把和計算相關的材料,單元,算法都用C編制,而對于建立幾何模型和設置參數,對計算的性能需求不高,就用tcl補充,所謂相得益彰。
綜上分析,我們可以知道傳統基于tcl 編制,通過tcl和C的相互接口,實現數據交互,進而實現了tcl 滿足前后處理,C實現求解器的不一樣的有限元。
2. OS的包容和高效
接下來我們來談一談,為什么說OS是無私和包容的軟件。其實OS的魅力也就是因為此,也必將因為此成為日后研究圈的一顆明星。PEER前輩們通過自己的努力,編寫了這些源代碼,最后他們決定將這些源代碼,免費的貢獻出來,在學術圈共享。這是多么偉大的舉措,沒有商業化,純粹的學術的追求。因為在這樣的情懷下(當然最重要還是這些源代碼寫的好),越來越多的科研人員開始使用。隨著用戶的需求隨著課題不斷地開展,用戶對當前的材料庫,單元庫,算法也越來越不滿足,恰恰又因為C語言具有封裝,繼承,和多態的特征,使得OS具有開源的特點。
展開 Tcl/Tk與APDL聯合編程實現ANSYS的二次開發
Tcl/Tk與APDL聯合編程實現ANSYS的二次開發
ANSYS的二次開發語言有四種,分別是APDL、UPFs、UIDL及Tcl/Tk,其中后面兩個用于ANSYS交互界面開發。APDL(ANSYS Parametric Design Language)大家都熟悉,ANSYS參數化設計語言,及俗稱的命令流。它由類似于FORTRAN的語言部分和1000多條ANSYS命令組成。
APDL是一種解釋性文本語言,有順序、選擇、循環及宏等結構。利用APDL將ANSYS命令組織起來,編寫出參數化的用戶程序,從而實現有限元分析的全過程,即建立參數化的實體模型、參數化的網格劃分與控制、參數化的材料定義、參數化的載荷和邊界條件定義、參數化的分析控制和求解以及參數化的后處理。
UPFs(User Programmable Features),即用戶可編程特性,它是源代碼層次的ANSYS二次開發,用戶可以根據需要利用UPFs重新編譯連接生成用戶定制版本的ANSYS軟件,例如創建新單元、定義新的材料屬性、定義用戶失效準則等等。
UIDL是ANSYS用戶界面設計語言(UserInterfaceDesignLanguage)的簡寫,允許用戶改變ANSYS的圖形界面中的一些組項,提供了一種允許用戶靈活使用組織設計ANSYS的強有力工具,不過功能有限。
Tcl稱為“工具命令語言”"Tool Command Language",是一種腳本語言。Tk則是基于Tcl的圖形界面開發工具箱,與UIDL相比,更能夠觸及深層,因此更加靈活,開發的界面受限更少。
采用Tcl/Tk與APDL聯合編程能夠通過界面實現參數化設計過程,非常直觀。
展開 Tcl/Tk與APDL聯合編程參數化建模螺旋結構
結合Tcl/Tk和ANSYS的APDL參數化語言編寫螺旋結構的參數化建模程序,程序完成后即可在ANSYS中運行,運行后會彈出編寫好的界面,通過設置其中的幾個參數即可實現一鍵參數化建模與分網。
編寫好的界面如下所示,可以對比界面中的示意圖設置其中的幾個尺寸,包括螺旋半徑R,螺距H,圈數N和螺紋的半徑Rr,設置完后點擊Creat即可快速創建模型。
UIDL-Tcl/Tk-APDL聯合編程實現ANSYS二次開發(終極篇)
$i -row [expr $i-4] -column 2
}
grid $w1.b1 -row 5 -column 1 -pady 5
grid $w1.b2 -row 5 -column 2 -pady 5
pack $wf.0 -padx 10 -pady 10 -side top
pack $wf.1 -padx 10 -pady 10 -side top
pack $wf
#wm resizable $w 0 0
wm state $w normal
以上Tcl/Tk代碼構建了一個界面窗口,用于設置幾個基本參數,并且定義了子進程。
通過wish86編譯后的界面如下圖所示:
圖5
四、Tcl/Tk與APDL
采用Tcl/Tk與APDL聯合編程能夠通過界面實現參數化設計過程,非常直觀。Tcl/Tk與APDL的通信主要依靠三個ANSYS API函數實現,分別是:
ans_sendcommand:向ANSYS傳遞APDL命令;
ans_getvalue:從ANSYS數據庫中獲取變量;
ans_getvector:從ANSYS數據庫中獲取向量。
展開 
STKO助力OpenSEES系列:結果云圖后處理初瞥
文/心塵軒
網站/STKO OpenSees Software (asdeasoft.net)
歡迎關注STKO官方公眾號,目前許可證正在免費開放中,歡迎大家申請
案例一:大跨橋梁多點地震激勵分析(tcl來自陳學偉)
案例二:超高層彈塑性時程分析(tcl來自陸新征老師)
案例三:土結構相互作用SSI分析
案例四:鋼筋混凝土柱腳pushover分析
案例五:鋼筋混凝土柱滯回分析
案例六:砌體結構滯回分析
案例七:dual system 滯回和時程分析
內容回顧:
關于STKO:
1.STKO for OpenSEES 安裝教程
2.STKO for OpenSEES 免費許可證申請指南(修改版)
3.研究生STKO免費許可證申請郵箱范例
4.導師STKO免費許可證申請郵箱范例
5.無需TCL編程能力,STKO帶你輕松玩轉OpenSEES
6.STKO助力OpenSEES系列:自復位支撐框架靜力循環pushover分析
7.STKO助力OpenSEES系列:平面多層多跨混凝土框架靜力循環pushover分析
8.STKO助力OpenSEES系列:結構模態分析以及動力特性(MDOF與等效SDOF驗證)
關于Abaqus:
1.Abaqus 基于python的plugin 開發,生成常用建模部件,可以輔助我們快速建模
2.Abaqus基于python的懸臂梁參數化分析(基礎)
歡迎關注
展開 STKO助力OpenSEES系列:自復位支撐框架靜力循環pushover分析
通過STKO研發的hingebeam element 快速實現框架某個方向旋轉鉸接處理,按照和abaqus一樣的操作指定好材料,截面,單元屬性,賦予給幾何模型形成數值模型,無需修改和處理任何tcl 代碼,提交計算,直接進入友好的后處理模塊,檢查變形,應力云圖,動畫,提取各種力位移曲線,也可查看單元積分點處纖維的應力和應變。如果你想進一步了解建模細節,可見(https://www.yqgqt.org.cn/college/video/c174829 )。
(本文由心塵軒博士執筆,就讀于香港理工大學,如果各位對STKO 有興趣,可加入群752746704,相互交流學習)
1. 前言:
作者曾執筆《無需TCL編程能力,STKO帶你輕松玩轉OpenSEES》和《從編程角度闡述有限元最佳入門方法:以Abaqus 和OpenSees 為例》如果有興趣可以點擊下面連接查看
(https://www.yqgqt.org.cn/content/post/1848287 )(https://www.yqgqt.org.cn/content/post/1849254 ),
作者在上述文章中詳細論述了OpenSees混合編程(Tcl+CPP)的本質,以及對于CAE 使用者友好的GUI界面的重要性,今天的推文將以一個具體的案例闡述下STKO能夠在幫助OS用戶在建模,分析設置以及后處理分析各個階段的便利性。
2. 正文:案例信息
圖1案例信息
案例信息如上圖所示,空間三維自復位撐鋼框架,在X方向為三跨,在Y方向為一跨,框架受力為X方向,結構有4層,層高為3m,跨度也是3m,在X方向邊緣兩跨布置具有旗幟型滯回規則的斜撐,主框架梁柱節點為鉸接。連接兩榀框架的Y方向梁柱節點為剛接。
展開 【STKO首席開發師massimo博士講座】歡迎報名
【連續性倒塌課題分享】鋼框架建筑結構抗倒塌性能研究進展
【STKO 經典案例分享】
案例一:大跨橋梁多點地震激勵分析(tcl來自陳學偉)
案例二:超高層彈塑性時程分析(tcl來自陸新征老師)
案例三:土結構相互作用SSI分析
案例四:鋼筋混凝土柱腳pushover分析
案例五:鋼筋混凝土柱滯回分析
案例六:砌體結構滯回分析
案例七:dual system 滯回和時程分析
【STKO助力OpenSEES系列】帶減震裝置(軟鋼阻尼器或者自復位阻尼器)混凝土框架結構的動力時程分析教程
文/心塵軒
網站/STKO OpenSees Software (asdeasoft.net)
視頻的主要內容(移步相應視頻教程)
1、帶金屬阻尼器的case
2、帶旗幟型阻尼器的case
【公眾號內容回顧】
關于STKO:
1.STKO for OpenSEES 安裝教程
2.STKO for OpenSEES 免費許可證申請指南(修改版)
3.研究生STKO免費許可證申請郵箱范例
4.導師STKO免費許可證申請郵箱范例
5.無需TCL編程能力,STKO帶你輕松玩轉OpenSEES
6.STKO助力OpenSEES系列:自復位支撐框架靜力循環pushover分析
7.STKO助力OpenSEES系列:平面多層多跨混凝土框架靜力循環pushover分析
8.STKO助力OpenSEES系列:結構模態分析以及動力特性(MDOF與等效SDOF驗證)
9.STKO助力OpenSEES系列:結果云圖后處理初瞥
10.從編程角度闡述有限元軟件最佳入門方法:以Abaqus 和OpenSEES 為例
11.STKO助力OpenSEES系列:STKO軟件操作基礎介紹
12.【第二屆OpenSEES歐亞會議】OpenSees Days Eurasia 2022
13.【STKO首席開發師massimo博士講座】歡迎報名
14.
展開 STKO助力OpenSEES系列:平面多層多跨混凝土框架靜力循環pushover分析
通過STKO根據規范內嵌的約束混凝土模型自動生成約束混凝土本構,按照和abaqus一樣的操作指定好材料,截面,單元屬性,賦予給幾何模型形成數值模型,無需修改和處理任何tcl 代碼,提交計算,直接進入友好的后處理模塊,檢查變形,應力云圖,動畫,提取各種力位移曲線,也可查看單元積分點處纖維的應力和應變。如果你想進一步了解建模細節,可見(https://www.yqgqt.org.cn/college/video/c174829 )。
(本文由心塵軒博士執筆,就讀于香港理工大學,如果各位對STKO 有興趣,可加入群752746704,相互交流學習)
1. 前言:
作者曾執筆《無需TCL編程能力,STKO帶你輕松玩轉OpenSEES》,《從編程角度闡述有限元最佳入門方法:以Abaqus 和OpenSees 為例》以及《STKO助力OpenSEES系列:自復位支撐鋼框架靜力循環pushover 分析》,如果有興趣可以點擊下面連接查看
(https://www.yqgqt.org.cn/content/post/1848287 ),(https://www.yqgqt.org.cn/content/post/1849254 ),
(https://www.yqgqt.org.cn/content/post/1850232 )。
作者在上述文章中詳細論述了OpenSees混合編程(Tcl+CPP)的本質,以及對于CAE 使用者友好的GUI界面的重要性和在STKO中如何利用零長度單元實現鉸接以及旗幟型滯回規則支撐的實現,今天的推文將以一個混凝土框架的具體的案例闡述下STKO在分析混凝土結構領域的便利性。
2.
展開 【STKO助力OpenSEES】零長度單元的使用及其在六層帶金屬阻尼器混凝土框架中的模擬實現
【公眾號內容回顧】
關于STKO:
1.STKO for OpenSEES 安裝教程
2.STKO for OpenSEES 免費許可證申請指南(修改版)
3.研究生STKO免費許可證申請郵箱范例
4.導師STKO免費許可證申請郵箱范例
5.無需TCL編程能力,STKO帶你輕松玩轉OpenSEES
6.STKO助力OpenSEES系列:自復位支撐框架靜力循環pushover分析
7.STKO助力OpenSEES系列:平面多層多跨混凝土框架靜力循環pushover分析
8.STKO助力OpenSEES系列:結構模態分析以及動力特性(MDOF與等效SDOF驗證)
9.STKO助力OpenSEES系列:結果云圖后處理初瞥
10.從編程角度闡述有限元軟件最佳入門方法:以Abaqus 和OpenSEES 為例
11.STKO助力OpenSEES系列:STKO軟件操作基礎介紹
12.【第二屆OpenSEES歐亞會議】OpenSees Days Eurasia 2022
13.【STKO首席開發師massimo博士講座】歡迎報名
關于Abaqus:
1.Abaqus 基于python的plugin 開發,生成常用建模部件,可以輔助我們快速建模
2.Abaqus基于python的懸臂梁參數化分析(基礎)
科研分享
1.
展開 從編程角度闡述有限元最佳入門方法:以Abaqus 和OpenSees 為例
劃重點:通過本文,初步了解有限元軟件的計算內核和前后處理器的對計算機性能和編程語言的要求,基于此,我們應該選擇門檻最低的GUI方法去嫻熟有限元軟件。本文通過對比學習Abaqus 和OpenSees的過程, 建議各位可以嘗試使用STKO搭載OpenSees像使用具有友好GUI 的商業有限元一樣使用OpenSEES, 而無需任何編程能力。(本文由心塵軒博士執筆,就讀于香港理工大學,如果各位對STKO 有興趣,可加入群752746704,相互交流學習)
1. 前言:
作者曾執筆《無需TCL編程能力,STKO帶你輕松玩轉OpenSEES》,如果有興趣可以點擊下
面連接查看(https://www.jishulink.co m /content/post/1848287 ),在上一篇推文中,作
者翔實論述了OpenSees混合編程(Tcl+CPP)的本質,并用一個案列論證了STKO 可以使我
們輕松便利的玩轉Opensees,而無需任何的編程能力。
2. 正文:
本文則站在更高的維度來橫向對比其他商業有限元如Abaqus 的學習方法,以此來論述為什么建議初學者可以借助具有友好GUI界面的STKO 來掌握OpenSEES的學習和使用.
在學習有限元前,我們必然已經掌握了基本的有限元理論,這對我們更好地了解有限元軟件時大有裨益的。本質上,任何有限元應該包括三部分內容:與求解相關模塊,前處理模塊,后處理模塊。其中決定一個有限元優劣的就是其求解模塊,因此可以說,有限元軟件的CPU就是其求解模塊。
展開 
【OpenSEES編程與原理】 纖維單元之基于位移的梁柱單元理論分析(一)
文/心塵軒
網站/STKO OpenSees Software (asdeasoft.net)
歡迎關注STKO官方公眾號,目前許可證正在免費開放中,歡迎大家申請
內容預覽
【公眾號內容回顧】
【關于OpenSEES編程及原理】
1.【OpenSEES編程與原理】基于VS2022的OpenSEES3.3.0開發環境搭建
2.【OpenSEES編程與原理】新材料的添加和測試的視頻教程
【關于STKO有限元軟件】
1.STKO for OpenSEES 安裝教程
2.STKO for OpenSEES 免費許可證申請指南(修改版)
3.研究生STKO免費許可證申請郵箱范例
4.導師STKO免費許可證申請郵箱范例
5.無需TCL編程能力,STKO帶你輕松玩轉OpenSEES
6.STKO助力OpenSEES系列:自復位支撐框架靜力循環pushover分析
7.STKO助力OpenSEES系列:平面多層多跨混凝土框架靜力循環pushover分析
8.STKO助力OpenSEES系列:結構模態分析以及動力特性(MDOF與等效SDOF驗證)
9.STKO助力OpenSEES系列:結果云圖后處理初瞥
10.從編程角度闡述有限元軟件最佳入門方法:以Abaqus 和OpenSEES 為例
11.STKO助力OpenSEES系列:STKO軟件操作基礎介紹
12.
展開 【STKO助力OpenSEES系列】鋼筋混凝土剪力墻模擬的注意點
【科研分享】鋼摩擦片的可行性及磨損研究
【STKO 經典案例分享】
案例一:框架剪力墻分析
案例二:大跨橋梁多點地震激勵分析(tcl來自陳學偉)
案例三:超高層彈塑性時程分析(tcl來自陸新征老師)
案例四:土結構相互作用SSI分析
案例五:鋼筋混凝土柱腳pushover分析
案例六:鋼筋混凝土柱滯回分析
案例七:砌體結構滯回分析
案例八:dual system 滯回和時程分析
STKO助力OpenSEES系列:結構模態分析以及動力特性(MDOF與等效SDOF驗證)
公眾號內容回顧:
關于STKO:
1.STKO for OpenSEES 安裝教程
2.STKO for OpenSEES 免費許可證申請指南(修改版)
3.研究生STKO免費許可證申請郵箱范例
4.導師STKO免費許可證申請郵箱范例
5.無需TCL編程能力,STKO帶你輕松玩轉OpenSEES
6.STKO助力OpenSEES系列:自復位支撐框架靜力循環pushover分析
7.STKO助力OpenSEES系列:平面多層多跨混凝土框架靜力循環pushover分析
關于Abaqus:
1.Abaqus 基于python的plugin 開發,生成常用建模部件,可以輔助我們快速建模
2.Abaqus基于python的懸臂梁參數化分析(基礎)
展開 有限元軟件HyperMesh二次開發在汽車仿真行業的分析與應用
<o:p style="font-family:宋體, SimSun;font-size:14px;box-sizing: content-box;"></o:p>
基于TCL編程的HyperMesh二次開發抗凹分析自動化工具能找到外板中的全部剛性較低的點,鼠標僅需點擊數次即完成全部操作和設置,固化了根據經驗總結出的參數設置,利于不同車型之間的抗凹分析結果對比。3分鐘之內(不計計算機求解時間)即可完成全部設置。<o:p style="font-family:宋體, SimSun;font-size:14px;box-sizing: content-box;"></o:p>
HyperMesh二次開發抗凹分析自動化工具還具有簡單易用、選點正確、規范操作、收斂性好、結果準確等特點,推廣使用后每個項目可節省約500個工時。<o:p style="font-family:宋體, SimSun;font-size:14px;box-sizing: content-box;"></o:p>
展開