" ": !;"
第140章 太好了,我们有救了!
更多精彩内容,
「编译过了?!」
赵旭瞪大了眼睛,看着屏幕上面显示出来的结果。
「连个语法错误都没有?这个林业————代码功底这么扎实?」
这让他稍微提起了一点重视。
当然,也仅限于此。
毕竟,做过FD的人都知道,代码能跑通和结果算得对,中间隔着十万八千里的距离。
这就好比你写作文,没有错别字只是最低要求,至于文章写得是不是驴唇不对马嘴,那完全是另一码事。
更何况,FD领域里还有一种叫做数值发散的东西,即使代码每一行都对,但算着算着,数据就变成了无穷大,也就是所谓的NaN,程序直接崩溃,那才是最麻烦的事情。
「也就是语法没问题罢了。」
赵旭抽了张纸巾擦了擦屏幕,稍微平静了一下。
主要还是得看测试结果才行,测试能不能通才是关键。
于是他随手提交了一个测试任务,而使用的算例,正是那个让整个课题组都闻风丧胆的「螺旋桨悬停工况—Mde|B」。
这个模型有多麻烦?
它是一个带有大扭转角的复杂叶片,转速高达2000RPM,在这个转速下,叶尖速度接近0.6马赫,处于跨音速区域,更要命的是,叶尖脱落的涡系与背景的笛卡尔网格几乎是全角度斜交的。
在他们之前的测试中,无论用多高阶的格式,只要算到第500步左右,那个涡核就像是被黑洞吞噬了一样,瞬间消散得无影无踪。
「估计也就撑个几百步吧。」
赵旭心里想着,至于要等结果出来,估计还得一段时间。
要是放在以前,他估计就直接开始刷视频或者是看小说放松去了,但是现在——
此时实验室里气氛压仰得吓人,冯老板刚刚发完火,谁敢在这个节骨眼上顶风作案?
于是他老老实实地盯着黑底白字的终端界面,看着那一行行滚动的日志数据。
【ime0.001,Eeuinime——】
他的眼睛死死地盯着代表计算误差的残差一栏。
通常情况下,加上这种外挂式的修正补丁,往往会破坏求解器的守恒性,导致残差在几步之后就开始剧烈震荡,然后报错退出。
然而————
一百步过去了。
三百步过去了。
五百步过去了。
「嗯?」赵旭的眉头皱了起来,身体不由自主地前倾,「没崩?」
不仅没崩,那个代表动量方程残差的数字,竟然一路从1e—3稳步下降到了1e—5,那条收敛曲线平滑得就像是用尺子画出来的一样!
「这收敛性————比原版求解器还稳?」
赵旭的心跳开始加速了。
虽然还不知道物理结果对不对,但这稳如老狗的计算过程,让他隐隐产生了一种不祥,或者说荒谬的预感。
难道说————?
四十分钟后。
【End】
计算正常结束。
赵旭的手心微微出汗,他深吸一口气,打开了后处理软体ParaView,加载数据,点击【Apply】。
当那个熟悉的螺旋桨模型出现在屏幕上,当他颤抖着手勾选了【Q—rierin】等值面显示的那一刻轰!
赵旭感觉自己的天灵盖被掀开了。
屏幕上,那条原本应该断裂、模糊,直至消失的涡管,此刻却无比的凝练紧致,还格外的清晰!
它顽强地穿过了那些原本会导致耗散的死亡区域,一直向后延伸,整整绕了五六圈,结构依然清晰可辨!
「卧————槽————」
赵旭喉咙里发出了一声无意识的呻吟。
他几乎把脸都要贴到了屏幕上,反复旋转视角,试图找出哪怕一点点数值振荡的痕迹。
没有。
完美得像是一张教科插图。
他甚至都怀疑自己吃了一记绯红之王,在那段被跳过的时间中帮这段数据完成了造假。
但显然这是真实的世界。
于是乎,在经过了短暂的呆滞,赵旭猛地站起身,椅子直接倒在了地上,然后惊呼一声:「我草!」
这声音直接吸引了实验室中不少人的注意。
「怎么了赵旭?炸机了?」
「没什么。」
赵旭完全没时间解释,他甚至顾不上把椅子给扶起来,转身就往实验室另一头的核心区冲去。
他们仿真组的大师兄,博五的孙志强,工位就在那里,赵旭也一直都是跟着孙志强打下手。
此时,孙志强正盯着自己发散的结果发愁,他满脸的丧气,眼神灰败。
冯致远刚才不少的怒火都是冲着他发的,这也让他压力山大,如果还拿不出结果,他都不知道到时候该怎么面对天行科技的人,最要命的是自己从这学期开始就已经博五了。
虽然博士延毕都属于常态了,但如果能够按时毕业当然是最好的了。
愁啊。
「孙师兄!孙师兄!」
就在这时,赵旭急促的声音打断了孙志强的沉思。
孙志强皱着眉擡起头,语气颇有些不耐烦:「喊什么?又炸机了?」
「不————不是!」赵旭喘着气,指着自己的工位方向,语无伦次地说道,「涡!那个涡!它————它连上了!没断!」
孙志强愣了一下,随即失笑一声,摆了摆手:「赵旭,你是不是累糊涂了?咱们这几个月试了多少种方法?网格不加密,那个涡怎么可能连得上?别拿那种调低了阈值的假图来忽悠我,我现在没心情开玩笑。」
「不是忽悠!是真的!」赵旭急得跺脚,「我用的是那天来我们这里的那个大一新生————那个叫林叶的给的代码补丁!就在刚才,我跑了一遍MdelB,结果全出来了!」
孙志强听完,更是气乐了。
「林叶?就是前两天你带过来的那个?和老板好像有点关系的那个?」孙志强把手里的笔往桌上一扔,无语地说道,「赵旭,你也是读到硕士的人了,有点常识行不行?咱们组十几个博士搞不定的底层数值耗散问题,他写个补丁就解决了?」
孙志强指着他面前的电脑屏幕,立了个fg:「他要是真能把这个问题解决了,我当场,就把这个电脑屏幕吃掉!」
赵旭也急了,二话不说,直接上手拉住孙志强的胳膊:「师兄,你别不信!你跟我过去看一眼!就一眼!如果是假的,我帮你把屏幕吃了!」
看着赵旭那副信誓旦旦,甚至有点疯狂的样子,孙志强心里的笃定终于动摇了一丝。
「行,我就去看看你到底中了什么邪。」
孙志强黑着脸,跟着赵旭来到了他的工位前。
他站在屏幕前,双手抱胸,摆出一副「我看你怎么编」的挑剔架势,目光扫向屏幕。
一秒钟后。
孙志强抱在胸前的双手缓缓放了下来。
五秒钟后。
他摘下了那副厚厚的近视眼镜,揉了揉眼睛,然后重新戴上。
十秒钟后。
他整个人几乎都趴到了屏幕上,不可思议地看着上面显示的东西。
「这————」
孙志强的声音变了,变得干涩起来,像是被人掐住了脖子。
屏幕上那条完美的涡管,就像是一记响亮的耳光,狠狠地抽在了他的脸上。
但此刻他根本顾不上脸疼,作为在这个领域摸爬滚打了五年的博士生,他太清楚这张图意味着什么了。
这意味着,那个困扰了他们两个月,让他夜不能寐的数值耗散问题,被彻底搞定了!
「这怎么可能?这是怎么做到的?」孙志强一把抢过滑鼠,疯狂地检查着边界条件和网格设置,「网格没加密?还是那一套粗网格?但这涡核的解析度————怎么可能这么高?」
「那个补丁————那个代码在哪?」孙志强猛地转头问赵旭。
「就————就在这儿。」赵旭打开了那个头文件。
孙志强盯着那几百行充满了李代数符号的++代码,虽然具体的数学原理他一时半会儿没完全看懂,但那种代码的结构美感让他感到了深深的战栗。
「不对————这可能是巧合。」孙志强咬了咬牙,他不愿相信自己这么多年的努力和知识被一个大一新生随手秒杀,「MdelB只是悬停工况,流场相对稳定。你————你换个算例!」
孙志强指着伺服器列表,眼睛仿佛都有点发红:「跑Mdel!那是前飞大攻角工况,伴随严重的叶片失速和非定常分离!那个算例是最变态的,如果那个也能算对————」
他已经有些不敢说下去。
自己总不能真的吃屏幕吧?
「好!我跑!」
赵旭此刻对林叶,或者说对这个补丁已经有了盲目的信心,立刻调出那个最难的算例,加载了带补丁的求解器,提交任务。
等待的时间是漫长的。
孙志强甚至没有回自己的座位,就站在赵旭身后,死死盯着残差曲线。
半小时后。
结果出来了。
当ParaView再次渲染出画面的那一刻,孙志强彻底沉默了。
那是更加复杂,乃至是狂暴的流场,在大攻角下,叶片背风面产生了复杂的脱落涡,这些涡旋相互缠绕、拉伸。
然而在林叶的算法下,它们每一个都清晰可辨,没有任何非物理的耗散,也没有任何发散的迹象。
完美。
无可挑剔的完美。
孙志强感觉浑身的力气都被抽干了,他扶着桌沿,看着那个只有几百KB的补丁文件,心中涌起一股巨大的无力感,紧接着是对那个仅仅看过一面的少年的惊叹。
他到底是怎么做到的?!
孙志强现在无比地想知道这件事情,但显然,现在已经不是说这件事情的时候了。
转过头,看向旁边正一脸自得的赵旭,虽然这个补丁不是他搞出来的,但此时的他好像有种与有荣焉的感觉一样。
不过孙志强也没空纠结这件事情,他的声音激动起来,眼中也仿佛闪烁着狂热的光芒:「快!去找冯老师!」
「太好了,我们有救了!」
"