APDL Showcase 1:制動器嘯叫分析(1)
這是APDL Technology Showcase的第一個案例,描述的是一個剎車盤,在制動的時候會發出嘯叫聲。使用三種分析方法:
1)線性非預應力模態分析 linear non-prestressed modal;
2)部分非線性攝動模態分析 partial nonlinear perturbed modal;
3)全非線性攝動模態分析 full nonlinear perturbed modal。
目錄:
綜述和模型圖片
使用APDL運行分析案例和查看結果的方法
Technology Showcase文檔中的建模介紹
線性非預應力模態分析案例,APDL命令流簡介
一些閑聊
——這篇文章只寫了第一種分析方法,原因見文章末尾(嘿嘿,一個陰謀。想知道為啥不一口氣全寫出來嗎?讀完就知道了)
綜述和模型圖片:
這個制動器長下面這個樣子。還挺復雜的:
本案例通過剎車盤和剎車片之間的摩擦引入阻尼,然后在非對稱模態分析中求出了包含虛部的不穩定模態。得到尖叫噪音的頻率約6470Hz. 下圖是官方文檔中給出的第21階模態,即第一個不穩定模態的形狀:
好,下面我們正式開始。
把Technology showcase files下載好之后,里面有td-1到td-59這些文件夾。td是Technology Demonstration的縮寫,也是很迷惑ANSYS這個版本為啥要給案例庫改名。td-1文件夾里擺著5個文件:
分別對應開頭寫的三個分析方法,和一個參數研究(結尾帶_par的那個)。如果想要重復出案例庫給的結果的話,只需打開ANSYS APDL,將啟動目錄設置好,在該目錄下放那個cdb文件和想要的dat文件,然后點擊打開(或者File-Read input from),讀取你想做的某一個dat文件,就可以一步到位完成計算了。
以這個linear_non_prestressed.dat為例,打開ANSYS Mechanical APDL Product Launcher,設置好工作目錄和項目名。如果想要多核計算的話,還可以在高性能計算的選項卡頁修改使用的核心數。不過18還是19以后都默認開兩個核心了,這個算例不咋花時間,就不改它們啦。
比如讀取這個linear_non_prestressed.dat,文件里面直接就有solve命令(后文會解析),所以等一小會兒,軟件直接就求解好了。
然后讀取結果唄。General Postproc,Read Results,By Pick,可以看到求出來的復數模態。第21階模態的實部開始有非零值,對應的頻率為6474.5Hz。和前面放的那張幫助文檔里的求解結果(6474.25)相當一致哈。
依次訪問Plot Results,Contour Plot,Nodal Solu,DOF Solution,Displacement vector sum,就能看到模態的形狀啦。
(以后我也就不像保姆似的寫這么細啦。但這畢竟是第一篇,也許有一些第一次碰APDL,對它不太熟悉或者曾經被這復古界面勸退的朋友,給掃個盲~)
模態結果中的位移沒有物理意義,只有模態形狀是有用的。
其他幾個分析案例也可以這樣操作,看到計算結果。那我們就先放一放,接下來首先讀一下幫助文檔中的建模介紹,然后再來學習一下做這個分析要用到的APDL命令。
先插入一個吐槽,ANSYS這個經典界面(從Workbench出來以后它就改名叫Mechanical APDL),是ANSYS軟件夢開始的地方。它功能是真的強,但界面也是真的丑。差不多時期起步的那些軟件,包括ABAQUS,Hypermesh,甚至Office等,都沿用同一套GUI不斷更新,最近幾年除了達索ABAQUS以外基本都擁抱微軟的Ribbon界面了。就只有APDL,按說它還在更新功能,這界面應該也不是寫死在Fortran代碼里的啊,不知道為啥連個圖標都不給更新。還有各種麻煩,沒有撤銷鍵這種事老生常談就不多說了。
而且,APDL界面由于早期電腦顯示分辨率比較低,它的左側菜單就經常寫單詞的縮寫。比如剛才我們看到的Nodal Solu,這個Solution單詞似乎就是因為地方不夠 (?我猜的哦) 而拼成了縮寫。而且APDL的命令流,因為是Fortran那個時代過來的,真的是惜字如金,很多命令根本無法顧名思義猜到它是干啥的,必須得去查幫助文檔才行。
和APDL形成鮮明對比的則是Abaqus(對,較個真,ABAQUS被達索收購以后就把后面幾個字母改小寫了),它的幾乎每個GUI命令在后臺都對應著一條Python代碼,那代碼讀著簡直就像在讀英文。在面向對象的數據結構下,Abaqus的變量名和對象的方法名都寫的特別長,讓人幾乎是一眼就能知道每一行代碼是啥意思。——跑題了,這些吐槽以后有機會再細說。感興趣可以翻翻我前面寫的,有限元軟件的比較。
然后是文檔中的建模介紹。
剎車制動器的嘯叫聲,傳統上需要人工計算來自滑動摩擦中的不對稱項,然后使用MATRIX27單元輸入這些不對稱項。這太費勁了,好像還需要接觸對之間的網格匹配。所以ANSYS這個案例沒有這么做,而是使用了接觸單元。用接觸的方式描述摩擦,接觸面和目標面的網格不需要節點與節點的匹配。
這個模型里,除了剎車片和剎車盤的兩個接觸使用滑動摩擦,摩擦系數0.3以外,其他的零件之間都使用綁定連接,綁定算法使用多點約束(MPC)。
這個制動器在發生嘯叫的時候,剎車盤相對于剎車片是有相對滑動的。所以,在模態分析中要使用CMROTATE命令定義它們之間的相對滑動。
然后是網格劃分。這個模型是一個非常規則的旋轉體,可以畫出方方正正的映射網格。不過中間有螺栓孔的那部分可能是因為不重要吧,ANSYS官方在畫網格的時候估計也是放飛自我了。
材料參數就是線彈性的結構鋼,沒啥可說的。
邊界條件隨分析而不同,第一個分析只有位移邊界條件,后面的分析還施加了預應力。
好,那么下面的1.6節講的就是求解了,我們直接打開對應的dat文件讀一下它給的APDL命令流。
linear_non_prestressed線性非預應力模態分析 命令流解析
讓我們從最簡單的這個項目開始。打開linear_non_prestressed.dat文件。
有用的就兩行:
shpp,off,,nowarn cdread,comb,disc_pad_model,cdb,,
第一行,關掉單元形狀檢查。否則就中間螺栓孔附近那放飛自我的網格劃分,ANSYS APDL會看不過去而報錯。
在APDL的菜單里,關閉單元形狀檢查的命令 位置在這:
第二行,打開cdb文件。comb代表這個文件里同時包含模型和邊界條件等信息。
(這個愚蠢的翻譯……聊勝于無吧)
這后面,就全都是/com 命令后面跟著的注釋了。
注釋結束后,有用的命令就這么一丟丟。
/soluantype,modal ! 執行模態分析 modopt,unsym,30 ! 使用非對稱求解器,提取30階模態 mxpand,30,,, ! 展開30階模態 nropt,unsym ! 牛頓-拉夫森選項設置為非對稱 cmsel,s,c1_r, cmsel,a,c2_r, cm,E_ROTOR,elem ! 創建剎車盤的單元集 allsel,all cmrotate,e_rotor,,,2, ! 轉它一下,讓剎車片和剎車盤之間產生摩擦力 solve
前面幾行沒啥可說的。在APDL里對應了這些操作:
這個NROPT,其實我在APDL里這樣操作的時候眼拙沒看到這個選項。但嘗試一下如果不輸入NROPT, UNSYM的話,軟件就報錯。告訴我這個矩陣是對稱的,讓我別用非對稱求解器來求它。果然是官方,人狠話不多,一句廢話都不說。
后面cmsel那兩行,實際上是選擇了正反兩面的剎車盤表面單元,然后將它們組合成了新的單元集,叫E_ROTOR。幫助文檔截圖寫的很清楚了,s就是新建選擇,a就是添加到選擇。
最后,最重要的一行,CMROTATE,是用來指定轉速的。為了看清楚一些,我放大點截圖。
wow,這個命令就是專門為剎車盤噪聲分析準備的誒。而且居然就連APDL界面上都沒給這命令準備GUI訪問方式。
好的。最后一行 solve求解。
求解結束后,在Read Results里,By Pick可以看到各階模態。這里打開第22階模態,畫出實部對應的模態形狀:
到此為止,這第一個分析——線性非預應力模態分析就算是做完了。將近三千字讀下來,你學會什么了嗎?
——反正我是啥也沒學會。小朋友你一定有很多問號,為啥這么做啊?為啥接觸就得用非對稱的,為啥NROPT這兒也要選非對稱,不選就不能求解啊?為啥模態求出來的頻率有實部還有虛部,他憑啥說實部為正的模態就不穩定呢?為啥前面那么老些模態,咋偏偏就第21,22階模態最重要呢?
跟著官方的命令流操作一遍,甚至把每個命令流的幫助文檔都讀了一遍。正確的結果倒是做出來了,甚至稍加調試一番,把這個結果在Workbench上重復出來也不算很難。但是……有用嗎?學案例只學了操作沒學到原理,東施效顰,下回給你換個模型,你還是不會。
我寫這個APDL Showcase,既不是為了單純寫案例,也不是為了漲粉,最根本的原因還是給自己寫一個學習筆記。既然是學習筆記,騙得了別人騙不了自己,而且反正也沒人催我,我就想把每一個選項背后為啥這么做的原理都搞明白,都學透。
————
好的,下面是一大篇閑聊。但我覺得反而是最精華的部分。我馬上就要回答開頭提出來的問題了。
————
話說,不知道讀者有沒有過這樣的體會:讀書的時候,我們總說磨刀不誤砍柴工。所以教科書就花了很大篇幅,事無巨細一五一十的教我們怎樣磨刀。可是磨了半天刀,別說沒看見要砍的柴了,我們連森林在哪都沒見著。別人我不知道,反正我自己在學習的時候最常質疑自己的話就是:“學這東西到底?有啥用啊”。結果學的時候不認真,也不知道這東西能干什么,只為了拿來應付考試;等到多年以后要砍柴/砍樹/屠龍了,拍腦袋發現誒當年磨的刀都鈍啦,甚至對大部分人來說,這把刀從來就沒鋒利過。
我自己學有限元,讀王勖成的《有限單元法》、曾攀老師的《有限元分析與應用》、辛科維奇的《The Finite Element Method - for Solid and Structural Mechanics》時,也有這種體會。有限元明明是一個生來就需要結合計算機的工具,讀完了大半本書,卻連一個最簡單的梁單元分析案例都不會操作。書里講的那些理論,在軟件里分別對應到哪里,也是一頭霧水。反過來,學習ANSYS Workbench等有限元軟件操作的時候,理論講的又淺嘗輒止,仿佛會點鼠標會操作界面就是會了有限元分析。
有那么多大牛、前輩們寫文章說,想做好有限元分析必須要有扎實的力學基礎。但是這力學基礎要怎么學呢?學完了怎么用上?不解決這些問題,就跟煮雞湯不給勺子,沒用嘛。
我前幾天也試著寫了一頁模態分析的理論背景。但寫出來重讀一遍,發現了和我剛才說的一樣的問題:沒有實際問題背景,這些理論知識仍然就好像在遠離森林的地方磨刀一樣,你甚至不知道你這把刀以后是要拿來砍樹、切菜還是屠龍。那太沒意思了。也許有些學霸們的厲害之處就在于 能夠在看不見未來應用前景的情況下專心把理論學好,但是不好意思 我不是這個品種的學霸。我的耐心有限、我的目光短淺,我只想要學習的過程里能多一點即時反饋,我只想知道,這些密密麻麻的公式背后,有沒有藏著什么有趣的物理過程。
所以,我原本打算先寫一篇理論背景,然后再用一篇文章的篇幅講Showcase1 的軟件操作的。但現在看來,我決定把它們拆開。寫一點軟件操作,接著就去搞懂它們背后的原理;然后再寫一點軟件操作,再接一點原理。不見兔子不撒鷹、不撞南墻不回頭、不看到大樹,我就不去磨我的“刀”。先把第一個線性非預應力模態分析完全弄明白了,再去研究帶預應力的攝動模態分析。
我之前在介紹APDL技術展示案例的時候說,一周空閑時間啃不明白一個案例沒關系,那就兩周。現在看來,以后科研任務更忙的時候 可能一個案例還不止兩周。可是那又如何呢,干就完事了。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















