ANSYS拓?fù)鋬?yōu)化

2017-03-02  by:CAE仿真在線  來(lái)源:互聯(lián)網(wǎng)

第二章 拓?fù)鋬?yōu)化


什么是拓?fù)鋬?yōu)化?

拓?fù)鋬?yōu)化是指形狀優(yōu)化,有時(shí)也稱為外型優(yōu)化。拓?fù)鋬?yōu)化的目標(biāo)是尋找承受單載荷或多載荷的物體的最佳材料分配方案。這種方案在拓?fù)鋬?yōu)化中表現(xiàn)為“最大剛度”設(shè)計(jì)。

與傳統(tǒng)的優(yōu)化設(shè)計(jì)不同的是,拓?fù)鋬?yōu)化不需要給出參數(shù)和優(yōu)化變量的定義。目標(biāo)函數(shù)、狀態(tài)變量和設(shè)計(jì)變量(參見(jiàn)“優(yōu)化設(shè)計(jì)”一章)都是預(yù)定義好的。用戶只需要給出結(jié)構(gòu)的參數(shù)(材料特性、模型、載荷等)和要省去的材料百分比。

拓?fù)鋬?yōu)化的目標(biāo)——目標(biāo)函數(shù)——是在滿足結(jié)構(gòu)的約束(V)情況下減少結(jié)構(gòu)的變形能。減小結(jié)構(gòu)的變形能相當(dāng)于提高結(jié)構(gòu)的剛度。這個(gè)技術(shù)通過(guò)使用設(shè)計(jì)變量(hi)給每個(gè)有限元的單元賦予內(nèi)部偽密度來(lái)實(shí)現(xiàn)。這些偽密度用PLNSOL,TOPO命令來(lái)繪出。

例如,給定V=60表示在給定載荷并滿足最大剛度準(zhǔn)則要求的情況下省去60%的材料。圖2-1表示滿足約束和載荷要求的拓?fù)鋬?yōu)化結(jié)果。圖2-1a表示載荷和邊界條件,圖2-2b表示以密度云圖形式繪制的拓?fù)浣Y(jié)果。




圖2-1 體積減少60%的拓?fù)鋬?yōu)化示例


如何做拓?fù)鋬?yōu)化

拓?fù)鋬?yōu)化包括如下主要步驟:

1. 定義拓?fù)鋬?yōu)化問(wèn)題。

2. 選擇單元類型。

3. 指定要優(yōu)化和不優(yōu)化的區(qū)域。

4. 定義和控制載荷工況。

5. 定義和控制優(yōu)化過(guò)程。

6. 查看結(jié)果。

拓?fù)鋬?yōu)化的細(xì)節(jié)在下面給出。關(guān)于批處理方式和圖形菜單方式

不同的做法也同樣提及。


定義拓?fù)鋬?yōu)化問(wèn)題

定義拓?fù)鋬?yōu)化問(wèn)題同定義其他線性,彈性結(jié)構(gòu)問(wèn)題做法一樣。用戶需要定義材料特性(楊氏模量和泊松比),選擇合適的單元類型生成有限元模型,施加載荷和邊界條件做單載荷步或多載荷步分析。參見(jiàn)“ANSYS Analysis Procedures Guides”第一、二章。


選擇單元類型

拓?fù)鋬?yōu)化功能可以使用二維平面單元,三維塊單元和殼單元。要使用這個(gè)功能,模型中只能有下列單元類型:

二維實(shí)體單元:SOLID2和SOLID82

三維實(shí)體單元:SOLID92和SOLID95

殼單元:SHELL93

二維單元用于平面應(yīng)力問(wèn)題。


指定要優(yōu)化和不優(yōu)化的區(qū)域

只有單元類型號(hào)為1的單元才能做拓?fù)鋬?yōu)化??梢允褂眠@種限制控制模型優(yōu)化和不優(yōu)化的部分。例如,如果要保留接近圓孔部分或支架部分的材料,將這部分單元類型號(hào)指定為2或更大即可:

ET,1,SOLID92

ET,2,SOLID92

TYPE,1

VSEL,S,NUM,,1,,2 !用這些單元?jiǎng)澐值膶?shí)體將被優(yōu)化

VMESH,ALL

TYPE,2

VSEL,S,NUM,,3 !用這些單元?jiǎng)澐值膶?shí)體將保持原狀

VMESH,ALL

用戶可以使用ANSYS的選擇和修改命令控制單元?jiǎng)澐趾皖愋吞?hào)定義。


定義和控制載荷工況

可以在單個(gè)載荷工況和多個(gè)載荷工況下做拓?fù)鋬?yōu)化。單載荷工況是最簡(jiǎn)便的。

要在幾個(gè)獨(dú)立的載荷工況中得到優(yōu)化結(jié)果時(shí),必須用到寫(xiě)載荷工況和求解功能。在定義完每個(gè)載荷工況后,要用LSWRITE命令將數(shù)據(jù)寫(xiě)入文件,然后用LSSOLVE命令求解載荷工況的集合。

例如,下面的輸入演示如何將三個(gè)載荷工況聯(lián)合做一個(gè)拓?fù)鋬?yōu)化分析。

D,10,ALL,0,,20,1 !定義第一個(gè)載荷工況的約束和載荷

NSEL,S,LOC,Y,0

SF,

ALLSEL

LSWRITE,1 !寫(xiě)第一個(gè)載荷工況

DDEL,

SFDEL,

NSEL,S,LOC,X,0,1

D,ALL,ALL,0

NSEL,ALL

F,212,FX

LSWRITE,2 !寫(xiě)第二個(gè)載荷工況

LSWRITE,3 !寫(xiě)第三個(gè)載荷工況

FINISH

/SOLUTION

TOPDEF,10,3 !定義優(yōu)化的參數(shù)

LSSOLVE,1,3,1 !在拓?fù)鋬?yōu)化前做所有三個(gè)載荷工況求解


定義和控制優(yōu)化過(guò)程

拓?fù)鋬?yōu)化過(guò)程包括兩部分:定義優(yōu)化參數(shù)和進(jìn)行拓?fù)鋬?yōu)化。用戶可以用兩種方式運(yùn)行拓?fù)鋬?yōu)化:控制并執(zhí)行每一次迭代,或自動(dòng)進(jìn)行多次迭代。

ANSYS有三個(gè)命令定義和執(zhí)行拓?fù)鋬?yōu)化:TOPDEF,TOPEXE和TOPITER。TOPDEF命令定義要省去材料的量,要處理載荷工況的數(shù)目,收斂的公差。TOPEXE命令執(zhí)行一次優(yōu)化迭代。TOPITER命令執(zhí)行多次優(yōu)化迭代。


— 定義優(yōu)化參數(shù)

首先要定義優(yōu)化參數(shù)。用戶要定義要省去材料的百分比,要處理載荷工況的數(shù)目,收斂的公差。

命令:TOPDEF

GUI:Main Menu>Solution>-Solve-Topological opt

注——本步所定義的內(nèi)容并不存入ANSYS數(shù)據(jù)庫(kù)中,因此在下一個(gè)拓?fù)鋬?yōu)化中要重新使用TOPDEF命令。


— 執(zhí)行單次迭代

定義好優(yōu)化參數(shù)以后,可以執(zhí)行一次迭代。迭代后用戶可以查看收斂情況并繪出或列出當(dāng)前的拓?fù)鋬?yōu)化結(jié)果。可以繼續(xù)做迭代直到滿足要求為止。如果是在GUI方式下執(zhí)行,在Topological Optimization 對(duì)話框(ITER域)中選擇一次迭代。

命令:TOPEXE

GUI:Main Menu>Solution>-Solve-Topological opt

下面的例子說(shuō)明了如何在拓?fù)鋬?yōu)化中每次執(zhí)行一次迭代:

/SOLUTION

TOPDEF,25,1 !移去25%體積并處理一個(gè)載荷工況

SOLVE !執(zhí)行第一次應(yīng)力分析

TOPEXE !執(zhí)行第一次拓?fù)鋬?yōu)化迭代

FINISH

/POST1 !進(jìn)入后處理器

PLNSOL,TOP0 !畫(huà)出優(yōu)化結(jié)果

*GET,TIPSRAT,TOPO,,CONV !讀取拓?fù)涫諗繝顟B(tài)

*STATUS,TOPSTAT !列表

/SOLUTION

SOLVE !執(zhí)行第二次應(yīng)力分析

TOPEXE !執(zhí)行第二次拓?fù)鋬?yōu)化迭代

FINISH

/POST1

TOPEXE的主要優(yōu)點(diǎn)是用戶可以設(shè)計(jì)自己的迭代宏進(jìn)行自動(dòng)優(yōu)化循環(huán)和繪圖。在下一節(jié),可以看到TOPITER命令是一個(gè)ANSYS的宏,用來(lái)執(zhí)行多次優(yōu)化迭代。


— 自動(dòng)執(zhí)行多次迭代

在定義好優(yōu)化參數(shù)以后,用戶可以自動(dòng)執(zhí)行多次迭代。在迭代完成以后,可以查看收斂情況并繪出或列出當(dāng)前拓?fù)湫螤?。如果需要的?可以繼續(xù)執(zhí)行求解和迭代。TOPITER命令實(shí)際是一個(gè)ANSYS的宏,可以拷貝和定制(見(jiàn)APDL Programmer’s Guide)。

命令:TOPITER

GUI:Main Menu>Solution>-Solve-Topological opt

下面的例子說(shuō)明了如何使用TOPITER宏執(zhí)行多次迭代:

… !定義并寫(xiě)第一個(gè)載荷工況

LSWRITE

… !定義并寫(xiě)第二個(gè)載荷工況

LSWRITE

… !定義并寫(xiě)第三個(gè)載荷工況

LSWRITE

TOPDEF,80,3,.001 !80%體積減少,3個(gè)載荷工況

… 0.001為收斂公差

/DSCALE,,OFF !關(guān)閉形狀改變

/CONTOUR,,3 !每次顯示3個(gè)輪廓數(shù)值

TOPITER,20,1 !最大20次迭代。每次迭代求解并繪出

… 結(jié)果

每次迭代執(zhí)行一次LSSOLVE命令,一次TOPEXE命令和一次PLNSOL,TOPO顯示命令。當(dāng)收斂公差達(dá)到(用TOPDEF定義)或最大迭代次數(shù)(用TOPITER定義)達(dá)到時(shí)優(yōu)化迭代過(guò)程終止。


查看結(jié)果。

拓?fù)鋬?yōu)化結(jié)束后,ANSYS結(jié)果文件(Jobname.RST)將存儲(chǔ)優(yōu)化結(jié)果供通用后處理器使用。用戶可以使用后面提到的后處理命令。要得到更詳細(xì)的信息,請(qǐng)查閱ANSYS Commands Reference或ANSYS Basic Analysis Procedures Guide第五章。

要列出結(jié)點(diǎn)解和/或繪出偽密度,使用PRNSOL和PLNSOL命令的TOPO變量。

要列出單元解和/或繪出偽密度,使用PLESOL和PRESOL命令的TOPO變量。

可以使用ANSYS表格功能查看結(jié)果:

ETABLE,EDENS,TOPO

PLETAB,EDENS

PRETAB,EDENS

ESEL,S,ETAB,EDENS,0.9,1.0

EPLOT

要查看最近(最后一次迭代)的收斂情況和結(jié)構(gòu)變形能,使用*GET命令:

*GET,TOPCV,TOP0,,CONV !如果TOPCV=1(收斂)

*GET,ECOMP,TP0,,COMP !ECOMP=變形能

*STAT


二維多載荷優(yōu)化設(shè)計(jì)示例

在本例中,對(duì)承受兩個(gè)載荷工況的梁進(jìn)行拓?fù)鋬?yōu)化。

問(wèn)題描述

圖2-2表示一個(gè)承載的彈性梁。梁兩端固定,承受兩個(gè)載荷工況。梁的一個(gè)面是用一號(hào)單元?jiǎng)澐值?用于拓?fù)鋬?yōu)化,另一個(gè)面是用二號(hào)單元?jiǎng)澐值?不作優(yōu)化。最后的形狀是單元1的體積減少50%。


圖2-2 承受兩個(gè)載荷工況的梁



本問(wèn)題是用下列的ANSYS命令流求解的。兩個(gè)載荷工況定義并用LSWRITE命令寫(xiě)入文件。使用ANSYS選擇功能,單元SOLID82通過(guò)類型號(hào)1和2分別指定優(yōu)化和不優(yōu)化的部分。TOPDEF命令定義問(wèn)題有兩個(gè)載荷工況并要求50%體積減少。TOPEXE命令在本例中沒(méi)有使用,代之以用TOPITER宏命令指定最大迭代次數(shù)為12次。

/TITLE,A 2-d,multiple-load example of topological optimization

/PREP7

BLC4,0,0,3,1 !生成實(shí)體模型(3X1矩形)

ET,1,82 !二維實(shí)體單元,1號(hào)為優(yōu)化

ET,2,82 !2號(hào)不優(yōu)化

MP,EX,1,118E9 !線性各項(xiàng)同性材料

MP,NUXY,1,0.3

ESIZE,0.05 !較細(xì)的網(wǎng)格密度

TYPE,1

AMESH,ALL !自由矩形網(wǎng)格劃分

NSEL,S,LOC,X,0,0.4 !選擇不優(yōu)化的部分

ESLN

TYPE,2

EMODI,ALL !定義2號(hào)單元

ALLSEL

NSEL,S,LOC,X,0

D,ALL,ALL,0 !在X=0處固定

NSEL,S,LOC,X,3

D,ALL,ALL,0 !在X=3處固定

FORCE=1000 !載荷數(shù)值

NSEL,S,LOC,X,1

NSEL,R,LOC,Y,1

F,ALL,FY,FORCE !定義第一個(gè)載荷工況

ALLSEL

LSWRITE,1 !寫(xiě)第一個(gè)載荷工況

FDEL,ALL

NSEL,S,LOC,X,2

NSEL,R,LOC,Y,0

F,ALL,FY,-FORCE !定義第二個(gè)載荷工況

ALLSEL

LSWRITE,2 !寫(xiě)第二個(gè)載荷工況

FDEL,ALL

TOPDEF,50,2 !定義拓?fù)鋬?yōu)化有兩個(gè)載荷工況

/SHOW,topo,grph !將圖形輸出到文件(在交互方式下刪

除本命令

/DSCALE,,OFF

/CONTOUR,,2

TOPITER,12,1 !執(zhí)行不多于12次迭代

FINISH


求解結(jié)果

圖2-3表示上例的計(jì)算結(jié)果。這些結(jié)果存入top.grph文件便于后續(xù)的顯示處理。如果是交互地運(yùn)行ANSYS程序,將/SHOW命令刪除以觀看每次迭代的結(jié)果。




圖2-3 拓?fù)鋬?yōu)化結(jié)果——50%體積減少



一些說(shuō)明

l 結(jié)果對(duì)載荷情況十分敏感。很小的載荷變化將導(dǎo)致很大的優(yōu)化結(jié)果差異。

l 結(jié)果對(duì)網(wǎng)格劃分密度敏感。一般來(lái)說(shuō),很細(xì)的網(wǎng)格可以產(chǎn)生“清晰”的拓?fù)浣Y(jié)果,而較粗的網(wǎng)格會(huì)生成“混亂”的結(jié)果。但是,較大的有限元模型需要更多的收斂時(shí)間。

l 在一些情況下會(huì)得到珩架形狀的拓?fù)浣Y(jié)果。這通常在用戶指定很大的體積減少值和較細(xì)的網(wǎng)格劃分時(shí)出現(xiàn)。很大的體積減少值如80%或更大(TOPDEF命令)。

l 如果有多個(gè)載荷工況時(shí),有多種方式將其聯(lián)合進(jìn)行拓?fù)鋬?yōu)化求解。例如,考慮有五個(gè)載荷工況的情況??梢赃x擇使用五個(gè)單獨(dú)的拓?fù)鋬?yōu)化分析過(guò)程,也可以使用包括這五個(gè)工況的一次拓?fù)鋬?yōu)化分析。還有,也可以將這五個(gè)工況合成為一個(gè)工況,然后做一次優(yōu)化。綜合起來(lái),可以有七個(gè)不同的拓?fù)鋬?yōu)化求解:

5 獨(dú)立的拓?fù)鋬?yōu)化求解(每個(gè)工況一次)

1 拓?fù)鋬?yōu)化求解針對(duì)五個(gè)工況

1 拓?fù)鋬?yōu)化求解針對(duì)一個(gè)聯(lián)合工況

附加的結(jié)果或結(jié)果的組合都是可用的。

l 結(jié)果對(duì)泊松比敏感但對(duì)楊氏模量不敏感。但是,隨泊松比變化的效果不明顯。

l TOPDEF和TOPITER命令中的指定值并不存儲(chǔ)在ANSYS數(shù)據(jù)庫(kù)中;因此,用戶必須在每次拓?fù)鋬?yōu)化時(shí)重新指定優(yōu)化目標(biāo)和定義。


開(kāi)放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:ANSYS拓?fù)鋬?yōu)化 Ansys有限元培訓(xùn) Ansys workbench培訓(xùn) ansys視頻教程 ansys workbench教程 ansys APDL經(jīng)典教程 ansys資料下載 ansys技術(shù)咨詢 ansys基礎(chǔ)知識(shí) ansys代做 Fluent、CFX流體分析 HFSS電磁分析 Abaqus培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過(guò)下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國(guó)服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com