国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python的Abaqus前、后處理GUI插件二次開發(fā)與應用

2022-06-29 00:24:36田玉泰
計算機輔助工程 2022年2期
關鍵詞:冷器二次開發(fā)插件

田玉泰

(上海新動力汽車科技股份有限公司, 上海 200438)

0 引 言

作為國際通用計算分析軟件,Abaqus具有豐富的單元類型與材料非線性模型,在各領域發(fā)揮至關重要的作用。Python語言作為一種解釋型編程語言,其具有自由便捷、可讀性強以及簡單易學等優(yōu)點,被越來越多的人所接受。

Python允許在各種平臺編寫腳本參與二次開發(fā),其中Abaqus為Python語言提供開發(fā)接口。Abaqus二次開發(fā)可以自動執(zhí)行重復任務以及編寫腳本,并對結果數(shù)據(jù)庫進行結果顯示等。張強等運用Python語言對Abaqus模型的創(chuàng)建以及結果文件可視化進行二次開發(fā),極大地提高工作效率。劉宏杰等對Abaqus計算發(fā)動機連接螺栓滑移結果進行二次開發(fā),編寫程序執(zhí)行代碼,能自動生成螺栓接觸面的滑移結果,避免人為計算失誤,提高效率。

本文以某柴油機油-水冷器模塊為例,介紹Abaqus二次開發(fā)基本原理,并開發(fā)2款基于Python語言的Abaqus前、后處理GUI插件,分別在前處理Load模塊批量加載螺栓載荷,在Visualization模塊運用Python Matplotlib進行可視化操作,繪制模態(tài)分析結果Campbell圖。

1 Abaqus RSG開發(fā)過程

Abaqus軟件二次開發(fā)插件的創(chuàng)建方式有2種,即使用RSG對話框創(chuàng)建和使用Abaqus GUI工具包創(chuàng)建。本文用RSG對話框創(chuàng)建插件,開發(fā)流程見圖1。插件保存后會生成對應的3個文件,分別為注冊文件xxx_pugin.py、圖形界面文件xxx_DB.py、內(nèi)核執(zhí)行程序文件xxx.py。

圖 1 Abaqus二次開發(fā)流程

2 Abaqus模型

油-水冷卻器模塊,簡稱機冷器模塊,主要由機油冷卻器、機冷器模塊座、機油濾清器以及水泵集成,內(nèi)部分布復雜水道與油道,同時也承載各部件工作中的受力。為簡化分析,有限元模型主要由機體、機油冷卻器、機冷器模塊座、張緊輪、水泵組件、連接螺栓以及皮帶力作用點組成。利用軟件SimLab對機體與機冷模塊座等部件進行網(wǎng)格劃分,螺栓載荷面與網(wǎng)格在Abaqus中創(chuàng)建。模型中網(wǎng)格類型機冷器模塊為四面體二次單元C3D10M,其他網(wǎng)格類型為C3D10,有限元模型見圖2。

1—機體; 2—機油冷卻器; 3—機冷器模塊座; 4—節(jié)溫器組件;5—水泵組件; 6—張緊輪組件圖 2 機油-水冷卻器機冷器模塊組件模型

機冷器模塊座材料為ADC12,密度為2.75×10t/mm,彈性模量為71 000 MPa,泊松比為0.31。模型約束邊界為對機體進行方向對稱約束、機體底面繞軸的轉動約束以及和方向的位移約束。機冷器模塊座與其他部件螺紋連接部分均為綁定接觸,其他組件之間接觸面摩擦因數(shù)均為0.15,采用Small-sliding連接。

3 Python程序開發(fā)

3.1 批量施加螺栓載荷GUI開發(fā)

在Abaqus分析過程中,創(chuàng)建螺栓載荷的一般過程為:首先,在Step模塊initial分析步后創(chuàng)建最初3個分析步bolt_min、bolt_max、bolt_fix,分別對應螺栓載荷的最小值、最大值及固定螺栓的當前長度;其次,在Load模塊中對應分析步下創(chuàng)建螺栓載荷,初始創(chuàng)建分析步選擇bolt_min,然后定義螺栓載荷方向與大小,完成單個螺栓創(chuàng)建的第一步;然后,在對應的分析步下,將螺栓載荷的大小與狀態(tài)進行更改;最終,完成單個螺栓載荷的創(chuàng)建。

本文根據(jù)創(chuàng)建螺栓載荷的常用方法進行二次開發(fā),螺栓載荷創(chuàng)建流程與開發(fā)過程見圖3。單個螺栓載荷的創(chuàng)建過程相對復雜,需要多次點擊鼠標并輸入所需數(shù)據(jù)。對于少量螺栓載荷施加尚可接受,如果螺栓數(shù)量較多(如本文分析模型中要施加載荷的螺栓多達36個)就相對繁瑣。因此,本文開發(fā)一款基于螺栓載荷創(chuàng)建一般過程,實現(xiàn)批量創(chuàng)建螺栓載荷的插件,插件使用的前提是根據(jù)不同螺栓規(guī)格型號,進行螺栓載荷施加中間平面的分類創(chuàng)建。插件運行界面見圖4。

圖 3 螺栓載荷創(chuàng)建流程與開發(fā)過程

1—選取中間面; 2—選取最小螺栓載荷分析步; 3—選取最大螺栓載荷分析步; 4—選取螺栓狀態(tài)分析步; 5—設置最小螺栓載荷值; 6—設置最大螺栓載荷值; 7—選取螺栓軸向圖 4 螺栓載荷創(chuàng)建圖形界面

在插件Create bolt load圖形界面中,界面主要分為3部分:首先是Select Surfaces對話框,主要負責查找并顯示模型前期創(chuàng)建的所有界面,為選擇螺栓載荷中間平面作準備,且可以進行多選;Min-step、Max-step、BFix-step主要定義螺栓載荷,設置分析步,分別為螺栓載荷最小、最大值分析步及定義螺栓受載荷后狀態(tài)的分析步;Bolt Minvalue、Bolt Maxvalue分別定義螺栓載荷的最小、最大值。

Bolt axis為定義螺栓載荷的施加方向:1為全局坐標方向,2為全局坐標方向,3為全局坐標方向,如果出現(xiàn)Datum axis-1、Datum axis-2,…為自定義方向。圖元顯示界面代碼見圖5。對輸入數(shù)據(jù)與選擇中間平面數(shù)據(jù)進行合理規(guī)范性檢查,使用Python語言for語句循環(huán),對所選多個螺栓中間平面施加載荷。檢查數(shù)據(jù)代碼與創(chuàng)建螺栓載荷代碼,見圖6。本文有限元模型需要創(chuàng)建36個螺栓載荷,根據(jù)相同規(guī)格螺栓的載荷大小與作用軸向相同為原則,可對其批量建立螺栓載荷,降低重復性工作,提高前期建模效率。螺栓載荷施加完成后的模型見圖7。

圖 5 圖元界面代碼

圖 6 檢查數(shù)據(jù)與螺栓載荷創(chuàng)建代碼

1—螺栓M8,11個; 2—螺栓M10,8個; 3—螺栓M10,6個; 4—螺栓M8,8個; 5—螺栓M10,2個; 6—螺栓M10,1個圖7 螺栓載荷

螺栓規(guī)格等級為8.8級,扭矩為(25±2) N·m,根據(jù)螺栓軸向力計算公式(1),計算得到最小軸向力為9.54 kN,最大軸向力為15.96 kN,將其作為Python GUI插件的輸入?yún)?shù)。

(1)

式中:為螺栓軸向力,kN;為螺栓扭矩,N·m;

為螺紋中徑,mm;為摩擦角,(°);為螺紋升角,(°);為螺栓端面摩擦有效直徑,mm;為螺栓端面摩擦因數(shù)。

3.2 Campbell圖GUI插件開發(fā)

使用Abaqus對模型進行分析,得到Odb結果文件。為使結果可視化更符合工程實際,需要做進一步加工處理。發(fā)動機零部件的風險評估通常采用模態(tài)分析,通過與發(fā)動機點火階次頻率進行對比,分析零部件固有頻率,達到規(guī)避共振風險、降低零件故障率的目的。

發(fā)動機振動測試實驗經(jīng)常使用瀑布圖,為更加直觀地評價零部件固有頻率與發(fā)動機階次頻率的關系,通常將模態(tài)結果繪制成Campbell圖。

3.2.1 Odb文件數(shù)據(jù)構成

在對Abaqus Odb結果數(shù)據(jù)進行加工處理過程中,首先應了解Odb結果文件的架構。其包含多個數(shù)據(jù)庫,如rootAssembly、parts、sections等主要存放模型信息,steps、frames、filedOutputs等主要存儲計算結果信息等。Odb文件架構見圖8。

圖8 Odb文件架構

3.2.2 Campbell圖繪制GUI插件

利用創(chuàng)建的發(fā)動機零部件模型,進行強度分析與模態(tài)分析,得到計算結果。通過使用RSG對話框構建GUI圖形界面,運用Python matplotlib模塊繪制Campbell圖。使用matplotlib模塊函數(shù)創(chuàng)建繪制Campbell圖命令,構成插件內(nèi)核執(zhí)行文件。具體插件執(zhí)行流程見圖9。

圖9 Campbell創(chuàng)建流程

同時,將Abaqus模塊調整為Visualization,打開Odb結果文件,運行插件程序,調出GUI交互界面,見圖10。

1—選取Odb文件; 2—設置發(fā)動機轉速; 3—設置發(fā)動機缸數(shù); 4—設置繪圖開始階次; 5—設置繪圖終止階次; 6—選取模態(tài)分析步圖10 Campbell圖創(chuàng)建圖形界面

在Campbell Figure界面下拉對話框中,分別選擇在Visualization模塊已打開的Odb結果文件與對應模態(tài)分析步;Engine_speed對應輸入發(fā)動機最大連續(xù)超速轉速,作為評判零部件是否與發(fā)動機存在共振風險的依據(jù);Engine cylinder number對應發(fā)動機缸數(shù),對應發(fā)動機頻率階次;Start_mode、End_mode分別對應繪制圖形的起止階次頻率。GUI插件執(zhí)行程序見圖11。對輸入?yún)?shù)進行規(guī)范性檢查后繪制圖形,程序繪制圖形調用Python matplotlib插件完成,應提前安裝此模塊。此插件庫包含豐富的繪圖指令,可以完成復雜的圖形繪制。本文運用基本的直線命令對圖形橫縱坐標以及發(fā)動機階次線進行繪制,具體繪制程序命令見圖12。調用插件繪制完成后的Campbell圖見圖13。圖中傾斜的虛線代表發(fā)動機隨著轉速變化而頻率變化的階次線;豎直方向的虛線代表分析結果中零部件固有頻率與階次;水平方向虛線代表發(fā)動機最大連續(xù)超速轉速。

圖11 Campbell圖元界面程序

圖12 Campbell繪制程序

圖13 Campbell圖

圖13中,橫坐標位于131.1 Hz和152.95 Hz處的2條豎直直線,將圖面分割成3部分,分別對應頻率危險區(qū)域、警告區(qū)域與安全區(qū)域。根據(jù)零件固有頻率所在區(qū)域,可以更加直觀形象地評價零部件固有頻率的風險狀態(tài)。

本文通過對機冷器模塊組件進行模態(tài)分析,得到其前3階模態(tài)頻率,見表1。根據(jù)Campbell圖所示,前3階頻率均分布在安全區(qū)域,即組件1階頻率大于152.95 Hz。因此,可判定機冷器模塊組件模態(tài)頻率不會與發(fā)動機點火頻率發(fā)生共振風險。前3階次模態(tài)振型結果見圖14。

表 1 模態(tài)前3階頻率

圖14 前3階模態(tài)振型

4 結束語

運用Python語言對Abaqus前處理進行二次開發(fā),編寫螺栓載荷GUI插件,能批量施加螺栓載荷,將繁瑣問題簡單化,提高建模效率。運用Python matplotlib模塊對Abaqus結果進行可視化后處理開發(fā),開發(fā)圖形界面程序對模態(tài)計算結果進行Campbell圖繪制,能更加直觀地評判零部件模態(tài)頻率風險狀況,也更符合實際工程需要。

將Python語言運用到Abaqus前處理建模與后處理數(shù)據(jù)分析,可以極大地提高工作效率。下一步可以根據(jù)Abaqus GUI命令創(chuàng)建更加人性化的、復雜的可視化操作界面,實現(xiàn)流程化建模分析,可減少人為操作步驟,縮短項目周期,將更多時間用在計算結果分析與風險評估等方面。同時,也可將Python語言作為溝通橋梁,研發(fā)圖形界面插件,實現(xiàn)多個分析軟件間的數(shù)據(jù)傳輸與協(xié)同計算。

猜你喜歡
冷器二次開發(fā)插件
滑油空冷器壓降控制研究
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
自編插件完善App Inventor與樂高機器人通信
電子制作(2019年22期)2020-01-14 03:16:34
空調表冷器的研究現(xiàn)狀與發(fā)展趨勢
制冷(2019年2期)2019-12-09 08:10:42
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發(fā)
MapWindowGIS插件機制及應用
基于Revit MEP的插件制作探討
鋁合金空-空中冷器符合翹片管材料選擇與結構匹配
基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
墨竹工卡县| 凤台县| 沁源县| 隆化县| 溧阳市| 香河县| 乌兰县| 时尚| 隆昌县| 鱼台县| 宁国市| 镶黄旗| 正阳县| 皮山县| 平泉县| 沙河市| 屯昌县| 元朗区| 阜阳市| 喀什市| 秦皇岛市| 萍乡市| 齐河县| 大足县| 正安县| 济南市| 全椒县| 万年县| 郯城县| 齐齐哈尔市| 盖州市| 曲沃县| 阳高县| 宝兴县| 信丰县| 体育| 屏山县| 乌兰察布市| 丰城市| 陆河县| 西乌|