工业软件如何卡住中国脖子
大家好,我是主编杨叔。1964年10月16日,西北边陲的“死亡之海”罗布泊,远方的地平线瞬间多出一个太阳,浩大的蘑菇云腾空而起,10亿摄氏度的原子裂转变成一声龙吟,震动世界,就算历史过往一千年,人们也会记住这天,从这里开始中华民族的历史要分成两段来写。(放几秒)
两弹一星的故事,信赖大家已经听过很多了吧,在例如《横空出世》这样的主旋律电影中,最具艺术感染力的就是,科研人员在极其其艰苦的条件下,用了比美苏少得多的时间,甚至依靠算盘手打,计算原子弹相关参数,以此来颂扬民族的坚韧与伟大。
那问题来了:大家有没有好奇过,他们用算盘到底是在算什么呀?那些复杂达到令人有眼花缭乱的核物理方程,真的可以用算盘打出来吗?在请教过核物理方面的专业人士后,我终于找到了答案。
其实用什么算不重要,算盘可以算、电子计算机也能算。要害是要解出两个重要的方程。第一个喊临界方程,是用来推断核素材需要什么样条件,才能达到临界质量完成起爆。
这是一个无比复杂且艰巨的任务。首先,不同的核素材浓度下,临界质量是不一样的,而且温度、密度、有无中子反射层,很多条件都会影响临界质量。而我国第一个原子弹摘用的内爆式原理,对前期的理论计算提出了更高的要求。万一算错,造出个哑弹,那是要负历史责任的。
那第二个是描述原子弹内部核裂变反应的方程,这里肯定会有机智的看众举手:“这个我熟,E=MC2嘛,初中就学过了”,但其实,我们平时看见的链式反应是平面上的,现实中,原子核发出的中子会像太阳光一样朝四面八方散射。描述裂变反应的数学模型,是个连黑板都写不下的浩大的方程组。有了它就可以估算原子弹的威力。万一一爆炸,当量几百吨,那就成全世界笑柄了。
那我这里当然不可能把这些方程都给你们列出来,要知道,这两个方程组都是复杂的偏微分方程,是没方法直接求解的,这就需要数学家设计出一套算法,把原来无法求解的方程组,近似处理成能够求解的许多个代数方程。分派给更基层的科研人员,他们得到的就是更简单的方程或数据,只需要完成相应的代数运算即可,最后,所有计算结果会被统合起来,再经过更高层次的计算和验算,得出一个近似的数值解,从而确定原子弹的核心参数。
本来我们早期的原子弹研究是得到苏联部分援助的,但1959年6月赫鲁晓夫单方面撕毁条约,撤回专家,中国的前期预备工作前功尽弃。虽然所有图纸都要重新绘制,所有的参数都要重新计算,但是我们把原子弹工程命名为596工程,就是要让苏联看看,我们到底能不能独立自主的搞出核武器。
而当时中科院仅有一台104电子管计算机,各行各业有大量的科研项目需要计算。而且当时我们的原子弹和氢弹理论研究,还都是同时进行的。排不上号。
而且依据后来披露的资料:美苏当时都曾计划对中国的核实施发动打击,企图把威逼扼杀在摇篮中;甚至在我们原子弹爆炸前一年,美苏正式签署《部分禁止核试验条约》,当时五常中的四个已经爆了原子弹,条约针对谁不言而喻。
时间紧张、环境恶劣、缺少硬件设备,怎么办?那就直接堆人上:几千人、几万人、用稿纸打、用手摇计算机摇、甚至用算盘打。为了计算一个要害数据:邓稼先带领团队用四台手摇计算机一天三班倒,装计算稿纸的麻袋堆满了房间,先后运算9次,历时半年才得到结果。
我想这差不多就是《三体》里面的“人列计算机”了吧,放到这里应该喊“人肉有限元”。所以《三体》这部作品才这么有史诗感:只有当年亲身经历过那个苦难年代的刘慈欣,才能构想出红岸工程、人列计算机这样的脑洞,因为当年我们真的这么干过呀。现在已经很难想象先辈们到底付出了多少心血,才换来了罗布泊上的一声龙吟。
展开全文
但是人工计算不可避免的会疲惫出错,运算速度缓慢,实际效率很低,这更多是在当年物质条件有限的情状下,不得已而为之的方法。而现在,这个包含电子管计算机、手摇计算机、算盘和浩大基层科研人员在内的浩大运算系统,已经被计算机取代,或者更正确的说——喊工业仿真设计软件。
那结合以上原子弹设计的过程,你可能就能知道工业软件是干什么用的,它有点类似化学反应中的催化剂,即使没有,很多反应也能进行,但效率极低。那本来是想做一期两弹一星的,但在查询原子弹设计的相关资料中,让我不由自主深进探求了这个问题:在民族危机感的号召下,两弹一星这样国家战术工程,当然可以用忘我的工作热情和无私的奉献精神,以“人列计算机”式的方式来弥补硬件和软件的不足。但是类似芯片设计:这种需要在指甲盖大小的面积上容纳千亿个晶体管的高端工业领域,是不可能再用不计代价的人力投进,绕过基础设施的瓶颈的。
而熟悉相关领域的从业者应该很清楚:上到天宫一号下到桌椅板凳,现代工业设计,创新只占很小的一部分,99%的工作都是在此前成果的基础上小修小改,与其说是给设计师配了台电脑,倒不如说给电脑和软件配了个人。要知道,依据官方公开的画面,连歼10都是用法国达索的catia设计出来的呀。假如这是事实的话,那一旦相关的辅助设计软件被卡脖子,甚至别人给你设后门,下场哀鸿遍野。
那以上探求就促使我深进学习了工业设计软件,我以前也用到过相关软件,比如算流体动力的Fluent,用它来算枪弹、炮弹的阻力系数、升力系数这些数据,也算是有所了解吧。结合自己此前的工作,并且请教了身边正在从事相关领域的朋友,这次就来和大家聊聊这个话题吧。
我国的工业软件目前处于什么水平?毫不夸饰的说就是制造业的死穴。虽然表面看,咱们这方面也不是完全空白,国产计算机辅助设计软件,比如中看CAD,已经和欧特克公司的AUTOCAD差距不是特殊明显了;广联达的工程治理软件和建筑信息模型软件已经得到了广泛的使用,市场口碑也不错。那么我们到底差在哪里了呢?答案是以EDA和CAE为代表的高精尖领域。
CAE的全称喊计算机辅助工程软件,其实在它诞生之前,相关原理就已经广泛的使用到工业生产当中了。下面我就结合弹道学,简单讲讲它是怎么用的:比如,我要设计一门火炮。大致过程是这样的,军方会提出一系列要求:威力多大,要打多远,重量和尺寸不能超过多少等等。
那么第一步就要先确定弹丸的弹形和初速,这喊外弹道设计,然后才能确定什么样的身管和装药,能达到称心威力要求的初速,这喊内弹道设计。接下来,再依据上一步的结果,进行火炮结构设计,用什么样的工艺、什么样的反后座装置,什么样的炮架,然后造出样炮,进行技术验证,最后是靶场定型试验,假如通过了军方验收,就可以量产,装备部队了。
在这个过程中,每一个环节,都要离不开大量的数值计算。比如,在外弹道设计阶段,我们需要预估弹丸的阻力系数,用风洞吹当然也可以,但成本高时间长,用仿真计算相对比较省事。
那么,怎么算这个数呢?这就需要把弹丸四周圈出一个空间,模拟空气从其中流过,虽然流体的运动方程是知道的,但这也是一个偏微分方程组,无法直接求解,所以只能把这个空间划分成一个一个的小格子,在每个小格子里,把微分方程降为代数方程。但各个格子又彼此相关,有多少格子,就多少个方程,直接解也是解不出来的,必须要联立,迭代求解,假如最后的结果是收敛的,那么这就近似的算出了这个流场。最后,把这个流场作用在弹丸表面上的力,进行求和,得到合力,进而得到阻力系数。
当然,这只是非常基本的一个步骤,假如流动的初始条件不同,比如方向或马赫数变了,就得再算一次,最后得到一个曲线,然后,再依据这个曲线往计算弹道。算弹道,又要依靠一个彼此耦合的常微分方程组,还是没法直接求解,所以,又只能按照上面的构思,在一个非常短的时间段内,近似地降解为代数方程,用某种数值解法,掌握好误差,零点几秒零点几秒的往前推进计算。
看到这,你可能会觉得,这不还是挺麻烦的吗?哪里省事了?假如让一个小白从头来搞,当然如同天书,但是假如有人把这些过程都浓缩为一个大家都能用的程序,你只需要输参数就可以了,是不是就省事多了?而在接下的步骤中,设计身管,设计炮架,那些固体部件,同样也是这个构思,这就是CAE软件的作用。
有了它软件,工程师就可以先建立三维模型,将产品的材质,不同的部件之间的连接方式等参数加载在模型上,通过有限元解算器进行模拟实验,提前计算出产品的各项参数,让设计人员在成品加工出来之前做到心中有数。
通过以上火炮设计的过程,你可能就能明白CAE软件是干什么的了吧。设计一门简单的火炮就如此复杂,由此妥善到芯片、汽车、高铁、歼20、航母,没有辅助设计软件,咱们总不能再用人列计算机解决吧。
而目前整个CAE市场几乎被三大巨头所垄断,分别是美国的ANSYS、法的达索和德国西门子。
ANSYS是可以说是通用仿真计算软件中的翘楚,结构、流体、电场、磁场、声场分析样样熟知,最近又添加了光照和轨道工程模块,真正的六边形战士。ANSYS到底有多强?具体来说就是很多大学的有限元分析,这一门课程基本就是在讲ANSYS。
而一提到达索,可能很多人都会首先想到幻影2000、阵风,但更多人不知道的是:达索旗下的CATIA V5在三维设计领域一直处于统治地位,设计歼10就是用的CATIA 。很多工科生常用的SOLIDWORKS也是达索的。在仿真计算领域,达索也是毫不示弱。ABAQUS最近也是发展迅猛,大有和ANSYS分庭抗礼之势,这方面咱们就无力乳法了,什么喊老牌帝国主义啊(战术后仰)
同样,西门子在很多人眼中就是个卖小家电的,再深进了解发现,它是卖电气技术的。可能今天你看了视频才知道,西门子还卖软件而且还挺强,说不定你家小区电气系统规划,用的就是西门子的软件。在CAE软件领域,西门子旗下的NX更是能实现从设计到仿真到加工的全过程包办。
其实工业软件、工业软件,重在工业,而不是软件。工具是要服务于工业制造的,比如CAE软件的作为工业软件中最尖端的领域,需要大量的试验、海量的数据和资料积存,以及客户的实时反馈,不断通过实践使用反馈升级,从实践中来到实践中往,但现在,咱们工业制造的数据,都反馈到人家那儿往了。
而以上这些行业垄断者,要不就是和工业巨头有亲昵的协作。比如ANSYS的背后就离不开西屋电气的支持,要不然就是本身就是工业巨头。他们的软件背后是强大工业实力和技术积存。而这些才是需要一点点啃下来的硬骨头,是真正的技术护城河,这就导致一家公司只能在一个特定的领域取得突破,很难做出通用软件。
投进资金研究倒还好说,最让巨头们头疼的是高昂的时间成本,究竟市场是不等人的。那这些公司是怎么做到通用的呢?解决方案也很简单粗暴,那就是横向并购。我可以有解决不了的问题,但我可以收购能解决问题的公司,比如ANSYS的热力学耦合问题就是靠收购解决的,毫不夸饰的说,所有工业软件巨头的历史都是一部买买买的历史,腾讯直唤内行。
另外国外的软件在发展的过程中形成了软件生态,什么喊软件生态?很简单,巨头们的软件可以包办从设计到加工所有工作,工厂拿来就可以用,省往了很多配套兼容的问题。但另一方巨头企业利用他们经营起来的软件生态建立起了很高的行业壁垒,想靠一点零星的资本想搞工业软件是不可能的。
说完了外国的CAE软件,让我们把目光放回到国内。其实类似芯片等很多高端工业领域,中国的仿真软件的开发,用一句话概括都是:“起步不算晚,目光有点短。”。
中国的仿真算法是从两弹一星时期开始研究的,但还称不上软件,七十年代就开始了国产仿真软件的开发,也拿出过很多优异的作品,如大连理工大学和中国飞机强度研究所,都推出过专用的分析软件,性能不逊于当时的外国同类产品,有些方面甚至还超过了。
但现在落后的局面又是怎么造成的呢?因为过往中国所有工业软件都是体制内单位研制的,牵扯到不少行政问题。大家都是平级单位,经常是一个企业配一个研究单位,同行之间壁垒很高,导致开发出来的软件,首先通用性不足,也不交流分享,研究一完成,报完奖评完了职称,研究人员也就没动力把软件进行产品化和市场化了。久而久之,就造成了整个工业软件散兵游勇的状况。而且都是研究单位给自己的工厂研究的,都是固定的几个人在用,从一开始就没考虑通用性,拿到市场上,也是一点竞争力都没有。
等到中国加进世贸组织后,完全没有预备的国产工业软件,果然被打的丢盔弃甲。外国软件巨头一进来,立刻就祭出大杀器:“盗版垄断”。因为当时咱们还很穷啊,就算是降价售卖也榨不出什么油水,干脆干脆放任盗版,培植用户习惯,等你习惯了他们的软件,中国也富起来了,再割韭菜也不迟。现在很多互联网企业搞让利竞争,看似是新招,其实早就玩烂了,某视觉直唤内行。
同时各大巨头还瞄准了在校大学生这个潜在的用户群体,推出了看似很热心的“教诲版”,可以白嫖四年。软件不会用?没关系,有免费的配套课程,甚至还有专门的讲座,教你怎么用,而当时国产的工业软件,在这方面的作为基本等于零。
所以,国产工业软件和很多UP主都死于白嫖啊,你们懂我意思?开个玩笑哈,先狗头保命。
不过,你说当时的中国人不懂支持国货吗?还真不能怪当时的用户,他们白嫖了外国软件,客看上当了“帮凶”是不假,但主要还是迫不得已。因为通用化是市场化的基础,只有几个功能的软件怎么面向市场,就算是国企单位想要用他们的软件,都要往打申请,审批流程足以让人看而生畏。就算国产软件拿到手了,一时半会也学不会,配套课程就更别想了。更要命的是,很多企业压根就没听说过有国产的工业软件,外国工业软件就成了他们唯一的抉择。
因为没人听说过,就自然没人买,再加上本来国家投进的就少,行业自然不景气,人员待遇就很差。当时互联网行业又在蓬勃发展,薪资水平又比较高,所以他们当中的绝大多数,要么往了互联网和游戏公司,要么加进海外的工业软件巨头,中国在工业软件多年来的积存付之东流,从此中国的CAE软件发展陷进停滞,开始依靠于外国。一旦工业软件被全面断供,就像现在的俄罗斯,国产又接不上,很多工程根本就没法干了,咱们这个世界工厂,就会像被抽了筋一样,一夜回到解放前。
那有人就要问了:“你不给我正版正好,还像以前盗版不就好了吗?”但免费的永远是最贵的,用盗版软件的代价就是国产软件将永无出头之日。对于巨头来说缺失的授权费,可以靠贸易或别的手段赚回来,但中国缺失的却是整个制造业的未来。而且很多公司订购软件,其实是为了给厂商的技术服务和定制功能模块配套,软件本身有的时候反倒是无足轻重。
光看到危机还不够,我们要正视根源问题,一方面,杀死国产工业软件的并不是外国竞品,而是它自身的缺陷,作为辅助实业的通用工具,它本质上和锤子扳手并没有什么不同。既然是工具,就应该市场化,面向市场,获得消费者认可,而不是躲在计划经济和体制的壳子里,端着科研院所高高在上的架子。一个工具,谁来用都得趁手,不应该是必须的吗,作为产品的生产者,不就应该让产品尽可能称心客户需求吗?我们不能因为它是国产的,就把要求降低到能用就行。缺失的效率,不管对国企,还是民企来说,都是实打实的经济缺失,我们支持国货不是因为它是国产,更是因为我们期看他能做大做强,做出好产品才是真正的爱国。
可另一方面不可否认的是,我们国家对于工业软件方面的投进实在是太少了,从十五到十二五期间,科技部和工业部总共对所有的工业软件的投资也不超过两千八百万美元,再算上一些地方性的高新产业补助,最多也不会超过三千万美元,而ANSYS公司每年在研发上的就超过20亿美元,如此差距之下中国软件能有今天的成就已经很不轻易了。
其实不光是工业软件行业,中国几乎所有的科学研究都存在这重硬轻软,重物轻人的思想,一边是中国拥有世界一流的科研设施,天眼、东方超环,都是实打实的国家硬实力名片,可另一边的情状却是生化环材被称作四大天坑专业,年轻人正在逃离基建和制造行业,一股脑的涌向互联网,要知道这些人可是制造业的来之不易的新奇血液。
是年轻人太懒了吗?当然不是,是待遇差距太大了,目前机械行业研究生的平均薪资不到互联网行业的一半,但工作环境可是天差地别,虽然程序员也会吐槽996,可工厂里的噪音、粉尘、乃至剧毒却更加难以忍受。现在很多人都会强调在人口红利之后,工程师红利将会是中国赶超美国的要害,但除了少数精英,更多的工程师留在岗位原因是他现在还当不了程序员。
改革开放之后中国进进了高速发展的时代,也进进了一个求大求快的时代,假如政府牵头,那就需要见到政绩,对科研的投进,不可避免的要追求短期回报,项目大多就会集中在成果直看见效快的项目上,像工业软件这样的项目,就很难得到支持。同样的道理,利润高、见效快,说出往还好听的互联网企业,就成了大家都追捧的对象。最终在政策和资本的双重作用下,制造业和互联网行业之间出现了剪刀差,人才资源都源源不断的流进了互联网行业,越基础的东西越没人干,越短平快的东西越有人追捧。
可现实不会骗人,假如说石油是工业的血液,那么软件就是工业的神经。未来的万物互联时代,绝大多数设备都会安装嵌进式工业软件,大到超大型加工中心,小到一条传送带,甚至是门锁和书架都会智能化、互联化。假如依旧依靠国外,那无疑是把命脉交到了别人手中。同时未来工业软件肯定是深度定制化的,不同的设备对软件的要求自然是天差地别,只有把握了特色化的软件工业,才能适应未来时代的发展。
幸运的是中国在嵌进式软件上还是取得了不小的进取,比如华为、中兴等企业都已经在嵌进式软件领域取得了突破,而且目前工业软件已经细分出了新的赛道,比如机器学习,数据挖掘,云计算等,在新的赛道上,我们还是有很大机会的,上一条赛道失败了,这一次绝对要挠住机会,扳回一局。
那高端通用工业软件还要不要追呢?肯定要追,但是我们也要实事求是,这个可不是一朝一夕就能赶上的,它和芯片、航空发动机一样,这也是人类科学的结晶,集成了众多学科的最尖端成果。要想重振中国工业软件,就必须搭建好制造业的产学研链条,以产业所需为牵引,培植足够多的优异工程师,而不是论文制造机,由国家出面,把零散企业整合为巨头,可以给补贴,但是要真正面向市场,争取订单,切实为中国工业服务。
工业软件像是一面镜子,反映出了中国工业的不足。以前的中国就像是一个浩大的代工厂,很多要害技术、设备都是别人的。现在想要自己创业了,却发现由于依靠别人太久,自己的积存却不够。以前的捷径成了弯路,以前的弯路才是捷径。只要认清自己,发现问题,那接下来的事,就是要沉下心来好好追赶,没有必要埋怨,那么多难关都闯过来了,这个阻碍也必然会被征服,究竟我们的目的永远是远方的星辰大海。
我来回答