ANSYS二次開發(fā)及在橋梁優(yōu)化設(shè)計中的應(yīng)用
2013-08-12 by:廣州Ansys中心 來源:仿真在線
ANSYS二次開發(fā)及在橋梁優(yōu)化設(shè)計中的應(yīng)用
ANSYS是世界上著名的大型有限元分析軟件。但作為通用軟件,我們直接接觸到的只是一些基礎(chǔ)的、通用的功能,不免在某些專業(yè)領(lǐng)域中有所欠缺。例如,該軟件對于橋梁中的一些問題還不能直接求解。因此,需要我們運用這些基本功能進(jìn)行一次開發(fā),使ANSYS的潛能充分發(fā)揮出來。
1 ANSYS的二次開發(fā)平臺
ANSYS向用戶提供了一個強(qiáng)大的二次開發(fā)平臺。通過這個平臺,用戶就可以ANSYS原有強(qiáng)大的計算功能為基礎(chǔ),延伸出各行業(yè)工程設(shè)計中必需的或常用的功能,開發(fā)出適用于各個相關(guān)行業(yè)的ANSYS配套計算軟件。
ANSYS提供參數(shù)設(shè)計語言APDL(ANSYS Parametric Design Language是一種解釋性語言,可以通過參數(shù)來建立模型,從而可以自動完成一些通用性強(qiáng)的任務(wù),也可以根據(jù)參數(shù)建立模型。此外,APDL還包括其他許多特性,如重復(fù)某條命令、宏、條件語句、Do循環(huán)以及標(biāo)量、矢量和矩陣運算,文件的讀寫,定制用戶化圖形交互界面等??蓪⒊绦虿僮髦谐S龅降囊恍┟畹拿盍骶幹瞥珊晡募?。宏文件既可以在ANSYS命令行執(zhí)行,也可以將其與屏幕按鈕關(guān)聯(lián),從而使得一系列的操作可以一步快速完成。宏中除了可以填寫ANSYS命令外,還可以調(diào)用GUI函數(shù),給變量賦值以及調(diào)用另一個宏。因此,宏的靈活運用會給用戶在處理復(fù)雜問題時提供極大的方便。
ANSYS的二次開發(fā)平臺還包括ANSYS的用戶界面設(shè)計語言(UIDL)和ANSYS的用戶可編程特性(UPFS)。山于篇幅所限,木文暫不展開討論。
2 參數(shù)化設(shè)計的概念
工程設(shè)計的參數(shù)化設(shè)計與設(shè)計優(yōu)化是密不可分的,參數(shù)化建模的最終目的就是為了設(shè)計優(yōu)化得以進(jìn)行。設(shè)計優(yōu)化是一種尋求最優(yōu)方案的設(shè)計技術(shù)。最優(yōu)的方案是最有效率的方案,可以滿足所有設(shè)計的要求,而且所需要的支出(如重量、而積、體積、應(yīng)力、內(nèi)力、位移或費用等)最小。
ANSYS優(yōu)化設(shè)計的基本概念
1)設(shè)計變量v(或設(shè)計參數(shù))ANSYS的設(shè)計變量為自變量(如結(jié)構(gòu)的尺寸、初始應(yīng)變等)。通過設(shè)計變量的數(shù)字變化來實現(xiàn)結(jié)果的優(yōu)化,設(shè)計變量的上下限決定了設(shè)計變量的變化范圍。每次優(yōu)化設(shè)計可定義多個設(shè)計變量,但建議不要過多,以免導(dǎo)致程序運算困難而難以收斂。ANSYS最多可以定義60個設(shè)計變量。
2)狀態(tài)變量W(或狀態(tài)參數(shù))。狀態(tài)變量是設(shè)計變量的函數(shù)。通過定義狀態(tài)變量可以實現(xiàn)狀態(tài)變量對設(shè)計的約束。程序運行結(jié)果得到的內(nèi)力、應(yīng)力、位移等都可以采擷下來賦子狀態(tài)變量,作為整個優(yōu)化設(shè)計的條件(或約束)。每次優(yōu)化設(shè)計可定義多個狀態(tài)變量,但也建議不要定義過多。
3)目標(biāo)變量f(V)或(目標(biāo)參數(shù))目標(biāo)變量也是設(shè)計變量的函數(shù),是設(shè)計者希望其最終值盡量小的變量。程序運行結(jié)果得到的內(nèi)力、應(yīng)力、位移、變形能等都可以作為設(shè)計的優(yōu)化目標(biāo)。目標(biāo)變量只能定義一個。
以上3個變量是優(yōu)化設(shè)計必須同時具備的,可用一種典型的數(shù)學(xué)表達(dá)式為:
AND(min f(V))
3 橋梁中常見的設(shè)計優(yōu)化問題
通常橋梁設(shè)計首先要進(jìn)行方案比選和方案優(yōu)化。在方案比選和優(yōu)化中常常涉及到眾多的可變因素,如:拱橋的單元截面尺寸、吊桿的初始應(yīng)變、跨徑、矢跨比、拱肋的傾角、材料的選用;斜拉橋的單元截面尺寸、拉索的初始應(yīng)變、跨徑、橋塔高度、橋塔的傾角、輔助墩的數(shù)量和布置;懸索橋單元截面尺寸、主纜初始應(yīng)變、主纜的矢跨比、跨徑。以上可變因素都可以在參數(shù)化建模時定義為設(shè)計變量(必須先賦一個初始值)。對于一些工程中己經(jīng)確定或難以更改的因素(如跨徑)以及根據(jù)設(shè)計者的經(jīng)驗容易確定的因素(如矢跨比)也可不被定義為設(shè)計變量,這樣做是為了減少設(shè)計變量的個數(shù),提高程序運行效率。
在第一次運行結(jié)束后,進(jìn)入后處理可以得到結(jié)構(gòu)的計算結(jié)果,如:內(nèi)力、應(yīng)力、索的軸力、位移、支反力、變形能。這些結(jié)果值,都是設(shè)計變量的函數(shù),設(shè)計者可以根據(jù)自己的需要將其賦給狀態(tài)變量或者目標(biāo)變量。例如:
*GET,moment316,ELEM,316,ETAB,SMIS5(將316號單元的I端彎矩值賦給變量moment316)
*GET,disp745,NODE,745,U,Y(將節(jié)點745的Y句位移賦給變量disp745)
4 工程實例
某蝶形拱橋(見圖1)跨徑L=120m,鋼拱肋,與堅直面夾角為θ,吊桿在橋面上的吊點與結(jié)構(gòu)邊緣的距離為a,矢跨比為B /L,拱肋在橋而高度拉有縱向水平鋼束。由于拱肋傾斜(自重產(chǎn)生拱肋平面外彎矩)、縱向水平鋼束的集中力以及吊桿對拱肋的作用,使得A點的應(yīng)力情況極為復(fù)雜,成為控制方案成立的主要因素。
此時橋梁的跨徑已經(jīng)確定,而且經(jīng)過對拱肋截面和縱梁自重(其操作起來相對比較方便)的反復(fù)調(diào)整之后仍不能得到滿意的結(jié)果。因此必須嘗試調(diào)整θ, a, B/L等參量。從有限元程序建模的常識可知:建一次空間模型己經(jīng)要花費相當(dāng)?shù)臅r間和精力,而且調(diào)試需多次反復(fù)地在GUI(人機(jī)交互模式)下進(jìn)行刪除單元、重建模型的編輯過程,其工作量之大,往往是讓人無法忍受的。
ANSYS的APDL參數(shù)化設(shè)計語言可以讓這個艱難的工作輕松完成。有限元建模及求解的主體過程存為宏文件BUILD.MAC。宏文件在建立有限元節(jié)點時,將節(jié)點坐標(biāo)定義為θ、B、a的函數(shù):
N,1, fix(θ,B,a), fiy(θ,B,a), fiz(θ,B,a),......!定義i號節(jié)點
N, i, fix(θ,B,a), fiv(θ,B,a), fim(θ,B,a),......!定義i號節(jié)點
通過建模及求解主體過程的命令流(宏文件BUILD.MAC),就可以開始求解過程。根據(jù)優(yōu)化過程中設(shè)計人手工參與程度可分為手工方法、半手工方法和程序優(yōu)化法。
1)手工優(yōu)化法。這種方法是設(shè)計人不斷變化設(shè)計參量(θ,B和a)的值,然后再運行宏文件BUILD.MAC程序根據(jù)變化后的設(shè)計參數(shù)自動建模并計算,直到計算結(jié)果滿足設(shè)計人的要求為止。手工賦值可以通過在宏文件里而插入設(shè)計參量的賦值語句,也可以運用ANSYS二次開發(fā)功能,在每次運行宏文件時產(chǎn)生賦值對話框。手工優(yōu)化法可適用于設(shè)計變量較少以及變量的取值范圍較窄的情況,對于設(shè)計參數(shù)較多而且其取值范圍較寬時這種優(yōu)化方法則不可取。手工優(yōu)化法使設(shè)計人對設(shè)計參數(shù)最佳取值范圍有了初步的了解,可作為程序優(yōu)化法的參考,同時程序優(yōu)化結(jié)束之后,可以用手工優(yōu)化來驗證。
2)半手工優(yōu)化法。這種方法是利用APDL語言的循環(huán)語句反復(fù)執(zhí)行宏文件BUILD.MAC,循環(huán)的步長則由設(shè)計人根據(jù)優(yōu)化精度的要求酌定。在每次循環(huán)結(jié)束時,自動讀取計算結(jié)果(如應(yīng)力值),并將其賦值給一個變量,下一次循環(huán)得到的值與此變量比較,如較之小,則覆蓋之并進(jìn)入下一次循環(huán);如較之大,則直接進(jìn)入下一次循環(huán)。此方法實質(zhì)與手工優(yōu)化法一樣,不同的是每一次設(shè)計參數(shù)賦值是通過循環(huán)語句自動實現(xiàn)的。
3)程序優(yōu)化法。ANSYS軟件包具有強(qiáng)大的設(shè)計優(yōu)化的功能,具體方法包括單步運行法、隨即搜索法、等步長搜索法、乘子計算法以及最優(yōu)梯度等功能。這種方法的自動化程度最高,得到的結(jié)果也較為精確。但要注意設(shè)計變量和狀態(tài)變量不要定義得太多,以免程序優(yōu)化的迭代過程無法收斂,而且以上幾種方法往往要結(jié)合使用以得到最優(yōu)結(jié)果。
經(jīng)過上述這3種優(yōu)化方法,得到一致的結(jié)果:θ=32°, B=0.25 m, a= 1.20 m,最終得到A點的主拉應(yīng)力σ1=50 MPa,σ3=-175 MPa,滿足要求。
5 如何編制APDL命令流
從以上的步驟可以看出,幾乎所有的操作(建模、運行、后處理、優(yōu)化、命令流程控制)都是用命令流來進(jìn)行的。這是無法避免的,因為但凡涉及到二次開發(fā)運用的問題,都必須語言編程。對于任何操作命令對應(yīng)的APDL語句都可以查找下拉菜單的“l(fā)og file”直接得到,而且不需要編譯,調(diào)試起來極為方便。筆者編寫的轉(zhuǎn)換程序“CONVERT.MAC"其用途是當(dāng)初學(xué)者GUI建模完成之后執(zhí)行此程序,就可以得到建模過程的完整整齊的命令流(此部分語句占整個操作過程語句行數(shù)的絕大部分)。然后就可以局部修改這個命令流(如將其中的一些數(shù)據(jù)用變量表示,再加上少量的運行執(zhí)行語句和優(yōu)化語句),實現(xiàn)參數(shù)化建模和優(yōu)化設(shè)計。
相關(guān)標(biāo)簽搜索:ANSYS二次開發(fā)及在橋梁優(yōu)化設(shè)計中的應(yīng)用 ANSYS二次開發(fā)及在橋梁優(yōu)化設(shè)計中的應(yīng)用 Ansys有限元培訓(xùn) Ansys workbench培訓(xùn) ansys視頻教程 ansys workbench教程 ansys APDL經(jīng)典教程 ansys資料下載 ansys技術(shù)咨詢 ansys基礎(chǔ)知識 ansys代做 Fluent、CFX流體分析 HFSS電磁分析