第140章 太好了,我們有救了!

投票推薦 加入書籤 小說報錯

  第140章 太好了,我們有救了!

  「編譯過了?!」

  趙旭瞪大了眼睛,看著屏幕上面顯示出來的結果。

  「連個語法錯誤都沒有?這個林業————代碼功底這麼紮實?」

  這讓他稍微提起了一點重視。

  當然,也僅限於此。

  畢竟,做過CFD的人都知道,代碼能跑通和結果算得對,中間隔著十萬八千里的距離。

  這就好比你寫作文,沒有錯別字只是最低要求,至於文章寫得是不是驢唇不對馬嘴,那完全是另一碼事。

  更何況,CFD領域裡還有一種叫做數值發散的東西,即使代碼每一行都對,但算著算著,數據就變成了無窮大,也就是所謂的NaN,程序直接崩潰,那才是最麻煩的事情。

  「也就是語法沒問題罷了。」

  趙旭抽了張紙巾擦了擦屏幕,稍微平靜了一下。

  主要還是得看測試結果才行,測試能不能通才是關鍵。

  於是他隨手提交了一個測試任務,而使用的算例,正是那個讓整個課題組都聞風喪膽的「螺旋槳懸停工況—Mode|B」。

  這個模型有多麻煩?

  它是一個帶有大扭轉角的複雜葉片,轉速高達2000RPM,在這個轉速下,葉尖速度接近0.6馬赫,處於跨音速區域,更要命的是,葉尖脫落的渦系與背景的笛卡爾網格幾乎是全角度斜交的。

  在他們之前的測試中,無論用多高階的格式,只要算到第500步左右,那個渦核就像是被黑洞吞噬了一樣,瞬間消散得無影無蹤。

  「估計也就撐個幾百步吧。」

  趙旭心裡想著,至於要等結果出來,估計還得一段時間。

  要是放在以前,他估計就直接開始刷視頻或者是看小說放鬆去了,但是現在——

  此時實驗室里氣氛壓仰得嚇人,馮老闆剛剛發完火,誰敢在這個節骨眼上頂風作案?

  於是他老老實實地盯著黑底白字的終端界面,看著那一行行滾動的日誌數據。

  【Time=0.001s,EecutionTime=——】

  他的眼睛死死地盯著代表計算誤差的殘差一欄。

  通常情況下,加上這種外掛式的修正補丁,往往會破壞求解器的守恆性,導致殘差在幾步之後就開始劇烈震盪,然後報錯退出。

  然而————

  一百步過去了。

  三百步過去了。

  五百步過去了。

  「嗯?」趙旭的眉頭皺了起來,身體不由自主地前傾,「沒崩?」

  不僅沒崩,那個代表動量方程殘差的數字,竟然一路從1e—3穩步下降到了1e—5,那條收斂曲線平滑得就像是用尺子畫出來的一樣!

  「這收斂性————比原版求解器還穩?」

  趙旭的心跳開始加速了。

  雖然還不知道物理結果對不對,但這穩如老狗的計算過程,讓他隱隱產生了一種不祥,或者說荒謬的預感。

  難道說————?

  四十分鐘後。

  【End】

  計算正常結束。

  趙旭的手心微微出汗,他深吸一口氣,打開了後處理軟體ParaView,加載數據,點擊【Apply】。

  當那個熟悉的螺旋槳模型出現在屏幕上,當他顫抖著手勾選了【Q—criterion】等值面顯示的那一刻轟!

  趙旭感覺自己的天靈蓋被掀開了。

  屏幕上,那條原本應該斷裂、模糊,直至消失的渦管,此刻卻無比的凝練緊緻,還格外的清晰!

  它頑強地穿過了那些原本會導致耗散的死亡區域,一直向後延伸,整整繞了五六圈,結構依然清晰可辨!

  「臥————槽————」

  趙旭喉嚨里發出了一聲無意識的呻吟。

  他幾乎把臉都要貼到了屏幕上,反覆旋轉視角,試圖找出哪怕一點點數值振盪的痕跡。

  沒有。

  完美得像是一張教科書插圖。

  他甚至都懷疑自己吃了一記緋紅之王,在那段被跳過的時間中幫這段數據完成了造假。

  但顯然這是真實的世界。

  於是乎,在經過了短暫的呆滯,趙旭猛地站起身,椅子直接倒在了地上,然後驚呼一聲:「我草!」

  這聲音直接吸引了實驗室中不少人的注意。

  「怎麼了趙旭?炸機了?」

  「沒什麼。」

  趙旭完全沒時間解釋,他甚至顧不上把椅子給扶起來,轉身就往實驗室另一頭的核心區衝去。

  他們仿真組的大師兄,博五的孫志強,工位就在那裡,趙旭也一直都是跟著孫志強打下手。

  此時,孫志強正盯著自己發散的結果發愁,他滿臉的喪氣,眼神灰敗。

  馮致遠剛才不少的怒火都是衝著他發的,這也讓他壓力山大,如果還拿不出結果,他都不知道到時候該怎麼面對天行科技的人,最要命的是自己從這學期開始就已經博五了。

  雖然博士延畢都屬於常態了,但如果能夠按時畢業當然是最好的了。

  愁啊。

  「孫師兄!孫師兄!」

  就在這時,趙旭急促的聲音打斷了孫志強的沉思。

  孫志強皺著眉抬起頭,語氣頗有些不耐煩:「喊什麼?又炸機了?」

  「不————不是!」趙旭喘著氣,指著自己的工位方向,語無倫次地說道,「渦!那個渦!它————它連上了!沒斷!」

  孫志強愣了一下,隨即失笑一聲,擺了擺手:「趙旭,你是不是累糊塗了?咱們這幾個月試了多少種方法?網格不加密,那個渦怎麼可能連得上?別拿那種調低了閾值的假圖來忽悠我,我現在沒心情開玩笑。」

  「不是忽悠!是真的!」趙旭急得跺腳,「我用的是那天來我們這裡的那個大一新生————那個叫林葉的給的代碼補丁!就在剛才,我跑了一遍ModelB,結果全出來了!」

  孫志強聽完,更是氣樂了。

  「林葉?就是前兩天你帶過來的那個?和老闆好像有點關係的那個?」孫志強把手裡的筆往桌上一扔,無語地說道,「趙旭,你也是讀到碩士的人了,有點常識行不行?咱們組十幾個博士搞不定的底層數值耗散問題,他寫個補丁就解決了?」

  孫志強指著他面前的電腦屏幕,立了個flag:「他要是真能把這個問題解決了,我當場,就把這個電腦屏幕吃掉!」

  趙旭也急了,二話不說,直接上手拉住孫志強的胳膊:「師兄,你別不信!你跟我過去看一眼!就一眼!如果是假的,我幫你把屏幕吃了!」

  看著趙旭那副信誓旦旦,甚至有點瘋狂的樣子,孫志強心裡的篤定終於動搖了一絲。

  「行,我就去看看你到底中了什麼邪。」

  孫志強黑著臉,跟著趙旭來到了他的工位前。

  他站在屏幕前,雙手抱胸,擺出一副「我看你怎麼編」的挑剔架勢,目光掃向屏幕。

  一秒鐘後。

  孫志強抱在胸前的雙手緩緩放了下來。

  五秒鐘後。

  他摘下了那副厚厚的近視眼鏡,揉了揉眼睛,然後重新戴上。

  十秒鐘後。

  他整個人幾乎都趴到了屏幕上,不可思議地看著上面顯示的東西。

  「這————」

  孫志強的聲音變了,變得乾澀起來,像是被人掐住了脖子。

  屏幕上那條完美的渦管,就像是一記響亮的耳光,狠狠地抽在了他的臉上。

  但此刻他根本顧不上臉疼,作為在這個領域摸爬滾打了五年的博士生,他太清楚這張圖意味著什麼了。

  這意味著,那個困擾了他們兩個月,讓他夜不能寐的數值耗散問題,被徹底搞定了!

  「這怎麼可能?這是怎麼做到的?」孫志強一把搶過滑鼠,瘋狂地檢查著邊界條件和網格設置,「網格沒加密?還是那一套粗網格?但這渦核的解析度————怎麼可能這麼高?」

  「那個補丁————那個代碼在哪?」孫志強猛地轉頭問趙旭。

  「就————就在這兒。」趙旭打開了那個頭文件。

  孫志強盯著那幾百行充滿了李代數符號的C++代碼,雖然具體的數學原理他一時半會兒沒完全看懂,但那種代碼的結構美感讓他感到了深深的戰慄。

  「不對————這可能是巧合。」孫志強咬了咬牙,他不願相信自己這麼多年的努力和知識被一個大一新生隨手秒殺,「ModelB只是懸停工況,流場相對穩定。你————你換個算例!」

  孫志強指著伺服器列表,眼睛仿佛都有點發紅:「跑ModelC!那是前飛大攻角工況,伴隨嚴重的葉片失速和非定常分離!那個算例是最變態的,如果那個也能算對————」

  他已經有些不敢說下去。

  自己總不能真的吃屏幕吧?

  「好!我跑!」

  趙旭此刻對林葉,或者說對這個補丁已經有了盲目的信心,立刻調出那個最難的算例,加載了帶補丁的求解器,提交任務。

  等待的時間是漫長的。

  孫志強甚至沒有回自己的座位,就站在趙旭身後,死死盯著殘差曲線。

  半小時後。

  結果出來了。

  當ParaView再次渲染出畫面的那一刻,孫志強徹底沉默了。

  那是更加複雜,乃至是狂暴的流場,在大攻角下,葉片背風面產生了複雜的脫落渦,這些渦旋相互纏繞、拉伸。

  然而在林葉的算法下,它們每一個都清晰可辨,沒有任何非物理的耗散,也沒有任何發散的跡象。

  完美。

  無可挑剔的完美。

  孫志強感覺渾身的力氣都被抽乾了,他扶著桌沿,看著那個只有幾百KB的補丁文件,心中湧起一股巨大的無力感,緊接著是對那個僅僅看過一面的少年的驚嘆。

  他到底是怎麼做到的?!

  孫志強現在無比地想知道這件事情,但顯然,現在已經不是說這件事情的時候了。

  轉過頭,看向旁邊正一臉自得的趙旭,雖然這個補丁不是他搞出來的,但此時的他好像有種與有榮焉的感覺一樣。

  不過孫志強也沒空糾結這件事情,他的聲音激動起來,眼中也仿佛閃爍著狂熱的光芒:「快!去找馮老師!」

  「太好了,我們有救了!」

章節目錄