化RADOPT及實例)
自從HyperWorks 13.0版本更新后就有了RADOPT的功能它調用了OptiStruct中的優(yōu)化功能來對Radioss模型進行優(yōu)化。RADOPT優(yōu)化介紹在Radioss中的RADOPT功能給用戶提供了比較簡單的方法來設置優(yōu)化問題。它通過定義優(yōu)化文件name.radopt 然后OptiStruct 產生對應的.fem后綴的Bulk格式的優(yōu)化文件。通常Radioss的模型一般涉及到許多非線性的問題那么OptiStruct使用等效靜載法ESLMEquivalent Static Load Method來對Radioss模型進行相應的轉換。ESLM是由漢陽大學Park博士提出的它是一種適用于動態(tài)荷載作用下的優(yōu)化設計的技術。等效靜載荷是指在給定的時間步長下產生與動力/非線性分析相同的響應場的載荷。如上圖所示計算出與該時間歷程中的每個時間步長相對應的等效靜態(tài)負載從而在靜態(tài)環(huán)境中復制該系統(tǒng)的動態(tài)/非線性行為。分析計算的等效靜荷載如上面所解釋的被認為是單獨的荷載情況并且這些多個荷載情況用于線性響應優(yōu)化循環(huán)中。然后將優(yōu)化循環(huán)的更新設計傳遞給分析以用于驗證和計算總體收斂。等效靜載法ESLM在OptiStruct中是響應瞬態(tài)優(yōu)化的一種有效方法它是動態(tài)和非線性的解決方案。更多的關于等效靜載法ESLM的內容參見OptiStruct的用戶手冊。RADOPT的優(yōu)化流程首先進行RADOPT除了常規(guī)的Radioss模型的starter輸入文件和engine輸入文件還需要一個用于定義優(yōu)化問題的名為name.radopt文件。在RADOPT中優(yōu)化的步驟是1 首先將名為 name.radopt的優(yōu)化文件傳遞給OptiStruct。然后根據名字name OptiStruct可以自動識別在同一目錄下的相應的Radioss的模型輸入文件name_0000.rad 和 name_0001.rad。2 OptiStruct將Radioss模型轉換成相應的.fem后綴的OptiStruct的優(yōu)化文件并且運行優(yōu)化計算。3 然后OptiStruct將優(yōu)化設計變量轉換到相應的Radioss模型文件中形成新的Radioss模型新的starter 文件 name_rad_s#_i###_0000.rad新的engine 文件 name_rad_s#_i###_0001.rad然后讓Radioss計算新的Radioss模型這就是外部循環(huán)。與此相對的運行OptiStruct稱為內部循環(huán)Inner loop。在第一個外部循環(huán)中Radioss將首先計算原有Radioss模型這樣可以作為結果比對的基礎。4 在運行完 Radioss 的外部循環(huán)后OptiStruct 讀取 Radioss 結果值。5 如果Radioss結果值比上一次結果值要差或不滿足優(yōu)化設計的約束等也就是優(yōu)化不收斂那么OptiStruct 的優(yōu)化過程繼續(xù)產生新的設計變量后循環(huán)步驟3、4、5直到優(yōu)化設計收斂。6 最后RADOPT優(yōu)化設計結束并輸出優(yōu)化后的相應的 Radioss模型文件。RADOPT優(yōu)化文件的定義在一個優(yōu)化設計中有優(yōu)化目標優(yōu)化約束優(yōu)化設計變量每一個優(yōu)化設計都會有一個優(yōu)化的目標它可以是結構減重(質量最小化) 或是性能提高應變最小化或內能最大化或是體積最小化等等。在RADOPT中使用卡片/DESOBJ來描述。type0或1來選擇最大化還是最小化。在卡片中用優(yōu)化響應/DRESP1來定義目標描述的是什么。是質量還是體積等等。然后用type0或1來選擇最大化還是最小化響應。▇ 優(yōu)化的約束優(yōu)化的約束定義了優(yōu)化響應的上下限。比如對某一構件我們定義了減重質量最小化的目標但是構件減重后的其他性能比如受力時最大變形必須仍然滿足一定的條件比如結構某點的位移不超過某個數(shù)值那么這個條件就是我們需要的優(yōu)化的約束用卡片/DCONSTR來定義。▇ 優(yōu)化的變量優(yōu)化的變量通常和實際模型有關比如它可以是模型中單元屬性比如殼單元的厚度等。它可以用/DVAPREL1卡片定義它還可以是在尺寸優(yōu)化size optimization中的/DESVAR中定義拓撲優(yōu)化topology optimization的/DTPL卡片中定義形貌優(yōu)化topography optimization的/DTPG卡片中自由尺寸優(yōu)化( free-size optimization)的/DSIZE卡片中自由形狀優(yōu)化Free-shape optimization的/DSHAPE卡片中關于如何定義上面這些不同類型的優(yōu)化可以參見OptiStruct 用戶手冊實際上上面的這些Radioss優(yōu)化卡片非常類似OptiStruct相應的卡片比如/DTPL類似OptiStruct中的DTPL卡片。另外如果你已經是OptiStruct的用戶你甚至可以使用/BULK, /BULKFMT, /BULKPROP, /BULKMAT以及/BULK/IO卡片將OptiStruct中的bulk格式的優(yōu)化語句直接用在RADOPT的優(yōu)化文件name.radopt中。運行RADOPT優(yōu)化有兩種方法運行RADOPT優(yōu)化一種是使用求解器窗口Solver GUI運行RADOPT。如下圖所示只要輸入文件選擇name.radopt的優(yōu)化文件然后選擇 “-radopt”點擊“運行”就可以了。還有一種方法是使用命令行運行RADOPT優(yōu)化。那么首先需要確認設置好了環(huán)境變量。比如▇ Linux (bash):export RADIOSS_STARTER$ALTAIR_HOME/hwsolvers/radios/bin/linux64/radioss_starter executableexport RADIOSS_ENGINE$ALTAIR_HOME/hwsolvers/radios/bin/linux64/radioss_engine executable▇ Windows:set RADIOSS_STARTER%ALTAIR_HOME%\hwsolvers\radioss\bin\win64\radioss_starter executableset RADIOSS_ENGINE%ALTAIR_HOME%\hwsolvers\radioss\bin\win64\radioss_engine executable比如下圖所示在windows中設置RADIOSS_STARTER 環(huán)境變量然后運行RADOPT優(yōu)化的命令為直接使用命令▇ Linux (bash):[optistructhost~]$ $ALTAIR_HOME/hwsolvers/optistruct/bin/linux64/optistruct_executable name.radopt –radopt▇ Windows:[optistructhost~]$ $ALTAIR_HOME/hwsolvers/optistruct/bin/win64/optistruct_executable name.radopt -radopt使用腳本▇ Windows中使用OptiStruct腳本[optistructhost~]$ $ALTAIR_HOME/hwsolvers/scripts/optistruct.bat name.radopt –radopt▇ Windows中使用Radioss腳本[optistructhost~]$ $ALTAIR_HOME/hwsolvers/scripts/radioss.bat name.radopt -radoptUsing direct calls to executable (Windows machines)這兩種方法各有所長前一個因為使用求解器界面所以比較容易操作后一種使用命令的方法可以很方便的使用在自己編寫的其他腳本中。這里再次提醒需要將Radioss模型文件和name.radopt的優(yōu)化文件放在同一工作目錄下。實例分享Radioss實體單元拓撲優(yōu)化Topology Optimization在Radioss中使用/DTPL可以設置拓撲優(yōu)化。與典型的優(yōu)化問題一樣在Radioss拓撲優(yōu)化也有三個要素目標在本例中最小化結構的體積約束本例中最大位移小于5mm設計變量鉤實例拓撲優(yōu)化設計在Radioss中設置優(yōu)化需要增加一個單獨的后綴為radopt的文件并且文件名必須與starter 和engine文件名相同。在這個后綴為radopt的文件中可以定義優(yōu)化的目標優(yōu)化的約束等等。更多關于Radioss優(yōu)化參見工具書中的 Design Optimization。概要▇ 實例目標這個實例的目標是介紹如何在實體單元中設置拓撲優(yōu)化。▇ 實例介紹在鉤狀結構的頂部設置rigid body,并施加向下的集中力。選擇下圖中紅色部分為優(yōu)化設計的區(qū)域。Units: mm, s, ton, N, and MPa▇ 優(yōu)化設置- 優(yōu)化目標最小化紅色優(yōu)化區(qū)域的體積- 優(yōu)化約束Node group 120的最大位移小于5.0 [mm]問題描述▇ 拓撲優(yōu)化:- 使用優(yōu)化質量控制 MEMBSIZ1- 定義拔模方向 DRAW1優(yōu)化設計詳細介紹Radioss 優(yōu)化設置▇ 優(yōu)化目標/DESOBJ 卡片用于定義優(yōu)化的目標。在這個實例中優(yōu)化的目標是最小化type0 min優(yōu)化設計響應#10 即體積. 在/DRESP1/10中定義的RTYPE3 即為體積這個可以參見工具書。PTYPE3 以及 grpart4即定義group part ID 為 4 是優(yōu)化區(qū)域。優(yōu)化目標設置點擊圖片可查看高清大圖▇ 優(yōu)化約束在這個實例中定義鉤狀結構在集中力的作用下最終位移少于5.0mm以保障結構質量。所有需要使用/DCONSTR卡片和/DRESPS1卡片來定義這個優(yōu)化約束。在/DRESPS1卡片中定義優(yōu)化響應是node group ID120的總位移。然后將這個響應#11使用到約束/DCONSTR中并且定義最大值cmax為5.0即node group ID120的總位移不能超過5.0mm。優(yōu)化約束設置▇ 拓撲優(yōu)化/DTPL卡片支持下面的拓撲優(yōu)化設計TMIN: 最小化厚度STRESS: 應力約束MEMBSIZ: 構件尺寸約束MESH: 網格類型DRAW:拔模方向約束EXTR: 擠壓方向約束PATRN: 多模鑄造約束PATREP: 多模鑄造重復約束更多的關于拓撲優(yōu)化的設計可以參見工具書/DTPL卡片。在這個拓撲優(yōu)化實例中使用了:▇ 構件尺寸約束(設置 MEMBSIZ1)拓撲優(yōu)化中構件尺寸約束其實更是一種質量控制的方法。在這個例子中我們設置最小直徑MINDIM是1。其實我們建議MINDIM為單元平均網格的3倍到12倍。在這個例子中優(yōu)化區(qū)域的固體單元的網格約0.7mm。所以MINDIM將在優(yōu)化中自動調整到單元平均尺寸的3倍。▇ 拔模方向定義 (設置 DRAW1)在拓撲優(yōu)化中允許定義拔模方向以便允許模具沿給定方向滑動。DTYP用于定義模的類型在這個實例中使用DTYP1 即single die的類型這個類型用于3D優(yōu)化設計。拔模的方向可以有兩種不同的方法來定義。一個使用節(jié)點ID從DAID到DFID的方向。還有一種方法是使用坐標從XDAYDAZDA到XDFYDFZDF的方向。不同的拔模方向會得出不同的拓撲優(yōu)化結果。比如下圖中顯示的左邊優(yōu)化結構是拔模方向為垂直厚度方向和右邊優(yōu)化結果是拔模方向沿著z方向。不同拔模方向的拓撲優(yōu)化結果仿真結果及結論運行Radioss優(yōu)化的模型后在結果文件中需要檢查以下幾點1 檢查是否最后一個設計為最優(yōu)設計并且是否是可行的feasible設計。在*.out 文件 (在這個實例中是hook_opt.out) 中的每一個內部迭代中最后是否有下面的信息“FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).“ –這個表面得到的設計是好的?!癐NFEASIBLE DESIGN (AT LEAST ONE CONSTRAINT VIOLATED).” -這個表明得到的設計還需進一步優(yōu)化。以上信息也可以在hwsolver.mesg文件中得到。2 在 *.out 文件 (hook_opt.out)中, 檢查每次優(yōu)化的定義以及結果. 比如通過搜索“Objective Function: Minimize VOLUM”, “Run Type: Topology Optimization” 等等關鍵字。3 在運行Radioss優(yōu)化時會自動有一個相應的OptiStruct模型*.fem產生這個模型中是hook_opt.fem。如果用戶熟悉OptiStruct的可以同時檢查相應的優(yōu)化設置在自動產生出的*.fem文件中是否與*.radopt中定義的相一致。在這個實例中在比如*.eslout (hook_opt.eslout)中顯示其中的一次優(yōu)化迭代的結果還可以在每個ANIM *.h3d, T01 文件中使用HV和HG直觀的觀察每個優(yōu)化迭代的結果。最終在這個實例中優(yōu)化區(qū)域的體積變化:- 優(yōu)化前體積是 324.715- 拓撲優(yōu)化后體積是 230.202構件體積優(yōu)化的迭代過程下圖顯示了在優(yōu)化過程中總位移一直得到了很好的控制小于5mm構件優(yōu)化迭代過程中的最大位移約束的控制