基于OptiStruct的3種子模型法實現及應用

摘    要:介紹了基于Optistruct求解器實現子模型法的3種方式,等參定量對比3種子模型法和全局模型法,計算結果表明:FIELD子模型方法計算結果同全模型存在差異,但差異可忽略不計;FBD子模型則完全一致;TCL子模型方法同全模型位移場、應力場相對誤差分別為3.1%、5.7%。應用FBD子模型法簡化計算不失為一條經濟、高效率的途徑。

關鍵詞:OptiStruct;子模型法;計算效率;

0 引言

有限元法在解決復雜工程分析計算中扮演的角色越來越重要,一些領域如機械制造[1,2,3,4]、化工[5]、國防軍工[6,7]等廣泛應用有限元法進行輔助設計和試驗驗證。有限元法是基于拉格朗日型網格,理論上網格劃分得足夠細密,那么就能使問題域離散單元數值解愈接近真實解。但受限于計算資源的捉襟見肘,實際復雜構件不可能劃分太細密的網格。工程師們經常會遭遇如下困境:對于著重關注的區域,計算網格太疏會跳過極值應力且收斂性差,不能得到滿意的結果,需細化網格以捕捉應力梯度;對于這些區域外的部分,網格密度已經富余,粗糙的網格分布已足夠求解近似的結果,如果耗費大量的計算資源、時間在這些不關注區域,影響分析的效率,不可取。基于此,子模型法倒不失為一種處理此類問題的捷徑。

1 子模型法簡介

子模型法基于圣維南(Saint-Venant)原理[8],其指出結構真實載荷可以用等效載荷替換,但應力、應變等張量只在等效載荷施加處局部會發生變化。子模型法正是考慮此種思路,即避開全局整體模型而只在局部需求細節處模型進行特殊處理,從而得到更加精確解的分析方法。子模型法主要分為兩類:1)基于節點位移。即將計算得到的整體模型網格節點的位移場利用單元形狀功能插值到子模型邊界上的節點,它可以插值得到更精確的位移場。2)基于面應力。即使用應力場去插值子模型邊界單元高斯積分點處的應力,它可以插值得到更精確的應力場;考慮到應力場為位移場的一階微,插值精度相對偏弱,選取全局模型節點位移作為驅動變量插值到子模型的邊界是合理的。

在特殊問題的分析或較復雜模型中可以求解局部精確解以外,子模型法還有以下幾個方面優勢:1)進一步縮減求解文件大小,略過復雜、不關注區域,節省計算資源;2)關鍵細節模型(如圓角尺寸、焊縫寬度等)可以很方便地進行方案對比;3)在正式分析計算前驗證網格敏感性。

2 子模型法實現方式

OptiStruct作為Altair旗下的一款結構分析求解器,其先進的NVH分析求解功能、穩健的非線性/傳動耐久分析、高并行求解能力、備受贊譽的優化技術、同HyperMesh無縫連接等優勢,使其廣泛地應用于工業結構設計及優化設計。因此,本文選取OptiStruct作為載體實現子模型法求解設置。實現子模型法主要通過以下3種方式。

2.1 腳本文件法(TCL)

當HyperMesh打開時,它會生成一個名為command.tcl的Tcl文件。如果此文件不存在,則在HyperMesh會話開始時創建該文件。如果該文件已存在,HyperMesh會將新會話的命令添加到原始文件的末尾。每次HyperMesh執行修改數據庫中某些內容的操作,例如創建實體、修改選項卡、劃分網格等時,用于執行該操作的命令以及任何輔助命令都會寫入command.tcl文件中,這些命令統稱為TCL。其中,標記命令*createmark作為TCL核心指令,通用格式為:*createmark entity_type mark_id option,此命令根據用戶提供的選項將當前對象置為標記以實現后續操作。其中,entity_type為要置為當前對象的元素類型選擇集,mark_id為選擇集的ID,通過option來指定選擇方法。此命令中entity_type支持的類型有:節點(nodes),單元(elements),連接集(connectors),組件(components),負載(loads),約束方程(equations),邊界集(loadcols),坐標系(systems),向量維度(vectors),向量維度集(vectorcols),預設塊集(blocks),接觸(groups),集合(sets),接觸面集(contactsurfs)等。如果想刪除模型中所有網格單元,可通過Delete面板操作。上述過程寫入到command.tcl文件中的命令為:

*createmark elements 1“all”

*deletemark elements 1

基于此,在相關命令熟悉理解前提下可通過文本編輯器直接修改求解文件完成子模型法的實現。

2.2 場映射法(Field)

單純地計算數學中的插值本質上看是一種函數逼近,逼近的函數不是復雜連續函數,而是一組不確定表達式的離散數值,相同的概念同樣適用于有限元法。在有限元推導過程,形函數用來構建母單元的位移場,插值函數用來構建真實單元的位移場。插值函數構造了母單元和全局坐標的媒介,因而插值方式各異會帶來精度上的差異。如果把有限元計算結果施加給其他模型,因模型網格包含很多節點,使用場進行插值,精度會更高。HyperMesh中有一個通用的創建和映射數據的場工具———field,鼠標右鍵選中field可調出場功能設置項。

圖1所示為場映射功能設置項,創建field時需要確定待映射場類型是連續場還是離散場。連續場:適用于一片網格向另外一片網格插值的情況,這時HyperMesh可以基于源網格的形函數進行場的創建;離散場:適用于沒有源網格的場合,比如從一些不規則點提取數據,再向新的網格插值。本文子模型法思路是傳遞位移邊界條件,故切割的邊界節點映射位移為離散場。在對離散的field進行映射(realize)的時候,Field工具欄提供了如下額外插值選項:1)Shape Function。使用單元的形函數(缺省)。2)Shape Function and Proximity Mapping。在源網格內部使用單元的形函數,如果目標單元超出源網格以外(按照搜索容差搜索不到)的按照最近點賦值。3)Triangulation。系統會在后臺構建一片三角形網格,并使用三角形單元的線性形函數進行插值。4)inverse distance weighting。使用線性形函數。5)Tolerance值。用于確認目標點是在源單元的內部還是外部。

可通過GUI界面場映射(field)功能實現子模型法。

2.3 載荷提取法(FBD)

FBD(Free Body Diagrams)自由體載荷提取技術是hypermesh一項高級數據分析功能,主要應用于精細部位和子模型載荷的提取和展示。FBD需建立在全局模型求解結果為OP2格式文件前提下,可通過OptiStruct求解器選項卡GLOBAL_OUTPUT_REQUEST創建DISPLACEMENT輸出卡片,其FORMAT卡片置為OUTPUT2。

可通過GUI菜單欄自由體載荷提取實現子模型法。

基于OptiStruct的3種子模型法實現及應用的圖1

圖1 場映射(field)功能設置

3 驗證算例

以圖2所示問題域為例,詳細描述3種子模型法具體實現方式。圖2所示為全局問題域計算模型,模型尺寸為35 mm×30 mm×2 mm。網格擬定三維薄殼殼單元,網格尺寸為2 mm,劃分的單元類型為一階常應變三角形單元Tri3和一階線應變四邊形單元Quad4。共計劃分單元數277,節點數309,三角形單元占比1.4%<5%。邊界固支,中心區域加載一三向分力均為1500 N的作用力。圖中淺色區域為后續子模型計算域。導出fem格式計算文件提交OptiStruct求解,在原模型的計算結果基礎上,實現3種子模型法設置。

基于OptiStruct的3種子模型法實現及應用的圖2

圖2 算例問題域

3.1 TCL

利用后處理軟件Hyperview將綠色區域邊界節點位移導出為.csv文件,對每一個節點位移添加如下關鍵字實現tcl命令驅動:*loadcreateoneentity_curve,該命令使用tcl變量在節點上為負載組件創建負載。以邊界處編號為224的節點為例,編輯如下語言:

基于OptiStruct的3種子模型法實現及應用的圖3

第一行將節點224置為軟件內核拾取器當前對象;第二行將6個強制約束(0.000385 0.000445-0.026952-999999-999999-999999,-999999表示釋放自由度)加載在節點224上,具體各參數詳細解釋及設置可參考hypermesh關于此命令的在線幫助[9]。將編輯完成的文件另存為tcl格式腳本,通過如下3種方式導入子模型縮減計算文件:

1)菜單欄File>Run>Tcl/Tk Scipt,選擇保存好的TCL腳本。

2)將TCL腳本用編輯器打開,全選復制粘貼在Command Window,回車即可執行。

3)tcl腳本最后添加求解器調用命令exec[hm_infoappinfo ALTAIR_HOME]/hwsolvers/scripts/optistruct.bat"$paths.fem"-analysis-optskip[9]。

3.2 Field

本算例場映射對象拾取節點(node),場數據為位移(displacement),插值選項為Shape Function,其余參數為缺省設置。位移場映射完成后會自動生成各節點位移匯總的加載集Displacement_Subcase 1(loadstep1)_0_default_1,設置對應分析步卡片即可求解。需要注意的是映射后的位移載荷卡片類型默認為SPCD(單元激勵卡片),需更新載荷類型為SPC(約束卡片)。

3.3 FBD

Hypermesh UI界面通過Post>Free Body>Displacement進入圖3所示fbd功能設置。

基于OptiStruct的3種子模型法實現及應用的圖4

圖3 FBD功能界面

進入FBD功能界面,首先導入全局模型op2格式結果文件,選擇對應的分析子步后軟件自動讀取結果文件。讀入內存后選擇建立好的子模型單元集,其集合為子模型分析域。子模型邊界節點集視切割邊界復雜程度分別創建:切割邊界整齊、規則、方便選取,可預先創建邊界節點集;切割邊界雜亂、不規則且不宜選取時,可使用功能界面提供的自動捕捉子模型邊界節點并創建節點集功能。子模型單元集、節點集確定后程序會自動將全局模型對應切割邊界節點集節點的彈性位移場提取并插值,并自動創建子模型插值邊界載荷集卡片方便求解。待邊界節點集位移提取完畢后,將子模型計算網格之外的網格全部抑制或刪除,同時清理模型接觸對、集合集、載荷激勵等冗余模型細節,重新輸出fem求解文件。

3.4 計算結果對比

圖4和圖6所示分別為全模型和TCL、Field、FBD3種子模型法彈性位移、拉應力云圖結果,圖5為4種計算模型位移云圖上截取的靠近邊界的節點路徑對應的節點位移。從圖4中可知,全模型同3種子模型法加載下彈性位移分布趨勢高度重合,表現出較高的一致性。數值上看,TCL子模型法計算有最大彈性位移0.063 mm,小于全模型和另外兩種子模型法,后三者彈性位移數值上無差異。圖5所示節點路徑位移表明在邊界節點位移相同的前提下,TCL子模型法近邊界節點位移顯著低于另外3種計算模型,原因有二:一是人為的數值誤差,無論是提取或導入節點位移,小數點引起的數值誤差不可避免,這種誤差會因愈多的節點形函數插值而放大,而FIELD、FBD子模型法不涉及對結果文件的輸入輸出,避免了人為數值誤差帶來的差異;二是TCL子模型法只是對子模型現有邊界節點位移進行了映射,并不涉及子模型邊界節點相連的不屬于子模型的節點,這會引起子模型邊界節點剛度的部分失真,而另兩種子模型法充分考慮邊界內外節點映射結果且模型不失真。圖6中TCL子模型法結果同其他3種計算模型結果差異進一步擴大。FIELD子模型法拉應力同全模型存在些許差異,但不明顯;FBD子模型法同全模型無論是從定性還是定量角度均呈現完全一致的分布趨勢。圖7從定量角度對比了4個模型位移和拉應力結果。上述結果表明:FIELD子模型方法求解得到的最大位移和最大拉應力同全模型對比存在差異,但差異可忽略不計,而FBD子模型方法云圖分布、數值則完全一致;TCL子模型方法對比全模型對應項相對誤差分別為3.1%、5.7%。

基于OptiStruct的3種子模型法實現及應用的圖5

圖4 彈性位移云圖對比

基于OptiStruct的3種子模型法實現及應用的圖6

圖5 節點路徑彈性位移對比

基于OptiStruct的3種子模型法實現及應用的圖7

圖6 拉應力云圖對比

4 應用算例

子模型法最大的優勢在于保證計算精度的前提下提高效率,如前處理網格規模倍數縮減、方便網格變形、網格虛擬拓撲等,下面給出一個算例驗證子模型法在局部結構不同更改方案下應用的優越性。

基于OptiStruct的3種子模型法實現及應用的圖8

圖7 4種模型計算結果數值對比

圖8所示為一起升組件槽鋼底座局部視圖,分析模型采用實體網格劃分,一階四面體網格為常應變單元,插值精度低,選取二階四面體TETRA10作為計算網格。承受彎扭組合的構件,其焊縫分擔的載荷不可忽略,故同時劃分焊縫網格。現方案底座焊縫焊趾拉應力較大,危險工況下承載能力偏弱,存在沖擊時易發生塑性變形的累積,有斷裂萌芽的趨勢。對其不同改進方案等參計算。因計算網格尺寸偏小,為避免劃分此結構件過多不關注區域網格,同時縮短計算時長,更方便地對比各方案優劣,擬定各方案更改底座以及局部槽鋼網格即可。保持邊界處網格不變,邊界節點彈性位移通過前述FBD子模型法映射。采用高性能計算機群(HPC)48核心計算,全模型計算耗時16min28 s,子模型法耗時1 min 12 s,計算效率提升92.7%。同時也幫助工程師確定底座延長增加作用力臂的方案1為最佳方案,且滿足惡劣工況強度條件。

5 結論

本文探討了三種基于Opistruct求解器的3種子模型法的實現方式及其同全模型計算結果間的定量、定性對比。TCL子模型法插值精度偏低,存在一定誤差;FIELD子模型法插值精度中等,結果基本無差別;FBD子模型法插值精度高,結果完全一致。應用的工程案例表明子模型法計算效率可提升92.7%,可見子模型法是有限元學科中特有的提高計算效率的一種捷徑,助力工程師快速且準確地確定設計方案,應善用子模型法。

基于OptiStruct的3種子模型法實現及應用的圖9

圖8 等參對比各方案拉應力對比

文章來源:機械工程師

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

6
9