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

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