
發(fā)布
注冊
/
登錄Abaqus GUI程序開發(fā)
關(guān)注創(chuàng)建者:復(fù)合材料力學(xué)-君莫 創(chuàng)建時間:2016-03-17
Abaqus GUI程序開發(fā)的視頻教程
Abaqus插件程序GUI的二次開發(fā) 高級篇
Abaqus GUI二次開發(fā) 三部曲: Abaqus主窗口GUI的二次開發(fā) Abaqus插件程序GUI的二次開發(fā) 初、中級篇 Abaqus插件程序GUI的二次開發(fā) 高級篇
¥199 4小時8分鐘 1503播放
查看
Abaqus插件程序GUI的二次開發(fā) 初、中級篇
Abaqus GUI二次開發(fā)三部曲: Abaqus主窗口GUI的二次開發(fā) Abaqus插件程序GUI的二次開發(fā) 初、中級篇 Abaqus插件程序GUI的二次開發(fā) 高級篇
¥199 9小時31分鐘 2826播放
查看
Abaqus主窗口GUI的二次開發(fā)
課程內(nèi)容: 第一部分:類的使用方法,掌握面向?qū)ο蟮乃季S方式 第二部分:詳解Abaqus主窗口GUI二次開發(fā)的腳本 Abaqus GUI二次開發(fā)三部曲: Abaqus主窗口GUI的二次開發(fā) Abaqus插件程序GUI的二次開發(fā) 初、中級篇 Abaqus插件程序GUI的二次開發(fā) 高級篇
¥199 6小時23分鐘 2591播放
查看
Abaqus GUI程序開發(fā)的實(shí)例教程
文章轉(zhuǎn)自《復(fù)合材料力學(xué)》微信公眾號
在采用Python語言對Abaqus進(jìn)行GUI應(yīng)用程序或者插件程序開發(fā)時,最令人懊惱的就是每每修改了圖形界面代碼或者內(nèi)核程序,都需要反復(fù)重新啟動Abaqus/CAE才能檢驗(yàn)所修改內(nèi)容是否更新,所調(diào)試的bug是否已經(jīng)解決。整個調(diào)試過程,很大一部分時間都浪費(fèi)在重啟Abaqus/CAE的過程中。那有沒有辦法避免反復(fù)重啟Abaqus/CAE呢?
本文將介紹幾種方法,來提升Abaqus GUI程序開發(fā)效率。應(yīng)用程序及插件程序調(diào)試方法類似,故本文僅以插件程序調(diào)試為例。
一般插件程序有注冊文件、圖形界面文件及內(nèi)核執(zhí)行文件組成,想要提升插件程序調(diào)試效率,需要首先搞清楚不同的插件程序文件缺省情況下都是在何時被加載的:
(1)注冊文件:一般以xxx_plugin.py命名,其主要作用是注冊各類控件關(guān)鍵字,檢查數(shù)據(jù)的合法性,并將插件工具注冊到Plug-ins菜單或者自定義工具條中。注冊文件默認(rèn)是在Abaqus/CAE啟動時被加載,首次調(diào)用插件時,插件文件夾內(nèi)會同時出現(xiàn)xxx_plugin.pyc文件,是最早被編譯的代碼文件。
(2)圖形界面文件:一般以xxxDB.py命名,其主要作用是定義圖形界面框架、各類控件,并關(guān)聯(lián)各控件的執(zhí)行目標(biāo)、執(zhí)行動作等。圖形界面文件是在插件菜單被點(diǎn)擊時加載,如果是首次調(diào)用插件,同時在插件文件夾內(nèi)會出現(xiàn)xxxDB.pyc文件。
(3)內(nèi)核執(zhí)行文件:內(nèi)核執(zhí)行文件是插件程序的核心,包含了一系列驅(qū)動Abaqus/CAE內(nèi)核程序的指令,通過執(zhí)行這些指令完成CAE建模以及數(shù)據(jù)處理等功能。內(nèi)核執(zhí)行文件同樣也是在插件菜單被點(diǎn)擊時加載,如果是首次調(diào)用插件,同時在插件文件夾內(nèi)會出現(xiàn)xxx.pyc內(nèi)核編譯文件。
默認(rèn)情況下,一旦插件文件夾中存在了pyc文件,則對應(yīng)的代碼不會再被重新編譯。
展開 Python語言是一種動態(tài)解釋型編程語言,其功能強(qiáng)大,簡單易學(xué),支持面向?qū)ο缶幊?(object-oriented programming),雖然由于其動態(tài)性致使程序解釋執(zhí)行速度比編譯語言慢,但是隨著Python語言的不斷優(yōu)化以及計算機(jī)硬件的迅猛發(fā)展,Python語言將會受到越來越多用戶的關(guān)注。Python具有開源、自由等特征。它的簡潔性和易用性使程序的開發(fā)過程變得簡單,特別適用于快速應(yīng)用程序開發(fā)。以有效提高前后處理效率,節(jié)省建模及數(shù)據(jù)處理時間。
采用Python語言對 Abaqus進(jìn)行二次開發(fā)具有以下優(yōu)點(diǎn)。
(1)可以通過圖形交互界面,實(shí)現(xiàn)參數(shù)的統(tǒng)一管理。
(2)可以避免大量重復(fù)性的建模工作,避免人為建模錯誤。對于具有典型共有特征的模型可以建立標(biāo)準(zhǔn)的建模模板,實(shí)現(xiàn)完全參數(shù)化或者快速建模。
(3)可以通過執(zhí)行內(nèi)核指令實(shí)現(xiàn)Abaqus/CAE不具備的甚至是人工手動操作無法實(shí)現(xiàn)的復(fù)雜問題建模。
Abaqus 用戶圖形界面程序主要有兩種:簡單GUI插件程序和用戶自定義GUI應(yīng)用程序。插件程序可以輔助完成一個或者幾個功能,自定義應(yīng)用程序可集成多功能、多界面,將多個功能組件集成在統(tǒng)一的平臺內(nèi)進(jìn)行管理,適合大型應(yīng)用程序開發(fā)。上述兩類圖形界面程序均可以輔助用戶提高有限元建模及數(shù)據(jù)處理效率。
上一期講到文件包里含有四個文件,注冊文件,圖形界面文件,內(nèi)核執(zhí)行文件,圖標(biāo)文件。今天就針對核心部分的內(nèi)核程序和圖形界面程序拆開講講,代碼里面的結(jié)構(gòu)是什么樣,各個部分有什么作用。
1 圖形界面程序
圖形界面文件的主要作用是定義各類窗體、控件,關(guān)聯(lián)控件的執(zhí)行命令及對象。通過定義文本框、單復(fù)選按鈕、表格等各類控件,用戶可以方便地將所需參數(shù)集成到統(tǒng)一的圖形界面下,形成友好的輸入輸出界面。其程序部分源代碼如下。
展開 賈利勇老師的《Abaqus GUI程序開發(fā)指南》
為什么要對對話框的GUI做更改呢?
RSG對話框生成器中自帶的控件,確實(shí)可以做出簡單的對話框,但也就只能做簡單的對話框了。因?yàn)閹缀趺總€RSG提供的控件中的功能接口都很少,大量的功能接口被隱藏了(是真的!),還有一些控件用RSG是做不出來的。無論是控件的隱藏功能,還是做不出來的控件,想要使用它們,都必須以腳本的形式開發(fā)出來。
而在開發(fā)過程中,需要一次次的調(diào)試,如果每次調(diào)式都伴隨著重啟Abaqus,那是一件很頭疼的事。所以如果有不用重啟就能打開調(diào)式后的對話框的方法,使用起來則很痛快。
推出我的第二套課程:《Abaqus插件程序GUI的二次開發(fā) 初、中級篇》
課程一共21講,從腳本的角度,全面講解了RSG自帶的22種控件,以及沒包含的7種控件,共計29種控件,此外,還講解了注冊腳本中的8種類型關(guān)鍵字。課程以腳本的方式,不只是講解如何創(chuàng)建控件,更多的是挖掘控件被隱藏的功能,從而做出更豐富、更實(shí)用的插件對話框。
課程第一講,也有設(shè)置F和D兩個圖標(biāo)按鈕的演示,歡迎觀看。
Abaqus GUI二次開發(fā)三部曲:
Abaqus 主窗口GUI的二次開發(fā)
Abaqus插件程序GUI的二次開發(fā) 初、中級篇
Abaqus插件程序GUI的二次開發(fā) 高級篇
展開 l abaqus中的腳本接口
l 快速建模
l 自動后處理、訪問輸出數(shù)據(jù)庫
l 監(jiān)控分析作業(yè)、參數(shù)分析、優(yōu)化分析
2.2 gui開發(fā)指南和官方文檔
如果你有一定的定制需要,比如封裝一個腳本文件、或者封裝一個定制化插件,第一本書就不太能滿足需,就需要參考后面兩本書。第二本和第三本內(nèi)容比較接近,《abaqus的gui開發(fā)指南》講的比較深,官方文檔講的很全面。以后的分享中就以官方文檔為基礎(chǔ),再輔以第二本書的內(nèi)容幫助大家理解,我們一起學(xué)習(xí)。
分享人:CAE咚咚鏘

Abaqus GUI程序開發(fā)的相關(guān)專題、標(biāo)簽、搜索
Abaqus GUI程序開發(fā)的最新內(nèi)容
剪切修正模型的數(shù)值實(shí)現(xiàn)------《Nielsen KL, Tvergaard V. Ductile shear failure or plug failure of spot welds modelled by modified Gurson model. Engineering Fracture Mechanics 2010;77:1031–47.》
GTN模型是韌性斷裂的一個廣為人知的微觀力學(xué)模型
Abaqus本身提供了豐富的函數(shù)庫,可以直接調(diào)用,也可以通過Python語言開發(fā)。另外還有Abaqus提供了很多的函數(shù)接口,是可以直接調(diào)用的,但是這些接口很復(fù)雜,初學(xué)者通常會不知道從哪里入手,但是如果在仿真中用Python編寫一些簡單的程序就非常方便了。
本文將介紹Abaqus Python二次開發(fā)中的命令行界面、幾何建模界面、常用的函數(shù)接口、示例程序和注意事項(xiàng)。
01「GUI:命令行界面
正交各向異性(工程常數(shù)):
EngineeringConstants-xplD.obj
EngineeringConstants-xpl.obj
共享庫:
explicitU.dll
explicitU-D.dll
參數(shù)輸入依次為:
E1,E2,E3,Nu23,Nu13,Nu12,G23,G13,G12
引言
Abaqus為用戶提供了大量的用戶子程序,用戶可以通過子程序接口開發(fā)Abaqus原本不具備的單元、材料、載荷等。此外,利用子程序能幫助我們?nèi)ダ斫狻⑼茰yAbaqus的計算過程,這對國產(chǎn)自主軟件對標(biāo)Abaqus功能開發(fā)具有一定的參考意義。
一、安裝Abaqus,并配置使用用戶子程序
Win10(x64)成功安裝VisualStudio2012+Intel Visual Fortran
此次不做測試。
完全各向異性材料的本構(gòu)方程為:
由矩陣可以知道,完全各向異性材料需要21個獨(dú)立常數(shù)。
此umat的材料參數(shù)設(shè)置參考abaqus,參數(shù)自上而下分別為:
使用方法和之前一致。
若選用縮減積分單元時要開啟沙漏控制。
完全各向異性umat:
fullyanisotropic-std.obj
對有限元進(jìn)行了一些理論上的學(xué)習(xí),現(xiàn)在正式嘗試對abaqus用戶子程序進(jìn)行嘗試書寫,此貼只作為自己學(xué)習(xí)的記錄以及分享。
-------------------------------------------------------------------------------------------------------------------------------
abaqus子程序開發(fā)語言不局限fortran和c了,還能支持python!
這是一套自研的開發(fā)框架,源于客戶需要獲取分析過程的中間數(shù)據(jù)作為python機(jī)器學(xué)習(xí)程序的輸入這樣的需求。這種需求乍一聽確實(shí)非主流、非常規(guī)。
后來仔細(xì)做了一些了解,這種需求有其合理性。第一,python在數(shù)據(jù)分析、機(jī)器學(xué)習(xí)方面有豐富的資源;第二,python程序嵌入abaqus求解器一起運(yùn)行,那開發(fā)就會很方便高效;
基于ABAQUS有限元軟件平臺,應(yīng)用它的腳本接口二次開發(fā)出一套可以用于自動計算疲勞裂紋擴(kuò)展的程序包。該程序包可以實(shí)現(xiàn)參數(shù)化有限元建模、訪問輸出數(shù)據(jù)庫及進(jìn)行其他后處理,從而避免重復(fù)建模及分析結(jié)果,顯著提高分析效率。
一.疲勞裂紋擴(kuò)展程序工作流程
二.結(jié)果輸出
創(chuàng)建模型
采用帶有單邊裂紋的整體加筋壁板作為算例。
2.后處理結(jié)果