
發(fā)布
注冊(cè)
/
登錄結(jié)冰算法
關(guān)注創(chuàng)建者:320科技工作室 創(chuàng)建時(shí)間:2020-08-28

結(jié)冰算法的實(shí)例教程
系列文章詳見(jiàn):
飛機(jī)結(jié)冰的那些事(1)
飛機(jī)結(jié)冰的那些事(2) Spring-Ice結(jié)冰軟件介紹
Spring-ICE 結(jié)冰算法述評(píng)-(2)水滴軌跡計(jì)算
Spring-ICE 結(jié)冰算法述評(píng)-(3)水滴收集量計(jì)算
Spring-ICE 結(jié)冰算法述評(píng)-(4)番外:簡(jiǎn)單面元法
最近看書不少,寫字很多。
心血來(lái)潮的看了一些古文,看了一些近現(xiàn)代文章。小時(shí)候其實(shí)學(xué)了不少好文章,只是當(dāng)時(shí)難見(jiàn)它們的好處所在。但用現(xiàn)在的眼光再看,可謂別有風(fēng)味。
比如蘇軾的文章,他評(píng)論賈誼和張良的兩篇策論,放在現(xiàn)在看就是標(biāo)準(zhǔn)的議論文模板。開(kāi)篇點(diǎn)題,再正論反論的小論點(diǎn)輔之以舉例舉史,最后定調(diào)收官。思路非常清晰,加上作者超一流的文字水平,“方今天下,舍我其誰(shuí)哉”,讀起來(lái)非常暢快。
順著《賈誼論》,又找來(lái)賈誼的《治安策》,這次看的是譯文。只看這個(gè)題目,就不是一般人敢寫的。治安策,治國(guó)安天下之策也。想想我寫個(gè)技術(shù)報(bào)告都顫顫巍巍。帶著好奇心就看看這個(gè)治國(guó)安天下的報(bào)告是怎么個(gè)寫法。看完以后不禁感嘆,這分明是一份調(diào)研分析報(bào)告啊。
文章細(xì)數(shù)了當(dāng)時(shí)大漢的內(nèi)外危機(jī),特別是如何處理諸侯國(guó)尾大不掉的問(wèn)題,這個(gè)時(shí)候還沒(méi)到漢武帝時(shí)期,賈誼就分析大漢開(kāi)國(guó)以來(lái)歷次諸侯國(guó)叛亂的共性,得出一個(gè)結(jié)論,啥結(jié)論呢?越小的封國(guó)越不會(huì)造反。順著這個(gè)思路,怎么處理諸侯國(guó)問(wèn)題的答案就很明顯了,不是一把擼掉各國(guó),而是增加封國(guó),越多越好,封地越小越好。這個(gè)思想不就是后來(lái)的“推恩令”嘛。作者的總結(jié)洞察能力真是太厲害了
想想后世的偉人寫的很多調(diào)研報(bào)告,核心都是調(diào)研,分析,總結(jié)共性和異性,得出結(jié)論。這種天才般的洞察力和研究方法,很值得學(xué)習(xí)。
《治安策》的精彩之處遠(yuǎn)不止此,要知道這個(gè)文章是寫給皇帝的,里面有些和“陛下”交心的話,寫的很有意思。
展開(kāi) 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)椋M管目前文獻(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ì)算軌跡。
展開(kāi) 高強(qiáng)度活動(dòng)了幾天的身體后,動(dòng)極思靜,由來(lái)已久的搞三維結(jié)冰算法的想法再次冒頭。
每次決定搞一個(gè)大程序前,其實(shí)要思想斗爭(zhēng)很久,一個(gè)類似結(jié)冰這樣的程序,往往意味著長(zhǎng)達(dá)一兩年的長(zhǎng)期精力投入,意味著大量的業(yè)余時(shí)間的報(bào)銷,還意味著我得盡可能減少兼職工作。
決定干就在這兩天,兩個(gè)誘因。一個(gè)是有天一個(gè)師兄喝多了跟我說(shuō),咱們都慢一點(diǎn),慢慢來(lái)。那幾天正是我心態(tài)急躁的時(shí)候,前段時(shí)間投入了大量業(yè)余時(shí)間在兼職工作上,主副業(yè)交叉,腦子里亂的不行。聽(tīng)?zhēng)熜诌@么一說(shuō),我仔細(xì)想了想,我又不打算買房被割韭菜,我急個(gè)啥,開(kāi)發(fā)工程工具解決工程問(wèn)題是自己的興趣,還是要堅(jiān)定的干,只要餓不死,多干點(diǎn)自己喜歡的東西唄。第二個(gè)誘因是,晚上再次看了遍《星際穿越》,一邊品著里面各種裝備的結(jié)構(gòu)設(shè)計(jì),一邊用自己的專業(yè)知識(shí)揣測(cè)各種技術(shù)細(xì)節(jié),更關(guān)鍵的是,結(jié)合自己的工作經(jīng)歷,越發(fā)認(rèn)識(shí)到,我們掌握的知識(shí)是實(shí)實(shí)在在有用的,盡管看著古典傳統(tǒng),還帶著很多經(jīng)驗(yàn)性東西,沒(méi)有什么AI、區(qū)塊鏈聽(tīng)著高端,但是AI、區(qū)塊鏈并沒(méi)有解決我們這個(gè)行業(yè)的根本性難題,從來(lái)沒(méi)有。不必羨慕那些概念,桿梁板殼,流場(chǎng)氣動(dòng),哪個(gè)不是精妙十足,博大精深。
結(jié)冰計(jì)算,流場(chǎng)先行。我們前面幾期也提到了這些,為了準(zhǔn)備三維結(jié)冰算法,我第一步就是要做個(gè)三維流場(chǎng)計(jì)算工具。參考我之前做二維的經(jīng)驗(yàn),這次還是選擇面元法。
本期就介紹下二維簡(jiǎn)單面元法的實(shí)現(xiàn),以及主題:讀書。
1 參考啥文獻(xiàn)?
我在第一次搞面元法的時(shí)候,翻閱了很多文獻(xiàn)和書籍。最直接的感受是,越是近年的資料越不說(shuō)“人話”。通篇不是偏微分積分,就是張量:
好像通篇理論性很強(qiáng),實(shí)際上約等于啥也沒(méi)說(shuō),這些公式也不是這些貨搞出來(lái)的,引用這些數(shù)學(xué)定義式,介紹下每個(gè)元素的含義,這叫個(gè)什么論文?歸根結(jié)底,這些東西是要編程實(shí)現(xiàn)的,這些貨給出的這些式子虛頭八腦的式子,離可用化的編程差著十萬(wàn)八千里。
展開(kāi) 這個(gè)軟件的算法,我前后花了近兩年的時(shí)間,探索,調(diào)試。是我迄今為止做過(guò)的最難也是最系統(tǒng)的軟件。
好巧不巧,剛讀研究生,接手的第一個(gè)項(xiàng)目也是算法開(kāi)發(fā)。工作后,發(fā)起的第一個(gè)沖鋒,也是做程序。
不過(guò)我可絕非是個(gè)程序員,歸根結(jié)底,我們是做工程的,所謂的算法、軟件等等,目的都是為了完成數(shù)值計(jì)算,以解決工程實(shí)際問(wèn)題為第一要?jiǎng)?wù)。
這個(gè)軟件從完成后,至今未曾給我?guī)?lái)任何直接的收益,榮譽(yù)上的也好,金錢上的也罷。但是,通過(guò)這個(gè)過(guò)程,我對(duì)工程分析軟件的定位,對(duì)數(shù)值算法的理解等多個(gè)層面的認(rèn)知提高了很多。從個(gè)人科技樹(shù)的角度,這個(gè)科技可能點(diǎn)歪了,但確實(shí)收獲良多。
我希望能從頭到尾,把這個(gè)算法的一些心得和思考整理出來(lái),為己鑒,為后人鑒。
1 Spring-ICE結(jié)冰軟件簡(jiǎn)介
之前在往期的文章里,簡(jiǎn)單介紹過(guò)。此處再提下。
這款軟件的功能是要完成翼型在特定飛行工況、氣象工況下的結(jié)冰冰型的預(yù)測(cè)。
(1) 要完成冰型的預(yù)測(cè),就必須先計(jì)算流場(chǎng),拿到速度分布的數(shù)據(jù)。
(2) 其后,我們假定翼型前方有大量過(guò)懸浮小水滴,在流場(chǎng)的推動(dòng)下,水滴往翼面上撞擊,從而確定出,翼型哪些地方被水撞到了,撞到了多少。
(3) 最后,根據(jù)熱平衡,計(jì)算這些水凍結(jié)多少,流到翼面其他地方多少。
(4) 水凍成冰以后,翼面的邊界上長(zhǎng)出冰了,這時(shí)候,流場(chǎng)發(fā)生變化,再重復(fù)上述的步驟,繼續(xù)結(jié)冰。
這里面主要的大塊,是流場(chǎng)計(jì)算、水滴撞擊的計(jì)算、熱平衡的分析。要想把這個(gè)過(guò)程成功的實(shí)施并銜接得當(dāng),還要完成諸如翼型幾何的處理、冰型的生長(zhǎng)更新等多個(gè)零散的細(xì)節(jié)難點(diǎn)。
再進(jìn)一步,你還希望別人拿過(guò)來(lái)就能很快用起來(lái)這個(gè)軟件,那么就需要便捷的操作,越簡(jiǎn)單越好。這就意味著,算法的魯棒性、強(qiáng)大的前后處理都要非常完備。
展開(kāi) 這一期就講,利用水滴軌跡的計(jì)算,得到翼面各區(qū)域一定時(shí)間內(nèi)撞擊水量的計(jì)算,為下一步開(kāi)展結(jié)冰熱力學(xué)算結(jié)冰量提供輸入。
最近這段時(shí)間一直在現(xiàn)場(chǎng)干體力活,這是我畢業(yè)兩年后再次長(zhǎng)期干試驗(yàn)。干的時(shí)候,腦子里經(jīng)常閃現(xiàn)以前讀研天天泡在實(shí)驗(yàn)室的場(chǎng)景,師兄弟們有說(shuō)有笑,手里不停,嘴上不停。白天干累了,晚上喝喝酒,或者寫寫論文做做計(jì)算。畢業(yè)后的兩年,大部分時(shí)候都在辦公室,要么跑各種流程,要么畫網(wǎng)格傷眼睛,恍惚間已然忘記自己以前還是個(gè)干“手藝”活的。
年初疫情隔離期間就開(kāi)始再次健身,就是怕胖(雖然沒(méi)胖過(guò)),畢竟快禿了,再一胖,自己都不認(rèn)識(shí)自己了。這下好了,又回到了白天動(dòng)身體,晚上動(dòng)腦子的狀態(tài),身上線條慢慢恢復(fù),有一種勞資想干手藝就干手藝,想寫代碼就寫代碼的感覺(jué),真好。
年齡這個(gè)東西真的很奇怪,我十六七歲的時(shí)候,拼命想練肌肉,那時(shí)候俯臥撐天天100,還是瘦的雞仔。10年過(guò)去,健壯了,也快禿了。
到目前唯一沒(méi)變的,還是對(duì)知識(shí)的熱愛(ài)吧,或許還有不知恥的自負(fù)。
1 水滴收集量怎么算
我們假定有一個(gè)水滴發(fā)射面,一齊向翼面上發(fā)射水滴,每個(gè)壁面單元(AB)必然在發(fā)射面上某兩個(gè)水滴發(fā)射位置覆蓋的范圍里(yi ~ yi+1),在這個(gè)范圍內(nèi)的所有水滴都只能打到AB內(nèi),反之,亦然。
對(duì)于二維問(wèn)題,(yi+1)-(yi)就是壁面單元AB的水滴收集量(當(dāng)然還需要乘以軸向單位長(zhǎng)度以及液態(tài)水含量還有時(shí)間,這里做簡(jiǎn)化說(shuō)明)。
為了便于統(tǒng)一比較,目前大家普遍引入水滴收集系數(shù)的概念,就是把[(yi+1)-(yi)]除以|AB|。
搞清了定義,其實(shí)計(jì)算大概思路基本就有了。只要搞清楚A、B兩點(diǎn)各自對(duì)應(yīng)哪條水滴軌跡,水滴收集量就出來(lái)了。
展開(kāi) 
結(jié)冰算法的相關(guān)專題、標(biāo)簽、搜索
結(jié)冰算法的最新內(nèi)容
0度攻角結(jié)果
5度攻角結(jié)果
系統(tǒng)
到目前為止,在流體方向我們已經(jīng)開(kāi)發(fā)了:
(1) 翼型造型算法和軟件:《葉片/翼型參數(shù)化造型技術(shù)》
(2) 網(wǎng)格生成算法:
(3)結(jié)冰算法和軟件:
(4)不可壓流動(dòng)求解器
可以說(shuō),上述算法模塊已經(jīng)形成了一個(gè)小型的“生態(tài)系統(tǒng)”,如果我們?cè)偌由弦砻嫔妥枇τ?jì)算,基本就可以實(shí)現(xiàn):幾何造形設(shè)計(jì)、網(wǎng)格生成、CFD計(jì)算、冰形計(jì)算
本次聊的三維面元法,甚至是后續(xù)的三維結(jié)冰算法,要做的就是這樣一個(gè)升維的工作。
1 三維面元法理論
仍舊參考徐華舫版《空氣動(dòng)力學(xué)基礎(chǔ)》。思路如下:
(1)面網(wǎng)格離散。考慮四邊形網(wǎng)格,以每個(gè)單元中心點(diǎn)作為控制點(diǎn)。計(jì)算并存儲(chǔ)好每個(gè)單元的局部坐標(biāo)系。
(2) 面元強(qiáng)度計(jì)算。對(duì)每個(gè)單元(i)進(jìn)行循環(huán),考慮第j個(gè)單元對(duì)它的擾動(dòng):
a.
畢業(yè)前就開(kāi)始做結(jié)冰算法,學(xué)結(jié)構(gòu)強(qiáng)度的我,從零開(kāi)始進(jìn)入這個(gè)領(lǐng)域,而后參加工作,至今三載。無(wú)數(shù)個(gè)日夜的思考,無(wú)數(shù)個(gè)日夜的探索,無(wú)數(shù)次的失敗,無(wú)數(shù)次的喜悅。
一段征程在這里畫上句號(hào),或許正當(dāng)其時(shí)。
最后,更多精彩內(nèi)容,歡迎大家關(guān)注“320科技工作室”微信公眾號(hào)。
系列文章詳見(jiàn):
飛機(jī)結(jié)冰的那些事(1)
飛機(jī)結(jié)冰的那些事(2) Spring-Ice結(jié)冰軟件介紹
Spring-ICE 結(jié)冰算法述評(píng)-(2)水滴軌跡計(jì)算
Spring-ICE 結(jié)冰算法述評(píng)-(3)水滴收集量計(jì)算
Spring-ICE 結(jié)冰算法述評(píng)-(4)番外:簡(jiǎn)單面元法
最近看書不少,寫字很多。
心血來(lái)潮的看了一些古文,看了一些近現(xiàn)代文章。
我們前面幾期也提到了這些,為了準(zhǔn)備三維結(jié)冰算法,我第一步就是要做個(gè)三維流場(chǎng)計(jì)算工具。參考我之前做二維的經(jīng)驗(yàn),這次還是選擇面元法。
本期就介紹下二維簡(jiǎn)單面元法的實(shí)現(xiàn),以及主題:讀書。
1 參考啥文獻(xiàn)?
我在第一次搞面元法的時(shí)候,翻閱了很多文獻(xiàn)和書籍。最直接的感受是,越是近年的資料越不說(shuō)“人話”。
接著上一期聊。
上回說(shuō)到,水滴運(yùn)動(dòng)軌跡的計(jì)算。這一期就講,利用水滴軌跡的計(jì)算,得到翼面各區(qū)域一定時(shí)間內(nèi)撞擊水量的計(jì)算,為下一步開(kāi)展結(jié)冰熱力學(xué)算結(jié)冰量提供輸入。
最近這段時(shí)間一直在現(xiàn)場(chǎng)干體力活,這是我畢業(yè)兩年后再次長(zhǎng)期干試驗(yàn)。干的時(shí)候,腦子里經(jīng)常閃現(xiàn)以前讀研天天泡在實(shí)驗(yàn)室的場(chǎng)景,師兄弟們有說(shuō)有笑,手里不停,嘴上不停。白天干累了,晚上喝喝酒,或者寫寫論文做做計(jì)算。畢業(yè)后的兩年,大部分時(shí)候都在辦公室
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ǔ)算法,不可或缺,是必備技能。
前天和同學(xué)聊天,我問(wèn)他,我的Spring-ICE到底有沒(méi)有前途?
“沒(méi),太小眾。”
不得不承認(rèn),這家伙的回答扎心又客觀。
這個(gè)軟件的算法,我前后花了近兩年的時(shí)間,探索,調(diào)試。是我迄今為止做過(guò)的最難也是最系統(tǒng)的軟件。
好巧不巧,剛讀研究生,接手的第一個(gè)項(xiàng)目也是算法開(kāi)發(fā)。工作后,發(fā)起的第一個(gè)沖鋒,也是做程序。
不過(guò)我可絕非是個(gè)程序員,歸根結(jié)底,我們是做工程的,所謂的算法、軟件等等,