林芳凑过去看了一眼,那是一张图表,上面画着一列高速列车,旁边有几条呈抛物线状的压力波形图。“今天上午的碰头会,西门子和川崎的代表都在。”
方士靠在椅子上,看着他们两个。
“德方代表拿出了这张图,他们问我们,国内现有的铁路隧道,标准的截面积是多少。”
张渊起头。
“一百平方米左右,这是通用的。”
“对,一百平方米。”
方士点点头。
“然后他们笑了,他们告诉谈判组,他们ICE3型列车的气动外形,是基于他们国内的隧道截面积设计的,如果我们不买他们的全套气动软件授权,自己胡乱把车头造出来跑,一旦速度超过两百五十公里,进隧道的时候,瞬间产生的微气压波能把车厢玻璃全震碎。”办公室里安静了下来。
张渊的脸色变了。
“他们这是恐吓,车头外形我们可以自己做风洞测试去改。”
“怎么改?”方士看着他,“我们有全尺寸的跨音速数据吗?”
张渊张了张嘴,没说出话来。
没有。
国内目前的高速风洞,吹不出那种极端条件下的高精度数据。
而计算机模拟,算力又被传统的流体力学方程死死卡住。
“我跟他们说,数据我们可以自己算。”
方士的声音突然提高了一点。
“你猜他们怎么说?”
张渊和林芳看着方士。
“他们那个专家,当着我们所有人的面说,以中国目前的流体力学算法和计算机硬件水平,十年之内,算不出三维跨音速情况下的全尺寸气动模型。”方士指了指桌子上的文件。
“所以,他们单单是这一个气动数据的底层代码授权,就敢要两亿欧元,而且是黑盒授权,只给结果,不给过程。”张渊猛地站了起来。
“两亿欧元?一个黑盒子?他们怎么不去抢!”
张渊的胸口剧烈起伏着。
“人家就是明抢。”
方士仰起头,看着天花板。
“因为人家吃准了你的软肋,你拿不出自己的数据,你就证明不了你能在没有他们授权的情况下造出安全的列车,你不给钱,谈判就进行不下去。”林芳的脸色也很难看。
“部里怎么说?”
“部里在拖延时间,我在京城这几天,天天开会。”
方士坐直了身子,双手交叉放在桌面上。
“第二轮核心接触在下个月初,部里的压力很大,如果我们拿不出一点自己的理论底气,这两亿欧元可能就真的得捏着鼻子认了。”方士看着张渊和林芳。
“国内另外几所交大,都在拚了命地吹风洞做动模型,我们科大分到的任务,是底层流体算法模拟。”方士顿了顿。
“我在京城跑了三天,求爷爷告奶奶,从中科院超算中心那边,给咱们实验室抢到了四十八小时的并网计算节点。”张渊的眼睛亮了一下。
“超算机时?什么时候?”
“二十天后的凌晨切给我们。”方士说。
“但是,超算不是用来试错的。”
方士盯着张渊。
“在这几天内,在咱们那四本地服务器上,把三维模型的底层算法跑出一个不发散,不报错的沙盒验证版,如果本地代码都内存溢出,传到超算上也照样是死机废代码,国家拨下来的机时不能这么浪费。”
张渊的拳头慢慢握紧了。
“这不是死命令,我也知道这违背现有的算力常理。”
方士站起身,走到窗前,看着外面黑沉沉的夜色。
“但国家需要我们,不管西门子怎么嘲笑,我们哪怕是去撞南墙,也得尽全力去试一试,试成了,国家在谈判桌上就有反击的底牌,试不成,至少我们摸清了这条路的底线。”
方士转过身,拍了拍张渊的肩膀。
“尽力去跑,京城那边这两天我还得再过去一趟,你们把模型建好,放手去试,有什么问题电话联系。”张渊看着方士眼底的血丝,重重地点了点头。
“明白了。”
张渊拿起桌上的文件。
“林芳,走,下地下室。”
第一天。
地下二层实验室的门被重重关上。
张渊和林芳把铺盖卷扔在墙角,转身打开了四服务器。
房间里很快充满了风扇启动的轰鸣声。
白板被推到了房间中央,张渊拿着记号笔,在上面写下了一长串的纳维-斯托克斯方程。
“先建沙盒模型。”
张渊盯着白板。
“把车头的几何参数导进去,网格先切得粗一点,跑一遍看看边界条件。”
林芳坐在电脑前,双手在键盘上飞快地敲击。
“导入完毕,初始网格数量,三百万。”
“运行标准求解器。”
绿色的光标在黑色的命令行里跳动。
半个小时后,光标停住了。
屏幕上弹出一行红色的提示:方程不收敛。
张渊走过去,看了看报错日志。
“湍流模型在车头鼻尖的位置发散了,网格太粗,捕捉不到气流分离的细节。”
“继续细化?”林芳问。
“细化。”
第三天。
实验室里的空气开始变得浑浊。
桌子上堆着几个吃空的泡面盒,张渊下巴上的胡子已经长出来一截。
“网格加到八百万。”
林芳敲下回车键。
服务器的风扇声变得凄厉起来,像是在负重爬坡的卡车。
这次跑了三个小时。
张渊一直站在屏幕前,眼睛一眨不眨地盯着滚动的数据。
“压力值在上升....”
张渊小声念叨着。
“进入跨音速区间了,马赫数0.8..…”
突然,滚动的数据停顿了一下。
紧接着,屏幕上出现了一大片NaN。
计算结果溢出,变成了无效数字。
“又炸了。”
张渊一拳捶在桌子上,震得旁边的杯子晃了晃。
林芳揉了揉发酸的眼睛。
“非线性对流项没法处理,只要一进跨音速,空气的可压缩性突变,传统的差分格式根本稳不住。”张渊走到白板前,拿起黑板擦,用力把上面的一部分公式擦掉。
“还得改,用迎风格式试试。”
第五天。
垃圾桶里塞满了烟头和废纸。
张渊坐在椅子上,两眼发直地看着天花板。
林芳趴在桌子上睡着了,身上披着一件外套。
屏幕上依然是刺眼的NaN。
所有的常规路数都试过了。
他们尝试了各种主流的流体力学算法,只要网格精度上去,计算量就会呈指数级爆炸,然后非线性项就会在某一个瞬间崩溃。如果降低网格精度,算出来的数据就是一团浆糊,拿到谈判桌上连自己人都骗不过去。
张渊拿起桌上的烟盒,抽出一根干瘪的香烟,他没有点火,只是把它咬在嘴里。
二十天的期限已经过去了三分之一。
张渊闭上眼睛,脑子里全是外方代表那种傲慢的笑容。
十年内算不明白?
难道真的要被他们看死?
张渊睁开眼,转头看向正在熟睡的林芳。
张渊慢慢坐直了身子,吐掉嘴里的烟,走到林芳身边,推了推她的肩膀。
“林芳,醒醒。”
林芳迷迷糊糊地起头,脸上还印着袖子的红印。
“怎么了?跑通了?”
“没有。”
张渊看着她。
“你还记得陈拙去年写的那个矩阵吗?”
林芳愣了一下,脑子清醒了一点。
“陈拙?你疯了,那是二维的,现在这是三维全尺寸模型,网格数量差了几个数量级。”
“逻辑是一样的。”
张渊的眼睛里闪着一种病急乱投医的狂热。
“我们现在是被连续方程卡死了,陈拙的思路是离散,如果他能把那个矩阵升维,套进三维模型里去呢?”林芳看着屏幕上的数据,咬了咬嘴唇。