陈杰森将MIT的算法库磁带交给陆怀民之后,两人在小会议室里又聊了很久。
陆怀民发现,陈杰森带来的远不止那一卷磁带。
这个在MIT深耕了七年的博士生,对CAD/CAM底层算法有着非常扎实的理解。
讲到兴奋处,他伸手把陆怀民刚画的一份后处理编译器架构草图拽到跟前,指着上面“后端适配器”那一层,说这个思路跟MIT实验室正在做的一个项目不谋而合。
区别在于,MIT用的是DEC小型机,他们课题组用的是DJS-130,硬件性能差了十几倍,所以陆怀民在设计上做了更精细的内存管理,把中间表示的节点压缩到了极限。
“你们这是用更少的资源,做了更精巧的设计。”陈杰森感慨道,“硬件差距可以靠时间追赶,但架构上的巧思,不是堆资源能堆出来的。”
在这次交流中,陈杰森解答了陆怀民很多关于数控加工技术的困惑。
比如,船用钢板的冷弯成形,为什么切出来精度达标、焊起来却变形?
陈杰森说,这个问题在国际造船业有个专门的名词叫“cutting-to-bending path deviation”,切割路径和弯曲路径之间的偏差。
其根本原因在于,金属在冷弯过程中会发生弹塑性变形,而这个变形量并非线性的,它与板材厚度、曲率半径、滚弯次数等诸多因素密切相关。
日本三菱重工在三年前曾发表过一份内部技术报告,专门探讨这个问题,但那份报告仅限于他们内部流传。
陆怀民听到这里,立刻追问:“那份报告的结论是什么?”
陈杰森想了想,答道:
“他们建了一个经验模型,把板厚、曲率、弯次这几个变量拟合成修正系数,在切割路径上预加一个反向补偿量。但模型的适用范围有限,一旦换了板厚,就必须重新标定。”
“那有没有从根本机理上建模的思路?”陆怀民又问:
“比如说,用有限元方法来计算弹塑性回弹?”
陈杰森眼睛一亮:“你也想到这个了?”
陆怀民点点头,心里却想的是前世在后世看到过的热弹塑性有限元分析,那已经是相当成熟的技术了。
他斟酌着用词,说道:
“如果把钢板的弹塑性本构模型建出来,用增量法模拟滚弯过程,把回弹量精确算出来,再反推到切割路径上做补偿,理论上是可行的。只不过……”
“只不过计算量太大。”陈杰森接话道:
“根据我的经验,一块一平方米的船板,滚弯三次,用PDP-11算一次完整的弹塑性回弹,机时要跑将近四十个小时。你们的DJS-130,性能大概只有PDP-11的三分之一到四分之一,这个时间恐怕还得再翻几倍。”
说完,他看向陆怀民,期待着他能给出什么解决思路。
陆怀民沉吟了片刻,开口道:
“不一定非要在回弹补偿上做全量有限元。我们可以……,这样一来,有限元计算只需要做少数几次,工程上也能接受。”
陈杰森听完,沉默了几秒,然后由衷地笑了。
“陆先生,你这个思路,跟三菱那帮人走了完全不同的两条路。”他说:
“他们是从经验出发往理论上靠,你是从理论出发往工程上落。您对这些前沿问题的理解深度,远高于同侪。”
陆怀民摇摇头:“这个思路也只是纸上谈兵,真要落地,还得靠工程数据来验证。”
“那不妨让我来帮你验证?”陈杰森忽然正色道。
陆怀民微微一怔。
陈杰森合上了面前的笔记本,看着他,语气郑重了几分:
“陆先生,我这次访学的时间有三个月。如果你们不嫌弃的话,我想……”
他顿了顿,似乎在斟酌措辞。
“我想以个人的身份,作为顾问加入你们的课题组。”
“您要加入我们的课题组?”这是陆怀民完全没想到的。
陈杰森点点头,诚恳地补充道:
“我的访学还剩下两个半月的时间,这两个多月里,我不代表任何官方机构,也不涉及任何经费往来。纯粹是作为一名技术人员,为这个有意义的项目,为了志同道合的伙伴,也为了我父亲心心念念的祖国,做一点力所能及的事。”
他说得非常真诚。
陆怀民立刻站起身来,郑重地朝他伸出手。
“陈博士……杰森,”他改了口,“课题组欢迎你。有你在,很多弯路我们就不用自己趟了。”
陈杰森握住他的手,笑着摇摇头:
“别这么说。这个课题有你在,我相信攻克这些难题只是迟早的事,我不过是提供一些额外的思路和经验罢了。”
“志合者,不以山海为远。”陆怀民说。
陈杰森愣了一下,然后轻声重复道:“不以山海为远。”
他用力点了点头:
“谢谢你。能结识志同道合的伙伴,是我此行访学最大的收获。”
……
当天晚上,陆怀民将课题组全体成员召集到实验室。
“这是MIT CAD实验室图形学基础算法库的源代码。”陆怀民举起那卷磁带:
“陈博士代表马丁教授,把它正式贡献给了咱们银河开源社区。CAD是CAM的上游,这对我们的课题肯定会大有帮助。我们当前的目标,就是尽快评估和试跑这些算法。”
彭远征和郑国光对视一眼,两人眼中都涌动着难以抑制的兴奋。
尤其是学数学出身的郑国光,对算法有着天然的兴趣。
陆怀民把磁带轻轻放在桌上,转身在黑板上写下几个大字:MIT算法库预审计划。
又在下面划出三条线:文档翻译、环境适配、模块试跑。
他转过身来,说道:
“从今晚开始,我们分组行动。彭师兄和郑师兄负责文档,先通读一遍,把核心算法的论文出处和数学基础理清楚。雪梅姐和周伟师兄负责环境适配,咱们机器内存小,可能得把代码拆段,一部分一部分跑。我负责总体评估。”
“大家记住一点,我们研究它是为了消化它,消化完了,再融进咱们自己的骨架里。”
陈青穗见没有给自己分配任务,不免有些失望。她犹豫了半天,在一旁怯怯地举手道:
“师兄,我……我能做什么?”