ABAQUS后處理二次開發(fā)相關(guān)介紹
2017-01-20 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
1、ABAQUS與Python
ABAQUS軟件具有很強(qiáng)的通用性和模擬性能,擁有大量不同種類的單元模型、材料模型等。它具有ABAQUS/CAE、ABAQUS/STANDARD、ABAQUS/EXPLICIT等模塊。Python是一種面向?qū)ο蟮哪_本語言,它有高級的數(shù)據(jù)類型和簡單有效的面向?qū)ο蟪绦蛟O(shè)計(jì)方法,功能強(qiáng)大,擴(kuò)展性強(qiáng),被廣泛應(yīng)用。
ABAQUS/CAE模塊是一個完整的ABAQUS環(huán)境,提供一個簡單一致的接口,可以用于創(chuàng)建、提交、監(jiān)視和評價(jià)模擬所得到的結(jié)果。用戶在使用ABAQUS/CAE的圖形化用戶界面創(chuàng)建模型和瀏覽結(jié)果時,每個操作都有命令提交給ABAQUS/CAE。GUI使用Python語言產(chǎn)生這些命令,并提交給ABAQUS/CAE內(nèi)核。內(nèi)核解釋這些命令并執(zhí)行。
ABAQUS腳本接口是基于Python語言的擴(kuò)展,允許用戶繞過ABAQUS/CAE的GUI直接與內(nèi)核交互。使用Python編寫的包含腳本接口命令的程序可以實(shí)現(xiàn)如自動化重復(fù)性的作業(yè)、創(chuàng)建和修改數(shù)據(jù)庫、訪問結(jié)果數(shù)據(jù)庫等功能。
2、ABAQUS后處理的二次開發(fā)
ABAQUS的后處理提供了許多功能,如云圖顯示、動畫顯示、等值線繪制及其他列表曲線等。但是對于塑性成型,如提單元的厚度顯示和應(yīng)力包絡(luò)線的繪制等這些特殊的后處理功能ABAQUS并未提供,需要使用Python進(jìn)行二次開發(fā)。即首先要讀出結(jié)果數(shù)據(jù)庫中的數(shù)據(jù),進(jìn)行計(jì)算和轉(zhuǎn)換等相應(yīng)的處理,然后輸出相應(yīng)的形式供用戶查看和分析。
3、實(shí)現(xiàn)原理
對后處理進(jìn)行二次開發(fā),首先要讀取結(jié)果數(shù)據(jù)庫中的數(shù)據(jù),即使用Python語言通過ABAQUS腳本接口訪問ABAQUS對象中的數(shù)據(jù)。這就需要了解ABAQUS的腳本接口、ABAQUS對象模型和ABAQUS結(jié)果數(shù)據(jù)庫結(jié)構(gòu)。
ABAQUS腳本接口即是一個基于對象的程序庫。腳本接口中的每個對象都擁有相應(yīng)的數(shù)據(jù)成員和函數(shù)。在對象創(chuàng)建后,可以使用該對象提供的方法來處理對象中的數(shù)據(jù)成員。
ABAQUS對象模型是指ABAQUS腳本接口中的各種對象類型之間的層次結(jié)構(gòu)和相互關(guān)系。ABAQUS的對象類型很多,一般分為3類,Session對象用來定義viewport、遠(yuǎn)程隊(duì)列、用戶定義的視圖等;Mdb對象是保存在模型空間中的對象,包括model對象和job對象;odb對象是結(jié)果數(shù)據(jù)對象,包含了模型數(shù)據(jù)和結(jié)果數(shù)據(jù),是后處理二次開發(fā)考察的重點(diǎn)。
結(jié)果數(shù)據(jù)庫有ABAQUS分析得到,其中包含了模型數(shù)據(jù)和結(jié)果數(shù)據(jù)。模型數(shù)據(jù)描述了分析中使用的模型,包括零件、裝配等。結(jié)果數(shù)據(jù)描述了分析得到的結(jié)果,包括分析步(step)、幀(frame)、場變量輸出(field output)和歷史變量輸出(history output)等。在對后處理的二次開發(fā)中,就是讀取odb對象中的數(shù)據(jù),進(jìn)行計(jì)算等相應(yīng)的處理,然后輸出為相應(yīng)形式供用戶查看的。
4、實(shí)現(xiàn)的關(guān)鍵技術(shù)
后處理是將計(jì)算后的數(shù)據(jù)形象地顯示出來供用戶對計(jì)算結(jié)果進(jìn)行查看和分析。首先明確所要實(shí)現(xiàn)的功能,設(shè)計(jì)功能實(shí)現(xiàn)的流程,使用Python調(diào)用ABAQUS提供的方法編寫程序?qū)Y(jié)果數(shù)據(jù)庫進(jìn)行處理。其中關(guān)鍵技術(shù)有文件的讀寫和控制、數(shù)據(jù)的讀取、數(shù)據(jù)的處理和結(jié)果的輸出與查看等。
1)文件的讀寫和復(fù)制
經(jīng)過分析計(jì)算后得到結(jié)果數(shù)據(jù)庫odb文件,對后處理進(jìn)行二次開發(fā)就是對odb文件的處理,有時還需要要對.dat文件和.fil文件進(jìn)行數(shù)據(jù)的讀取。Odb文件的讀寫使用了ABAQUS中提供的OdbAecess模塊,文件的復(fù)制使用Python語言中的shutil模塊。
2)數(shù)據(jù)的讀取
數(shù)據(jù)讀取的原理如前所述,即使用Python語言通過ABAQUS的腳本接口讀取odb文件中的數(shù)據(jù)。ABAQUS計(jì)算得到的數(shù)據(jù)是以面向?qū)ο蟮男问酱鎯τ诮Y(jié)果數(shù)據(jù)庫中的。要讀取數(shù)據(jù)就要找到數(shù)據(jù)所在的路徑(path),直接引用其中的變量或者使用數(shù)據(jù)對象的方法得到數(shù)據(jù),供后續(xù)的處理使用。有時還需要讀取dat文件和fil文件中的數(shù)據(jù),需要使用Python提供的文本處理函數(shù)。
3)數(shù)據(jù)的處理
用所設(shè)計(jì)的算法對數(shù)據(jù)進(jìn)行處理,包括數(shù)值運(yùn)算和矢量運(yùn)算等,需要根據(jù)不同的后處理需求而定。這部分是后處理二次開發(fā)的核心,也是整個二次開發(fā)中程序編寫的重點(diǎn)。
4)結(jié)果的輸出與查看
后的任務(wù)是把這些處理后的數(shù)據(jù)顯示出來供用戶查看。如使用對象模型提供的構(gòu)造方法創(chuàng)建一個新的場變量輸出并將處理后的數(shù)據(jù)寫入其中供ABAQUS/Viewer查看,或者調(diào)用viewpoint對象顯示出所需的變量和圖形,或者輸出為其他形式的圖表或文件等。
相關(guān)標(biāo)簽搜索:ABAQUS后處理二次開發(fā)相關(guān)介紹 abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn)