第1章 木星大巡游(2 / 2)
星系统,来对木卫一、木卫二、木卫三、木卫四进行全方位测绘。
谁设计的轨道燃料消耗最少,金牌就归谁。
当年这届比赛,宋星野他们设计的轨道方案,因为一个极其隐蔽的轨道积分误差,导致在评审环节被判定为‘不可行’,最终成绩垫底,一块奖牌都没拿到。
而现在,命运的齿轮又转回了这一刻。
就在秦锐抓狂时,对面桌上也抬起一个被压扁的发型,露出一张无奈的脸:
“锐哥,差不多得了。咱们交大航天系刚成立,底子薄,哪能跟北航、哈工大那些老牌高校比?咱们就是来凑数的,知耻而后勇嘛,输了不丢人……”
说话的是陈鑫,数学系拉来的学弟。
宋星野在小组中充当‘物理大脑’,负责吃透题目并拆解物理模型;
而陈鑫就充当‘数学大脑’,进行算法设计和全局优化;
最后由秦锐这个‘编程大脑’,搭建一个仿真框架,让物理模型和数学公式在计算机跑起来。
他们三个臭皮匠加起来,就是交大参赛队的主力了。
听着陈鑫的话,秦锐抓耳挠腮,
“我知道重在参与……可差距也太大了!听说北航的方案,燃料消耗比咱们低了整整15,这还玩个屁?”
陈鑫两手一摊:“人家导师都是两院院士,咱们本来就没什么优势……”
“别慌,让我来看看。”
一道沉稳的声音突然插入。
那是两世为人、深耕航天二十载的绝对自信。
只见宋星野调整了一下坐姿,凑近秦锐面前的计算机。
就在他注视屏幕的一瞬间,神奇的一幕发生了——
原本黑底白字的代码界面中,有一段负责计算‘引力辅助变轨角度’的函数,突然被框选出来、并高亮成了红色!
嗯?
宋星野下意识扫了一眼身旁的秦锐。
对方毫无反应,依旧盯着屏幕发愁。
显然,这红框只有自己能看见。
被锁定的函数……正是用于计算木卫三引力弹弓的内核段。
这就是“故障预知眼”?
宋星野闭眼,再睁开。
红光依然存在,且只有盯着那几行特定的代码时才会出现。
“星野,你没事吧?脸色怎么这么古怪?”
秦锐伸手在他眼前晃了晃,“你要是太累了就再歇会儿,这部分轨道优化交给我和陈鑫来啃。”
“不用,我没事。”宋星野摇了摇头。
金手指只会“高亮标红”,不负责解释。
这就好比老师在卷子上打了个大叉,却不告诉你正确答案。
但这对宋星野来说,足够了。
即使没有系统,凭借他二十年的工程经验,也能找出漏洞。
现在,这个过程被无限加速了。
“老秦,删掉第432行到445行,让陈鑫重新写一个navier-stokes方程的近似解。”
秦锐疑惑道:“这个函数没问题吧,陈鑫验算过五遍的?”
一旁的陈鑫也奇怪,“宋师兄,这是处理木卫三引力弹弓的内核算法,理论推导没问题啊?”
宋星野却指着那团在他视野中‘红得发紫’的函数,淡淡道:
“理论是没问题,但是精度溢出了。”
他转头看向秦锐,目光如炬:“知道为什么收敛速度慢吗?极坐标转换时,浮点数的精度损失在多次变轨中被指数级放大。
按照这组算法飞,探测器最后会象个瞎子一样,一头撞死在木卫二的冰层上!”
“这……有这么严重吗?”
陈鑫没想到自己写的函数,会被揪出这样的漏洞。
秦锐也面露迟疑。
“不信?”
宋星野没再解释,一把夺过鼠标,动作娴熟地调出编译器调试窗口,
“那就跑一次局部仿真。别只跑第三次变轨,把四、五次也加之,变量一叠加,漏洞就出来了。”
接着,他熟练地输入了几条指令,手指在键盘上飞快的敲击着。
最后,回车键敲下。
风扇声骤然变大。
十分钟后。
屏幕上弹出了一个红色的对话框:
【仿真失败,检测到刚性撞击!】
对话框底下是一条明显的撞击率红线。
实验室内瞬间安静下来。
陈鑫傻了,秦锐也不可思议道:“卧槽……真的撞了啊?”
“既然这段函数有问题,那接下来就简单了。”
宋星野活动了一下手腕,似乎刚才只是小试牛刀,神色淡然的道:
“不用改动太多,把龙格-库塔法的步长改成动态调整,再加之一个误差补偿项,就符合动力学约束了……”
↑返回顶部↑