《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 管道應(yīng)力計算機參數(shù)化分析平臺開發(fā)研究
管道應(yīng)力計算機參數(shù)化分析平臺開發(fā)研究
來源:微型機與應(yīng)用2012年第16期
魏 ?。保簳|2
(1.天津商業(yè)大學(xué)寶德學(xué)院 計算機與信息技術(shù)系,天津300384;2.海洋石油工程股份有限公司,天津
摘要: 以管道工程領(lǐng)域的結(jié)構(gòu)應(yīng)力分析要求為研究對象,針對通用有限元分析軟件的命令眾多、操作復(fù)雜的特點,提出了以Visual Basic開發(fā)用戶圖形化操作界面的方法來打包和封裝參數(shù)化過程命令,在后臺調(diào)用分析軟件進行計算,并輸出結(jié)果至用戶界面,從而建立了管道應(yīng)力參數(shù)化計算機輔助分析平臺,該平臺大大簡化了分析過程并提高了工程設(shè)計效率,方便工程人員進行及時的分析和操作。
Abstract:
Key words :

摘  要:管道工程領(lǐng)域的結(jié)構(gòu)應(yīng)力分析要求為研究對象,針對通用有限元分析軟件的命令眾多、操作復(fù)雜的特點,提出了以Visual Basic開發(fā)用戶圖形化操作界面的方法來打包和封裝參數(shù)化過程命令,在后臺調(diào)用分析軟件進行計算,并輸出結(jié)果至用戶界面,從而建立了管道應(yīng)力參數(shù)化計算機輔助分析平臺,該平臺大大簡化了分析過程并提高了工程設(shè)計效率,方便工程人員進行及時的分析和操作。
關(guān)鍵詞: 管道;應(yīng)力分析;Visual Basic;有限元軟件;參數(shù)化

    在工程領(lǐng)域,流體的輸送一般通過管道來實現(xiàn),相對于其他復(fù)雜容器而言,雖然管道自身的結(jié)構(gòu)比較簡單,但管道的長度較長,方向多變,其強度直接影響到生產(chǎn)過程的安全[1],因此在管道工程設(shè)計中一般要對管道進行結(jié)構(gòu)分析以保證其工作應(yīng)力在許用的范圍內(nèi)。而對于輸送介質(zhì)向高壓、高溫或者低溫的壓力管道而言[2],其應(yīng)力分析工作十分繁瑣,一般要由管道工程師利用專業(yè)的管道有限元分析軟件來進行。目前的有限元分析軟件按功能可分為通用軟件和專業(yè)軟件,通用分析軟件可以對任何結(jié)構(gòu)、任何復(fù)雜度的管道進行強度分析,但是需要工程人員熟悉軟件前處理、計算及后處理等繁瑣的菜單操作和命令。目前國內(nèi)的設(shè)計機構(gòu)一般采用的通用有限元軟件有ANSYS、ABAQUS、ADINA等。專業(yè)分析軟件只針對某種特定結(jié)構(gòu),例如在管道工程領(lǐng)域得到廣泛使用的應(yīng)力分析軟件、CAESARII、AUTOPIPE等。這些軟件具備了良好的輸入、輸出界面,工程人員掌握了軟件的一般操作方法后,只需要進行管道的建模,軟件會自動進行應(yīng)力的分析和后處理等操作,方便專業(yè)人員進行設(shè)計。對于設(shè)計機構(gòu),通常都要配置這兩種分析軟件,此時軟件的通用性和專業(yè)性成為一對矛盾,通用軟件雖然處理的問題多樣化,但需要專業(yè)水平較高,而專業(yè)軟件的應(yīng)用領(lǐng)域則受到限制,造成一定的資源浪費。
    Visual Basic是基于Windows平臺的開發(fā)工具,它以結(jié)構(gòu)化Basic語言為基礎(chǔ),繼承了原Basic語言簡單易學(xué)的優(yōu)點,同時提供了可視化的編程環(huán)境,以事件驅(qū)動作為運行機制,利用系統(tǒng)提供的大量可視化控件,可以非常快速地開發(fā)出適合用戶要求且十分友好的圖形化操作界面(GUI)[3]。針對上面提到的有限元軟件的通用性和專業(yè)性問題,將通用分析軟件所涉及到的前處理、計算過程和后處理等過程命令進行打包封裝,命令中關(guān)鍵參數(shù)利用Visual Basic建立界面方便用戶進行輸入,在后臺調(diào)用通用軟件進行計算,可以大大簡化分析過程,彌補通用分析軟件的不足。將以上解決方案用于管道工程應(yīng)用領(lǐng)域,可以開發(fā)出用于管道應(yīng)力分析的參數(shù)化計算機輔助分析平臺[4],其基本的開發(fā)流程如圖1所示。

1 參數(shù)化命令設(shè)計
    后臺分析軟件采用ANSYS,該軟件具有管道單元可以模擬管道的各種屬性,同時可以加載結(jié)構(gòu)和溫度載荷,非常適合進行管道的應(yīng)力分析。此外,其APDL語言是一種十分高效的命令行操作方式,所有的命令均可以保存成文本的格式進行操作[5]。以石油化工工程領(lǐng)域中,同一平面內(nèi)的兩段直管和一段彎管構(gòu)成的管道為研究對象,如圖2所示。首先參數(shù)化命令的設(shè)計均用APDL建立關(guān)鍵的輸入?yún)?shù),一般包括材料屬性、幾何屬性、荷載屬性、輸出屬性等,詳細的參數(shù)定義見表1。同時將這些參數(shù)均嵌入到APDL語言按照有限元分析的一般步驟中去,完成建模、加載分析、結(jié)果輸出等功能,保存成文本文件File_APDL.txt,用于后面設(shè)計的Visual Basic程序進行該文件調(diào)用和操作。

    以定義管道的材料屬性為例,采用ANSYS的APDL語言可做如下定義:
    MP,DENS,Density !定義密度
    MP,EX,1,Elastic_Modulus!定義彈性模量
    MP,NUXY,1,Poisson_Ratio!定義泊松比
    MP,ALPX,1,Thermal_Expansion!定義熱膨脹系數(shù)
2 Visual Basic實現(xiàn)
    Visual Basic中實現(xiàn)的功能主要是建立友好的用戶界面,并在后臺設(shè)計與ANSYS的接口和調(diào)用。用戶界面設(shè)計要方便用戶輸入關(guān)鍵的工程參數(shù),并作出必要的判斷,后臺的設(shè)計則要與ANSYS的要求相符合[6],實現(xiàn)參數(shù)的輸入和結(jié)果的反饋。下面對于實現(xiàn)的具體功能做詳細的介紹。
2.1 用戶界面設(shè)計
    用戶界面主要包括啟動界面、輸入界面和結(jié)果顯示界面。啟動界面如圖3所示。在啟動界面中,用戶通過“新建”按鈕,可以進入?yún)?shù)值為空的輸入界面,進行各項參數(shù)的輸入。通過“打開”按鈕,用戶可以選擇之前已經(jīng)定義過的輸入文件,并將文本文件中對應(yīng)的參數(shù)值讀取到輸入界面中對應(yīng)的位置,用戶可以重新進行分析,并作相應(yīng)的修改。

    輸入?yún)?shù)界面如圖4所示,通過此界面,用戶可輸入管道應(yīng)力分析中所需的各項參數(shù),在完成輸入后單擊“保存”按鈕,將其保存為用戶命名的文本文件。為了確保用戶輸入的材料參數(shù)、管道參數(shù)和荷載參數(shù)的合法性(必須是數(shù)值數(shù)據(jù)),使用Visual Basin提供的IsNumeric判斷函數(shù)進行檢測。如果用戶輸入了非數(shù)值型數(shù)據(jù)或輸入為空,則彈出如圖5所示的消息框來提示用戶重新輸入。為了確保后臺計算的有效性,用戶在保存文件之前,“計算”按鈕為灰色,不可用,只有當(dāng)用戶單擊“保存”按鈕,將輸入的參數(shù)保存成ANSYS可識別的命令行格式的文本文件,才可使用“計算”按鈕進行后臺計算。輸出界面將環(huán)向應(yīng)力、軸向應(yīng)力、彎曲及Mises應(yīng)力都輸出,同時將Mises應(yīng)力分布圖在該界面中顯示。

2.2 后臺接口設(shè)計
    后臺接口主要是將上一步中的參數(shù)化命令設(shè)計文件進行讀取,并將用戶輸入的參數(shù)進行替代,同時調(diào)用ANSYS進行計算并將計算結(jié)果保存,方便用戶進行讀取。為了將用戶輸入的參數(shù)保存為上節(jié)中用APDL命令建立的參數(shù)化輸入文件,以方便ANSYS的識別和調(diào)用,可將用戶提前建立好的APDL命令行文本文件中的內(nèi)容讀取出來。由于APDL文件的內(nèi)容按命令行存放,每行中的數(shù)據(jù)項又以“,”為分隔符,因而在讀取時,首先使用Line Input#語句將文件中的內(nèi)容按行讀取出來,存放在一個數(shù)組中,其次使用VB提供的字符串分割函數(shù)Split,依次將數(shù)組中存放的每行數(shù)據(jù)以“,”為分隔符,再分割為若干個數(shù)據(jù)項,并全部存放在一個新的數(shù)組中。

    如將文本文件File_APDL.txt中的內(nèi)容按行保存到數(shù)組a中的關(guān)鍵代碼如下:
Open "<Drive>\File_APDL.txt" For Input As #1
    While Not EOF(1)
       Line Input #1, a(i)
       i = i + 1
    Wend
其中,<Drive>為File_APDL.txt文件所在路徑。
    使用VB提供的Replace函數(shù)將文本中出現(xiàn)的參數(shù)名替換為文本框中輸入的具體參數(shù)值??蓪PDL命令行中出現(xiàn)的所有參數(shù)名用具體的值來替換,實現(xiàn)的關(guān)鍵代碼如下:
For i=0 To UBound(str)
    str(i)=Replace(str(n), "Density", Trim(Text3.text))
    str(i)=Replace(str(n), "Poisson_Ratio", Trim(Text4.text))

    Next i
    將替換后的數(shù)據(jù)項重新寫入用戶建立的新文本文件中,為了方便ANSYS的調(diào)用,新的文本文件必須與之前建立的APDL命令行文本文件的格式相同,因此在將數(shù)組str中的內(nèi)容寫入文件時,必須取得之前APDL文件的命令行數(shù)和每行數(shù)據(jù)項數(shù),數(shù)據(jù)項首先按行寫入,其次每行各個數(shù)據(jù)項之間還應(yīng)寫入一個“,”。實現(xiàn)的關(guān)鍵代碼如下:
Open TextFile_Name For Output As #2
    For i = 0 To UBound(a)
        s = Split(a(i), ",")
        For j = 0 To UBound(s) - 1
            Print #2, str(n);
            Print #2, ",";
            n = n + 1
          Next j
          Print #2, str(n);
          Print #2, Chr(13) + Chr(10);
          n = n + 1
        Next i
        Close #2
    當(dāng)用戶選擇并打開已有的ANSYS文本文件時,將文件中對應(yīng)的參數(shù)值讀取到輸入界面中對應(yīng)的位置。為了將ANSYS文本文件中的參數(shù)值能正確顯示到相應(yīng)的文本框中,通過認真分析APDL文件中的命令行,找到識別每個參數(shù)值的關(guān)鍵字,以及其和參數(shù)值之間的關(guān)系,取得需要的參數(shù)值,并將其顯示在對應(yīng)的文本框中,用戶可以對其中的參數(shù)重新進行分析與修改,并重新保存。實現(xiàn)參數(shù)讀取的關(guān)鍵代碼如下:
For i = 0 To UBound(str)
    ′獲得參數(shù)工程名和工程描述
    If str(i)="/FILENAME" Then Form2.Text1.Text=str(i+1)
    If str(i)="/TITLE" Then Form2.Text2.Text=str(i+2)
    ……
Next i
    后臺計算采用簡單高效并能帶輸入?yún)?shù)的Shell函數(shù),實現(xiàn)Vsiual Basic對ANSYS的調(diào)用。實現(xiàn)后臺計算的關(guān)鍵代碼如下:
    result=Shell("<Drive>\Ansys Inc\v100\ANSYS\bin\intel\
ansys100 -b -i " & <inputfile> & " -o " & <outputfile>)
其中,<Drive>表示ANSYS軟件的安裝目錄;-b表示用批模式啟動ANSYS;<inputfile>/<outputfile>為詳細的輸入、輸出文件路徑。
3 應(yīng)用實例
    以開發(fā)的輔助分析平臺進行某管道工程應(yīng)用實例的計算,管道外徑700 mm,壁厚20 mm,第一段直管長3 m,彎管曲率半徑0.178 2 m,第二段直管長1.5 m,設(shè)計壓力10 MPa,設(shè)計溫度70 ℃,將這些參數(shù)在輸入?yún)?shù)界面進行定義,經(jīng)過計算得到的輸出結(jié)果如圖6所示。

 

 

    本文以管道工程領(lǐng)域的結(jié)構(gòu)應(yīng)力分析要求為研究對象,針對通用有限元分析軟件命令眾多、操作復(fù)雜的特點,提出了以Visual Basic開發(fā)用戶圖形化操作界面的方法來打包和封裝參數(shù)化過程命令,在后臺調(diào)用分析軟件進行計算,并輸出結(jié)果至用戶界面,從而建立了管道應(yīng)力參數(shù)化計算機輔助分析平臺,該平臺可大大簡化分析過程并提高工程設(shè)計效率,方便工程設(shè)計人員進行及時的分析和操作。
參考文獻
[1] 蔡燦,錢作勤.基于VB的ANSYS管板強度校核及其優(yōu)化設(shè)計[J].石油與化工設(shè)備,2010,13(7):9-13.
[2] 張慶峰,謝禹鈞,李翔.基于ANSYS二次開發(fā)的管系結(jié)構(gòu)應(yīng)力分析系統(tǒng)[J].機械設(shè)計與制造,2006(3):78-79.
[3] 牟淑志,牟福元,李翔.基于ANSYS二次開發(fā)的結(jié)構(gòu)拓撲優(yōu)化[J].計算機應(yīng)用與軟件,2010,27(2):228-230.
[4] 呂大立,姚安林,王清遠.基于VC++的ANSYS二次開發(fā)及其在埋地管道動力分析中的應(yīng)用[J].四川建筑,2010,30(8):116-118.
[5] 于秀坤,朱虹,金基鐸,等.基于ANSYS二次開發(fā)的輸液曲管振動特性分析[J].沈陽航空工業(yè)學(xué)院學(xué)報,2005,22(5):21-23.
[6] 田會方,張杰峰.基于VC與ANSYS的參數(shù)化有限元分析[J].交通與計算機,2004,22(6):116-118.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。