第490章 你们不会自己改嘛?

像整机气动模拟或者结构模拟这种大活,真正的计算过程肯定是要在超算上面完成。但是作为输入输出终端的pc上面还是可以看到保存下来的日志文件。这个年头,很多终端和服务器的连接还是跑batch的ftp,一天只抓取一次数据的那种,而不是实时联动的api。当然因为服务器端的计算速度本来也比较有限,所以倒也不显得效率很低。“我们主要在两个方向的研究里面遇到了基本相同的麻烦。”姚梦娜把两台电脑放在桌子上,稍微理了理散乱开的头发之后开始解释道:“一个就是刚刚说过的,对机体部分进行结构分析的计算结构力学问题。”她说着在其中一台电脑的键盘上敲击几下,进入了一个账号,并调出一系列的运算结果。紧接着又转向第二台电脑,进行了类似的操作:“另一个就是,我们同时也在研究飞机投掷大尺寸吊挂物时候的气流干扰问题。”“在之前的风洞测试中发现,有些弹药,尤其是一些本身升力比较强的巡航弹药,它们和机翼形成的整体被破坏之后,不仅不会马上进行自由落体,反而会向上运动损坏机翼,我们希望能在第七批次的飞机投产之前解决这一隐患。”早期的苏27由于基本不考虑对地攻击,不需要携带什么大尺寸弹药,而且也没有外挂副油箱,所以无需考虑这类问题。所以,在同一平台开发多用途飞机的时候,就会产生一些很容易被忽视却又奇奇怪怪的问题。“我来看看……”常浩南来到刚刚的第一台电脑前面,弯下腰认真地查看起程序的运行日志来。跟在后面的何明则非常恰到好处地搬来一张椅子放在常浩南身后。“常总,您先坐。”过了几秒钟,意识到什么的他又给姚梦娜搬来了第二张,放在紧挨着常浩南的地方。“用的是双曲型面结构网格和体结构网格……说起来,你们这建模的水平很高啊,几何造型处理步骤只用了几天时间就结束了?”几何造型处理,是网格生成过程中的前序步骤。1997年这会,全世界绝大多数计算流体力学和计算结构力学模拟面临的主要难题,其实是缺乏一个成熟的,从cad模型到表面结构网格生成的应用工具。对于现有的网格生成工具来说,对于一些精度稍高一些的模型,往往需要6个月左右,甚至更长时间才能完成整个生成工作。比如波音747lcf的简化模型都用了4个月时间。而v22鱼鹰更是花了超过9个月。并且从后来的角度看,显然还存在设计缺陷。相比之下,耗时几个星期到一个月的几何造型处理并不算什么大问题,也完全可以接受但是对于torchmultiphysics来说,网格生成过程一般会被缩短到1-2个月,这样一来,几何造型处理的速度就显得有点慢了。只不过常浩南始终没来得及把精力放到建模那边,一直都是直接用达索的软件包。“苏霍伊那边的工程师带来的一个新建模软件,叫kompas,我稍微调整了一下torchmultiphysics的接口兼容性,让它能直接对接kom格式的工程文件。”“本来只是图个省事,结果发现这套建模方式跟我们软件的适配度非常高,就这么一直用下来了。”尽管这并不是今天要解决的主要问题,但常浩南还是稍稍留意了一下。大毛的电子工业水平停滞了将近10年,已经逐渐落后,但要论软件和算法这块,倒并没怎么落下。虽然由于市场不够大的问题很少出什么爆款,但绝对是有一些奇技淫巧在身上的。一段小插曲过后,常浩南再次把注意力放在了后面的网格生成日志上面。“子区域网格块数253……”“网格单元数万……确实不少,复杂度很高嘛……”“网格装配……”看到这最后一步时,他很快发现了不对劲:“吔?”按照正常的流程,torchmultiphysics应该把这253个网格块通过重叠区域内的网格间插值自动“拼装”在一起。但日志却显示,软件在这个步骤上,卡住了。准确地说,是在这个拼装步骤之前的数据抓取过程中就卡住了。“数据太多了?”这是常浩南第一个想到的可能。但他设计的网格生成算法逻辑里面,特地针对大模型降低了计算复杂度。也就是说模型再复杂,无非是计算所用时间无限延长,并不会导致爆内存之类的问题。总之就是不可能卡在这里。“你们试过手动装配么?”常浩南思索片刻之后问道。“试过,但其它部分都好说,到这个中央升力体的时候,哪怕子区域网格只是出现较小的变动,装配输入文件也要做相应的修改,如果全都手动完成,那大概需要……”姚梦娜微微抬起头计算了一下:“大概需要手动输入大概6万行代码……”“……”6万行代码听着不太多,但考虑到torchmultiphysics都自动进行不下去,必须手动调参,这里面肯定还涉及到很多计算和转化问题。而且更麻烦的其实是,作为一个新软件,能够熟练完成这个过程的人也比较少。总之,显然不是短时间内能完成的。常浩南之前对软件进行测试的时候,因为时间紧任务重,也不可能用这种上百个子区域,几亿网格单元的模型去测试。实际上torchmultiphysics发布这么长时间以来,就各个用户反映上来的情况看,也没有谁用在了这种体量的模型上。所以之前才一直没发现问题。“手动装配也进行不下去的话……”常浩南眉头微蹙,手指在键盘旁边的电脑外壳上轻轻敲击着。“有没有考虑过放弃网格节点的结构性限制,考虑在表面变形时,根据物体边界的变化动态调整模型规则?”“……”一阵沉默。姚梦娜和何明面面相觑。从二人的表情来看,甚至没能完全理解常浩南这句话的意思。“比如说。”看着眼神清澈的二人,常浩南只好做进一步的解释。但在身上摸了半天,也没找到纸笔。了解常浩南习惯的姚梦娜赶紧从包里拿出来,放到常浩南手边。“比如说,我们可以把计算区域比作一个线性弹性体,通过求解弹性力学方程组确定网格节点的位移……”“代数模型是指网格的位移由动边界位移乘以一个系数得到,该系数在动边界上取1,而在远场边界上取0,内场按一定函数规律插值……”“……”一番计算和说明之后,常浩南在已经被画满了的纸上画下一个圈:“当然,也不是所有地方都能这样,对于太复杂的部分,就可以将网格单元的各边看作弹簧,弹簧系数与边长有关,当边界运动后,通过求解弹簧系统节点受力平衡问题确定新点位置……”“这样就能在计算过程中调整和控制单元的大小、形状以及网格点的位置,对于网格边界的要求会降低很多。”“……”又是一阵沉默。“torchmultiphysics里面……还有这个功能?”过了相当长一段时间,姚梦娜才用有些怀疑人生的语气问道。她明明亲自参与了这个软件的开发,但刚刚思索了半天,实在没想起来还有这种玩法。“当然没有。”常浩南咔哒一声把圆珠笔尖按了回去:“但你们可以自己改一下啊!”