| 1 | 1/1 | 返回列表 |
| 查看: 934 | 回復(fù): 0 | |||
[交流]
Spring-ICE 結(jié)冰算法述評(píng)-(2)水滴軌跡計(jì)算
|
|
spring-ice系列前述兩篇文章: 1、飛機(jī)結(jié)冰的那些事 2、spring-ice 結(jié)冰算法述評(píng)-(1)水滴軌跡計(jì)算 今天要聊的內(nèi)容,既常規(guī)又不常規(guī)。 說(shuō)其常規(guī),是因?yàn)樗诬壽E的計(jì)算是所有結(jié)冰計(jì)算的基礎(chǔ)算法,不可或缺,是必備技能。說(shuō)其非常規(guī)是因?yàn),盡管目前文獻(xiàn)對(duì)這個(gè)計(jì)算過(guò)程描述的已經(jīng)足夠詳細(xì),但是還有很多的技術(shù)細(xì)節(jié),非實(shí)際操作而不可揣摩,正是這些具體的技術(shù)細(xì)節(jié)決定著計(jì)算的準(zhǔn)確性、效率,甚至是整個(gè)結(jié)冰算法的設(shè)計(jì)邏輯。 我這段時(shí)間感悟,任何工程的東西,越涉及到基礎(chǔ)的和實(shí)踐的,自己必須要親自去試一試,做一做,且不能是簡(jiǎn)單的感受下,而要做出效果,做出感悟。要一竿子插到底,摸到邊。 如果我做復(fù)材,我就要親自去做一做材料成型,研究試件加工,然后試驗(yàn)測(cè)試,最后是結(jié)果處理。反復(fù)的想,整個(gè)過(guò)程和我仿真或者理論,哪些是對(duì)應(yīng)的,哪些是不同的,這些不同會(huì)有什么影響,有些試驗(yàn)現(xiàn)象的機(jī)理是什么,能不能從理論層面找到依據(jù)。 如果我們現(xiàn)在的身份不是一個(gè)學(xué)生,不是面向自己的課題。而是一個(gè)工程師面對(duì)一個(gè)項(xiàng)目,整個(gè)項(xiàng)目不是一個(gè)人能夠完成的,那么作為組織者,是不是給別人分個(gè)工,等著大家的結(jié)果就完事了?我想不是,即便沒(méi)有精力面面俱到,那么至少應(yīng)該精通某一方面,然后瞄準(zhǔn)項(xiàng)目的目標(biāo),搞清楚大家的工作和目標(biāo)的聯(lián)系,然后對(duì)重點(diǎn)問(wèn)題深入研究,要搞懂要把控?偠灾,必須實(shí)踐,必須講求細(xì)節(jié)。 1 水滴軌跡計(jì)算到底要干啥? 從結(jié)冰計(jì)算整個(gè)層面來(lái)說(shuō),所謂結(jié)冰就是水滴撞在機(jī)翼表面然后凍結(jié)的現(xiàn)象。水滴軌跡的計(jì)算,就是要搞清楚水滴會(huì)撞擊到機(jī)翼表面的哪些區(qū)域,每個(gè)區(qū)域水滴撞擊的量(即水滴收集量)是多少,為下一步的結(jié)冰物理計(jì)算提供輸入。 從算法的層面,水滴軌跡計(jì)算需要做以下工作: (1)控制方程建立。說(shuō)白了,水滴在流場(chǎng)中的運(yùn)動(dòng),滿足什么方程。 (2)求解方程,計(jì)算軌跡。水滴在流場(chǎng)中運(yùn)動(dòng),肯定要有流場(chǎng)的計(jì)算,然后是水滴運(yùn)動(dòng)方程的計(jì)算。 (3)水滴運(yùn)動(dòng)狀態(tài)的判斷。這個(gè)意思是說(shuō),要判斷水滴在運(yùn)動(dòng)中是否已經(jīng)撞擊到了翼面,是否已經(jīng)沖出了我們預(yù)設(shè)的計(jì)算邊界,如果是,這個(gè)時(shí)候需要結(jié)束計(jì)算,然后存儲(chǔ)這個(gè)結(jié)果,為水滴收集量的計(jì)算作輸入。 2 水滴軌跡計(jì)算控制方程 首先是水滴運(yùn)動(dòng)控制方程,這個(gè)文獻(xiàn)里都有,通常的拉格朗日法基本是下面這種形式: 這個(gè)方程,是考慮了水滴的浮力、重力、阻力、升力,從而根據(jù)牛頓第二定律建立的。說(shuō)白了,就是高中的“受力分析”,然后列方程。 說(shuō)著簡(jiǎn)單,要求解出來(lái)卻要費(fèi)點(diǎn)勁。好在文獻(xiàn)里都說(shuō)了,這個(gè)方程進(jìn)一步化簡(jiǎn)為一階常微分方程組,根據(jù)初值,采用龍格庫(kù)塔法進(jìn)行時(shí)間推進(jìn)求解。這里涉及的是本科數(shù)值計(jì)算的內(nèi)容。 轉(zhuǎn)眼間,我們就用到了牛頓第二定律和數(shù)值計(jì)算方法。別急,還有重頭戲。上面的方程中,需要用到流場(chǎng)速度。流場(chǎng)計(jì)算用什么算法? 流場(chǎng)算法的選擇直接影響到需不需要做網(wǎng)格,結(jié)冰后網(wǎng)格需不需要寫(xiě)更新算法,這是結(jié)冰算法大框架的問(wèn)題,十分重要。我就在這個(gè)問(wèn)題上徘徊很久。最早我是準(zhǔn)備寫(xiě)ns方程求解,為此我還摸索一套自己想的網(wǎng)格自動(dòng)生成和更新方法。最后卡在ns方程上。 回過(guò)頭看,當(dāng)時(shí)ns方程應(yīng)該是寫(xiě)出來(lái)了,但是網(wǎng)格域的問(wèn)題,還有別的基本認(rèn)知問(wèn)題導(dǎo)致我認(rèn)為自己走不下去了。被迫放棄了ns方程,在師兄的指導(dǎo)下,選擇了面元法。 從現(xiàn)在看,面元法的選擇無(wú)疑是對(duì)的,首先它足夠簡(jiǎn)單,計(jì)算效率高。早期的空氣動(dòng)力學(xué)還管它加鱗片布源法,就是根據(jù)空氣動(dòng)力里“源”和“匯”的概念,在翼面上布置“源”,每個(gè)源對(duì)其他位置的流場(chǎng)都有一個(gè)影響,通過(guò)疊加這些影響再綜合其在翼面上法向速度為0這樣的邊界條件,運(yùn)用線性代數(shù)方法,求解這組方程,得到每個(gè)源的強(qiáng)度。然后再將每個(gè)源對(duì)流場(chǎng)中特定點(diǎn)影響求出來(lái),疊加就是這個(gè)點(diǎn)的流場(chǎng)速度。 最簡(jiǎn)單的面元法,不考慮渦,兩組線性代數(shù)方程,簡(jiǎn)單易上手。 除了簡(jiǎn)單,通過(guò)我上面的描述可知,面元法不需要?jiǎng)澐至鲌?chǎng)網(wǎng)格,那么冰形長(zhǎng)出來(lái)后,只需要把邊界往外推進(jìn)即可,不用重構(gòu)網(wǎng)格,無(wú)疑解決了冰形更新帶來(lái)的很多問(wèn)題。 有人立馬就要問(wèn)了,那你這么算出來(lái)的結(jié)果準(zhǔn)不準(zhǔn)? 要回答這個(gè)問(wèn)題,首先我們要搞清楚水滴的計(jì)算是兩相流的問(wèn)題,水滴自身的慣性使得它不會(huì)完全按照流線運(yùn)動(dòng),也就是說(shuō),水滴的運(yùn)動(dòng)對(duì)流場(chǎng)是敏感的,但是不是我們想象中那么敏感,這就給我們的流場(chǎng)計(jì)算留出了裕度。另外一個(gè)方面,冰形的冰角位置和水滴收集量大的地方不是絕對(duì)的對(duì)應(yīng),因?yàn)樗卧谝砻嫔蠒?huì)流動(dòng),這個(gè)流動(dòng)對(duì)冰角位置的影響是很大的,而這個(gè)流動(dòng)由結(jié)冰熱力學(xué)方程確定的。也就說(shuō),即便前面流場(chǎng)的計(jì)算存在一定的誤差,導(dǎo)致水滴的運(yùn)動(dòng)出現(xiàn)一定的偏差,但是最后的結(jié)冰熱力學(xué)計(jì)算,可以把冰角的位置修正過(guò)來(lái)。 這個(gè)對(duì)我很有啟發(fā),作為一個(gè)涉及多個(gè)學(xué)科的平臺(tái)開(kāi)發(fā),在能不能算的準(zhǔn)的問(wèn)題上,一定要首先考慮好,最后的結(jié)果有沒(méi)有兜底的修正項(xiàng),找到這個(gè)兜底的,前面遇到一些影響效率的東西或者很復(fù)雜的東西,可以適當(dāng)舍棄。 3 水滴狀態(tài)的判斷 水滴狀態(tài)無(wú)外乎三種: (1)處于運(yùn)動(dòng)區(qū); (2)沖出設(shè)定區(qū)域; (3)撞到翼面。 前兩種狀態(tài)容易判斷,關(guān)鍵是如何判斷水滴撞到的翼面。這個(gè)說(shuō)起來(lái)也很容易,用到的是初中的代數(shù)知識(shí)。只要連接水滴當(dāng)前位置和上一個(gè)時(shí)間的位置,和翼面各段逐個(gè)求交,有交點(diǎn)的就是撞到了。如果撞到了,還要給出來(lái)撞到的位置。 4 算法設(shè)計(jì) 程序的設(shè)計(jì)結(jié)構(gòu)如下: (1)初始條件定義。水滴的初始位置,不能太遠(yuǎn),不能太近。遠(yuǎn)了,計(jì)算效率低;近了,算的不準(zhǔn)。具體多少,看你經(jīng)驗(yàn)了,多試幾次看看。 (2)當(dāng)前水滴位置的流場(chǎng)速度計(jì)算; (3)求解水滴運(yùn)動(dòng)方程,得到水滴在當(dāng)前時(shí)間間隔內(nèi)運(yùn)動(dòng)的距離,然后更新水滴位置; (4)判斷水滴狀態(tài),如果沖出防線,或者撞到翼面,停止計(jì)算; (5)如果處于運(yùn)動(dòng)狀態(tài),重復(fù)步驟(2)-(4)。 需要注意的是,時(shí)間推進(jìn)求解水滴軌跡,理論上時(shí)間間隔越小,肯定越準(zhǔn),但是呢這就意味著算的慢。太粗了也不行,后面水滴接近翼面后,時(shí)間間隔大,算的不準(zhǔn)。我們折中下,定義一個(gè)范圍,當(dāng)水滴接近前緣一定范圍內(nèi),加密計(jì)算,其他的區(qū)域就適當(dāng)粗一點(diǎn)。下面的圖很明顯的反映了這一設(shè)置特點(diǎn): 5 小結(jié) 上面的方法是spring-ice水滴軌跡計(jì)算算法思想。有時(shí)候看文獻(xiàn)的時(shí)候常常想,前輩們真聰明,這些控制方程明明白白,還想到求解方法。其實(shí)仔細(xì)了解下,早期的計(jì)算模型往往也很簡(jiǎn)單,我們常人去做大部分也能想到。隨著時(shí)間的推移,無(wú)數(shù)學(xué)者的努力,這些模型被不斷完善,不斷變的復(fù)雜高深。 我們還是要從這些繁復(fù)的理論里面,探尋些樸素且基礎(chǔ)的設(shè)計(jì)思想,必要時(shí)候還要融入自己的理解,起碼做到這個(gè)算法的靈活運(yùn)用。 最后 歡迎大家關(guān)注我們的微信公眾號(hào)。 微信公眾號(hào):320科技工作室。 |
| 1 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考博] 26申博自薦 +6 | 烷基八氮- 2026-03-06 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 303求調(diào)劑 +5 | forgman95 2026-03-05 | 7/350 |
|
|
[考研] 085600材料工程一志愿中科大總分312求調(diào)劑 +10 | 吃宵夜1 2026-02-28 | 12/600 |
|
|
[考研] 0805總分292,求調(diào)劑 +13 | 幻想之殤 2026-03-01 | 13/650 |
|
|
[考研] 初試297求調(diào)劑 +3 | 一個(gè)蘿蘿 2026-02-28 | 3/150 |
|
|
[考研] 材料學(xué)碩318求調(diào)劑 +21 | February_Feb 2026-03-01 | 24/1200 |
|
|
[考研] 287求調(diào)劑 +3 | 看看我. 2026-03-05 | 6/300 |
|
|
[考研] 304求調(diào)劑 +3 | 52hz~~ 2026-03-05 | 4/200 |
|
|
[基金申請(qǐng)]
|
Doma 2026-03-01 | 10/500 |
|
|
[考研] 085701環(huán)境工程 求調(diào)劑 +7 | xiiiia 2026-03-04 | 7/350 |
|
|
[考研] 材料328求調(diào)劑 +10 | 一個(gè)蘿卜02 2026-03-03 | 10/500 |
|
|
[考研] 0703化學(xué) 學(xué)碩 理工科均可 不區(qū)分研究方向 總分279求調(diào)劑 +7 | 1一11 2026-03-03 | 7/350 |
|
|
[考研] 一志愿鄭州大學(xué),學(xué)碩,物理化學(xué), 333求調(diào)劑 +5 | 李魔女斗篷 2026-03-04 | 5/250 |
|
|
[考研] 求調(diào)劑 +7 | 博斯特525 2026-03-04 | 7/350 |
|
|
[考研] 0703 總分319求調(diào)劑 +4 | Xinyuu 2026-03-02 | 4/200 |
|
|
[考研] 化工專碩348,一志愿985求調(diào)劑 +8 | 弗格個(gè) 2026-02-28 | 11/550 |
|
|
[考研] 278求調(diào)劑 +3 | 滿天星11_22 2026-03-02 | 3/150 |
|
|
[考研] 化學(xué),材料,環(huán)境類(lèi)求調(diào)劑 +7 | 考研版棒棒 2026-03-02 | 7/350 |
|
|
[考研] 299求調(diào)劑 +3 | Y墨明棋妙Y 2026-02-28 | 5/250 |
|
|
[考研] 290求調(diào)劑 +9 | 材料專碩調(diào)劑; 2026-02-28 | 11/550 |
|