如何使用Optistruct進(jìn)行應(yīng)力拓?fù)鋬?yōu)化或多目標(biāo)、多約束優(yōu)化

       Optistruct是一款非常優(yōu)秀的商業(yè)有限元求解器、優(yōu)化求解器,功能強(qiáng)大到炸裂,使用起來也很方便。但偶爾用起來也有一點(diǎn)點(diǎn)小麻煩,初學(xué)者經(jīng)常會(huì)碰到的問題就是不知道怎么使用Optistruct進(jìn)行多目標(biāo)優(yōu)化或應(yīng)力優(yōu)化這種涉及多個(gè)響應(yīng)的優(yōu)化。Optistruct中的響應(yīng)是指要作為目標(biāo)函數(shù)或約束函數(shù)的結(jié)構(gòu)的性能,比如質(zhì)量、體積、體積分?jǐn)?shù)、應(yīng)力、位移等等,其中應(yīng)力和位移這種響應(yīng)屬于局部響應(yīng),即結(jié)構(gòu)中有很多個(gè)這種響應(yīng),某點(diǎn)的位移或應(yīng)力不能代表結(jié)構(gòu)的整體性能。以應(yīng)力優(yōu)化為例,假如我們想要進(jìn)行應(yīng)力最小優(yōu)化,我們實(shí)際上是要使結(jié)構(gòu)中的最大應(yīng)力最小,但是值得注意的是,優(yōu)化過程中,具有最大應(yīng)力的單元一直會(huì)變,因此不可能使某個(gè)應(yīng)力值最小,而另外一方面,optistruct也只允許有一個(gè)目標(biāo)函數(shù),怎么辦呢?

       通過查詢各類資料,本人摸索出一個(gè)行之有效的方法,概述如下:

  1. 創(chuàng)建一個(gè)公式,應(yīng)力優(yōu)化經(jīng)常使用p范數(shù)凝聚所有的應(yīng)力值,結(jié)構(gòu)中有多少個(gè)單元,公式中即有多少個(gè)未知數(shù)

    σpn=(Σ(σi)^pn)^(1/pn

  2. 創(chuàng)建NEL個(gè)應(yīng)力響應(yīng),NEL為結(jié)構(gòu)中的單元個(gè)數(shù)

  3. 創(chuàng)建一個(gè)總的響應(yīng),類型選擇為:function,勾選第一步創(chuàng)建的公式,然后不要著急create,先點(diǎn)擊edit,勾選response,在數(shù)目中輸入單元個(gè)數(shù),然后挨個(gè)在彈出的NEL個(gè)框中,填入一個(gè)個(gè)響應(yīng)

  4. 在目標(biāo)函數(shù)中,選擇第三步創(chuàng)建的總響應(yīng)作為目標(biāo)函數(shù)。

    假如這么干的話,難點(diǎn)在于第二步和第三步,因?yàn)槲覀円獎(jiǎng)?chuàng)建NEL個(gè)應(yīng)力響應(yīng),每個(gè)響應(yīng)對應(yīng)一個(gè)單元。第三步則要勾選一個(gè)個(gè)響應(yīng),這些響應(yīng)要和公式中的未知數(shù)一一對應(yīng),NEL一般很大,手動(dòng)創(chuàng)建太難了,為此我們很自然想到使用腳本自動(dòng)創(chuàng)建這些數(shù)據(jù),只要了解Optistruct的語言習(xí)慣,自動(dòng)創(chuàng)建不是難題,本人在研究時(shí),首先創(chuàng)建了基本的優(yōu)化模型,并驗(yàn)證可運(yùn)行,然后使用Python腳本自動(dòng)完成了1-3步。對于下面的經(jīng)典L型梁

    1.png  

其中有1600個(gè)單元,手動(dòng)創(chuàng)建很不現(xiàn)實(shí),部分響應(yīng)和公式如下圖所示

Snipaste_2020-09-25_18-11-11.jpg

使用本人單獨(dú)開發(fā)的小腳本,很方便完成這部分內(nèi)容,然后將它們粘貼到之前創(chuàng)建的簡單優(yōu)化模型中即可。

優(yōu)化過程和優(yōu)化后的效果如下圖所示:

topo_process.gif

拓?fù)鋬?yōu)化后的等值圖如下圖,可見應(yīng)力集中的部位基本被消除。本人使用的p范數(shù)為6,大家可以嘗試其它數(shù)值得到更優(yōu)異的解:

topoed.png

而柔度最小化優(yōu)化的結(jié)果是下面這樣的,顯然和應(yīng)力最小拓?fù)鋬?yōu)化是不一樣的,因?yàn)楣战沁€是直的,沒有去除應(yīng)力集中。

compppppp.png

創(chuàng)建公式需要注意格式,感興趣的同學(xué)可以嘗試下載附件,附件包括腳本和有效的應(yīng)力優(yōu)化模型,謝謝。

同樣使用本文的方法還可以求解多目標(biāo)優(yōu)化和多約束優(yōu)化等等,不僅僅是拓?fù)鋬?yōu)化,尺寸優(yōu)化,形狀優(yōu)化也能解決,因?yàn)檫@三種優(yōu)化類型都需要響應(yīng)。

如何使用Optistruct進(jìn)行應(yīng)力拓?fù)鋬?yōu)化或多目標(biāo)、多約束優(yōu)化的圖6

以下內(nèi)容為付費(fèi)內(nèi)容,請購買后觀看

   17人購買

Python腳本和原模型

App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

27
18
5