长久以来,中国制造忍受着“缺心少魂”之痛,“心”指的是芯片,“魂”说的是操作系统。随着我国在芯片、操作系统等领域的研发与突破,“缺心少魂”的局面正在改善。然而,中国制造仍有一大软肋。这就是工业软件,目前在国内制造业广泛使用的各种工业软件几乎全部都是国外开发进口的。
工业软件,顾名思义,就是指工业范畴使用的软件。大致可以分为研发设计类、生产调度和过程控制类,以及业务管理类。
工业软件有各种各样,按照其用途大致分为两类,一类是内嵌式软件,主要是直接内嵌于产品或设备中,如某些软件直接内嵌在数控机床或汽车中,使其实现某些功能。另一类更重要是用于产品全生命周期管理系统的软件(PLM),其中包括了CAD, CAE 等主要的产品设计,制造和工程方面软件。CAD 就是计算机辅助设计(Computer Aided Design), CAE就是计算机辅助工程 (Computer Aided Engineering)。这是两类工程中最常用的软件。还有一类是CAM,计算机辅助制造(Computer Aided Manufacturing)。
目前国内在机械、汽车、航空、船舶等工业领域广泛使用的产品设计软件 (CAD) 大约有AutoCAD, CATIA, UG,Pro/E和SolidWorks等,这是大家比较常用和熟悉的软件,用于产品的仿真、优化和迭代的辅助工程软件(CAE)大致也有两类,一类是专用软件,另一类是通用软件。如:Ansys, Abaqus, Nastran, Ls-Dyna, Fluent, CFX,Adams, EDA, EMS,AUTOSAR等,其中,Fluent 和CFX用于流体计算,Adams 用于多体动力学,EDA 和EMS分别用于电子和电磁场的计算分析,AUTOSAR 用于软件架构生成,Nastran 用于NVH分析。其它几个软件用途更广泛,几乎可用于各个领域的分析计算。图一和图二分别是用CAE软件做的汽车整车气流场仿真和电池包热管理仿真。
网上的讨论关于使用和开发设计软件CAD居多,CAD软件相对容易入门一些,开发主要涉及到数学,几何和IT方面的知识。但对于使用和开发仿真分析软件CAE,网上讨论不多,是因为后者的门槛较高,更不要说开发一个通用的CAE软件的难度和复杂度。CAE 软件通常由前处理,后处理和求解器(Solver)组成。前处理通常是将CAD中的零部件网格化以便计算。后处理是将计算结果图表化以便分析得出结果,其中求解器是核心部分,如Abaqus, Ls-Dyna 等。
为什么说CAE软件的求解器是真正的核心?因为求解器的开发涉及到整个基础学科,里面每一个功能块就是一个完整的学科。如材料本构关系,弹塑性力学,非线性接触,复合材料,非线性大变形理论,热传导,热幅射,液固耦合,爆炸力学,电磁场理论等,每一个功能块都需要一个博士论文的知识范围。本人在美国大型商业软件公司工作过。非常清楚里面的工作。每一到两个博士负责一个功能块。这绝不仅仅是IT的专业可以搞定的。仅一个材料卡就有几十种,没有专业知识根本不知道怎么开发和使用。这种软件的用户手册至少需要硕士毕业才能大部分读懂。没有一个人能够真正搞懂用户手册里的全部内容,因为里面涉及到的学科内容太多太深,包含许多专业的公式和理论,前后处理软件要简单的多。而CAD设计软件通常不会涉及到这么多学科,开发CAD软件相对容易一些。
CAE软件的应用极其广泛,从地震,气象等自然现象到航空,机械,造船,水利,地质,建筑,桥梁,核能和芯片等各种工程领域。这就是为什么开发通用的CAE软件需要几乎所有的自然学科的知识。因为它的应用包括了几乎所有的工程领域。
也许有人会说,以前没有CAE仿真软件我们不是一样可以做出产品,甚至造出原子弹。但是有了仿真软件,我们能够做到以前做不到的事,譬如,在设计汽车结构时,没有经过CAE仿真优化,你根本无法想象如何能够满足汽车严苛的碰撞安全法规。对于每一次的设计参数改动,你不可能完全用样车来验证和优化,那是不可承受的代价,也不现实。图三是用CAE仿真软件模拟的汽车侧面碰撞的情景, 而图四是模拟两车30度斜对角正面碰撞的情景。
在仿真模拟计算中,模型的建立和校准(或者叫对标)是极其重要的,通常模型建立后要经历几次物理试验数据的对标。经过校准后的模型才可以实际应用,才能准确地预测未来发生的事件。
提一个问题,为什么当前全世界的核大国都不再进行核试验,而印度等小国却拼命也要进行核试验?当今的技术完全可以用CAE仿真软件来模拟核爆炸,计算出它的热当量,热幅射以及有多大的威力等。但是这个仿真模型必须经过试验数据的对标。各核大国有无数次核试验的数据可以用来校准他们仿真模型的准确性和精度,而印度等小国由于缺乏足够多的试验数据,他们的仿真模型的准确性就会大打折扣,所以他们仍然想要做尽可能多的物理试验。
另外,Teamcenter 和虚拟装配线软件也在汽车工业中广泛使用。八年前我参观过一家汽车公司正在用虚拟装配线软件提前在检验产品在每一道工位装配过程中人机功能的合理性,人手的长度是否能够得着螺栓?工具在角落处是否能伸展的开?要知道当时产品还只在CAD阶段,还未进行任何的工程分析和实验论证等,就是为了提前知道产品在整个装配线上还有哪些需要改进的地方。这个软件当时给我震撼很大。
我们一定要认识到,编制工业软件不仅仅是数学和IT专业的问题,还涉及到几乎所有的理工科专业。。开发CAE软件初期最好有政府的资金支持,有一个或几个教授带领一个博士团队,前赴后继,坚持十几年,还要有用户支持和其他资金支持。这需要有一个巨大的团队,团结协作,还要有吃苦专业精神,成功之前还可能根本赚不了钱,关键是还要有足够多的人来使用这个软件,不断地Debug和优化它。目前中国要迎头赶上,真是任重而道远。