< 返回
飞箭 飞向三位一体cae的至高点

记者(以下简称记):请您简要介绍一下您个人情况以及成立飞箭公司的由来。

我于1963年毕业于天津南开大学数学系,毕业后在中国科学院数学研究所,也就是现在的中科院数学与系统科学研究院工作至今。

梁国平研究员(以下简称梁):

80年代初,中科院数学所派出中国大批优秀的研究人员到美国学习。我有幸赶上这个机会,81年被派到美国卡内基梅农大学数学系做访问学者。一年后转到美国加州大学柏克利分校土木工程系。在加州大学学习的一年期间,我师从当时有限元软件的创始人之一wilson教授,当时他研究的是pc机的有限元应用软件。那个软件有一个很大的特色,就是采用元件化技术(编者注:组件化技术),也就是现在的中间件技术。这是我最开始接触有限元计算。

83年我从美国回来以后就开始研究这个系统。我在研究中吸收了他的程序设计方法,即元件化程序设计方法。但wilson教授那时候研究的有限元软件只能把既定的程序给用户使用,不能按照用户的需求而更改。一旦修改就要修改源代码,这个工作量是很大的。而我希望能够根据有限元的基本原理,即求解偏微分方程,从而自动生成程序,这样就任何问题都可以通过微分方程而求解了。经过五年的探索与努力,我们在88年完成了自动生成系统的线性部分,两年之后实现了非线性部分,有限元程序自动生成系统正式完成,90年开始,美国加州大学试用本系统,95年,经过中国科学技术协会专家组织评审,有限元程序自动生成系统被授予中国科学技术进步二等奖的荣誉。随后,在数学家杨乐的支持与鼓励下,我们准备把这个技术商业化。刚好遇到飞箭现在的董事王新投资,我技术入股,这样96年飞箭公司前身——北京飞箭有限元技术开发有限责任公司就成立了。99年,飞箭进行了融资和重组,北京飞箭软件有限公司正式成立,由我担任总经理兼总工程师。

记:请您介绍一下有限元程序自动生成系统fepg的特点和功能。在众多cae软件中的优势在哪里?

有限元程序自动生成系统fepg(finite element program generator)是一个有限元分析和计算机辅助工程分析(cae)的软件平台。fepg与现有的通用有限元程序系统不同,它的主要目标不是给出现有的某些类型微分方程的求解库,而是提供一个有限元平台,用户利用这个平台,可以由该问题的微分方程表达式及其求解算法得到他所需要的全部有限元计算程序,因此这个系统也可叫做有限元生成器。用户只需输入有限元方法所需的各种表达式和算法,即可由fepg自动产生所需的全部有限元计算的源程序,包括单元子程序、算法程序等,免去了大量的繁琐的有限元编程劳动,保证了程序的正确性和统一性。

梁:

飞箭的fepg目前有三个版本,分别是单机版、网络版(ifepg)、并行版(pfepg)。这些都是根据用户的需求逐渐研发出来的。最早推出的是单机版,考虑到未来软件发展趋势必然是基于internet的,2000年飞箭推出了网络版本(ifepg)。至于并行计算技术相当复杂,我从90年就开始作相关研究,直到2004推出fepg的并行版本pfepg。

fepg的开发思想是采用元件化的程序设计方法和人工智能技术,根据有限元方法统一的数学原理及其内在规律,以类似于数学公式推理的方式,由微分方程表达式和算法表达式自动产生有限元源程序。这种自动生成技术采用的是比现有的高级计算机语言更高层次的语言,这种高级语言的代码量要比机器代码量少10倍以上,从而减少了90%以上的工作量,大大提高了编程效率。而实际得到的效益比这个数字还要大的多。这是fepg最显著的特点,也是飞箭的核心竞争力。

除此之外,fepg的可阅读性、可理解性、可维护性,还有可再用性也是比较突出的。实际上这四个特点也具有同一性。因为fepg这套软件只需要使用人员有相关知识背景,懂得上层的公式并且会写微分方程、算法就可以操作了,不需要去掌握编程,系统维护起来相当方便,而且不会因为人员流动而带来软件再用性降低的问题。再加上一般的程序只有五个元件组成,用户只需要读懂五个中间件的源码就可以理解程序,非常易懂。

1995年有限元自动生成系统参加中国科学技术进步奖评选的时候,专家组的鉴定意见就是:其他同类软件解决不了的问题该软件可以解决。这就是飞箭最大的优势。

记:您作为飞箭的总工程师,fepg还是您在带头做研发,能介绍一下fepg软件研发的技术要领吗?

目前还是我带头做研发和完善fepg的工作。fepg软件有三项核心技术:自动生成技术、元件化技术和公式库技术。自动生成技术根据公式和算法来生成程序。

梁:

元件化就是指的中间件。通过元件化技术可以降低编程的复杂性,现在的cae通用软件基本都采用这种技术。不过飞箭fepg的元件采用的非常少,一般是5个,读懂了这5个中间件的源码就可以理解程序。对于用户而言非常方便。

第三个技术是公式库技术。因为自动生成技术需要用户有基本的相关知识背景,用微分方程或者算法来生成程序的,需要写很多公式。而fepg软件平台的公式库里面有很多常用的公式,微分方程库包含固体力学、电磁场、结构力学等公式库,也有一维到三维的形函数库,还有数值积分库、算法库和代数方程组求解库。这些公式可以通过指令直接调用。这样用户有针对性的调用底层公式库里面的微分方程或者算子就可以大大减少书写同一公式的工作量,而不需要像通用软件那样通过调用程序库的程序。对于一个微分方程,一般只需要写十几行调用代码就可以实现,用户也易学易用,整个公式库使用起来非常方便。从节约计算机资源的角度考虑,公式库不可能包含各类计算所有的公式,考虑到不同的用户常用的公式是不一样的,公式库里除了存放最基本、最常用的公式以外,用户可以根据自己的需求往公式库里面添加自己的公式,这也是公式库技术的另外一个特点。对于有相关知识背景的用户而言,这是一件比较容易的事情。有了这个功能才可以让用户真正做到节省输入公式的重复劳动。

记:fepg是否有专注的行业?飞箭的用户主要是哪些?如何为这些用户提供服务?

与通用软件有专注于某些行业的解决方案不同,fepg不受任何行业、任何学科领域的限制。这是由fepg的实现原理决定的,也是fepg软件的一个特点。fepg软件提供的是一个平台,无论什么样的有限元问题,fepg都可由其微分方程表达式和算法表达式,自动生成全部有限元计算源程序。所以完全不受学科和行业的限制。

梁:

目前飞箭的用户还是以高校和研究院所居多,也有一些企业。但实际上中国企业很多没有进行数值模拟的能力,大多数企业也不愿意投入很大的精力进行这么庞大的计算,所以要真正用好cae软件是很困难,所以一般都是由高校和科研院所帮助企业完成。飞箭也有直接和企业合作的情况,一般是在fepg软件平台上做完分析之后,再按照企业的需求,做好用户界面等等,这就涉及到飞箭的咨询业务了。

针对高校科研院所和企业,我们提供的服务不同。对于前者,多半是帮助他们解决算法或者微分方程的问题,有时也指导他们做。对于后者,一般都是基于fepg这个平台为他们做专门的软件,之后就企业提出的疑难问题再进行解答。企业如果没有专门的部门做分析,所以我们也会为他们做高性能计算,这些主要还是看企业对数值模拟的重视程度,以前国内很多企业都不太重视数值模拟,现在情况在慢慢改善,但还是需要一个比较长的过程。

另外,我们也在飞箭公司,中科院网络中心和cernet服务器上安装了最新版的fepg系统,用户可以免费下载fepg平台的界面,通过网络使用这个软件。我们也为这些用户提供电话、邮件、论坛等多种形式的帮助,为他们解决使用过程中操作或者算法等方面的问题。

记者:fepg系列产品有三种,单机版,网络版和并行版。并行版现在用的是不是网格技术呢?

就网格技术来说,目前总的概念有,确切的定义还是很模糊。我认为高性能计算分为两个阶段,初级阶段和高级阶段。初级阶段进行的是并行计算,以作为高级阶段网格计算的基础。实际上现阶段基本上还是处于用并行机做高性能计算的这个初级阶段。现在谈网格技术,有点追求专业术语的高精尖了。所谓高性能计算的高级阶段,一方面指的是所有的并行机有一个计算中心,按照计算规模的大小自动分配资源,最大程度利用该中心的所有并行机,提高并行机的使用率。此时用户只需要提供并行任务就可以完成并行计算,而不用考虑并行计算是在哪台并行机上面运行的。这是一个很理想的状态。但是目前离这个状态还差的很远。另一方面,并行计算的软件并不是每台机器都要安装,是放在某些并行机上面,而没有装该软件的并行机是通过网络连接来使用的,这样可以节省大量的软件占用空间,腾出更多的资源用来计算。

梁:

和通用型cae软件直接安装在并行机上不同的是,fepg软件最后运行生成的是源程序,可以传送到任何一台闲置的并行机上面运行。现在飞箭已经通过互联网实现了这个技术,而且在这个过程中不需要很大的带宽,不需要占用很多的网络资源。飞箭目前采用的这种技术已经很接近高性能计算的高级阶段了。

记:请您谈谈国内目前cae软件发展的情况,以及今后高性能计算的趋势?

目前市场上cae软件只是设计软件和通用分析软件的集合。我认为真正的cae的软件应该是设计、分析、优化三位一体,并且三者之间可以实现无缝集成。目前的通用软件很难和设计软件集成,主要原因是通用软件太庞大,厂商也比较多,每个厂商都有不同的界面,如果要实现集成,必须有多套分析软件,这在经济和技术上都很难实现。所以我认为,真正的cae必须是专用的软件,一个软件包含设计、分析和优化的全套功能。飞箭有了fepg软件这个平台,可以生成适合企业需求的专业软件。分析和优化飞箭都能做,只是目前还没有和设计结合起来,这需要直接跟企业的设计部门合作实现。这也是飞箭今后的一个发展方向。

梁:

实现并行计算是高性能计算必然的发展趋势。企业所涉及到高性能计算的问题,规模都比较大,比较复杂。单cpu很难满足企业的要求。目前是没有其他办法,只能用单cpu计算,虽然精度差一些,也还在可以接受的误差范围之内,但实际上企业是真正需要并行软件的。现在intel已经推出双核的cpu了,年底就会占到主流市场。从单核到双核的开发周期可能比较长一些,但是以后如果推出4核、甚至更多核,周期就会越来越短。要配合高性能计算,提高cpu时钟的速度是不划算的,发热量太大,功耗也太大,而提高芯片内核就没有这种情况发生。为配合高性能计算,增加内核进行并行计算是必由之路。当然,现在即使推出了双核cpu,还不能做并行计算,因为缺少并行软件。等并行软件这个瓶颈问题解决了,就达到高性能计算的初级阶段了。

记:飞箭提供咨询服务的特色在哪里?和其他也提供咨询服务的cae软件公司的区别在哪里?

企业涉及的数值模拟一般都很复杂,通用软件不可能完全满足企业的需求,企业一般都是需要再做二次开发。国外的企业cae发展水平很高,为了处理好一个产品设计,可能会有专门的研究机构。中国企业在这方面做的还是很不够,没有二次开发的能力。所以一般都是由高校和科研院所来完成。飞箭为企业做咨询,则可以解决这个问题。除去做界面和高性能计算的时间以外,用fepg生成程序是很快的。我们针对企业提供了基于fepg平台的自动生成的程序,在这个基础上根据企业的需求做相应的修改,相当于给企业提供的是专业软件,不需要企业再做二次开发。如果在使用过程中遇到疑难问题,飞箭再提供技术支持。

梁:

记:公司正以其并行有限元软件自动生成技术,向更广、更深的高性能计算软件及咨询服务领域拓展。请就此谈一下飞箭以后的发展方向及发展战略?

今后飞箭将着重发展以下几个方面:

梁:

第一,更加完善有限元自动生成系统。一方面,希望以后能通过跟流体、空气动力学和水利学方面的专家合作,完善流体领域的自动生成技术。另外一方面,在fepg 软件的操作方法上面,我们会做一些改进,增加界面的友好性。用户仍然是需要有基本的专业知识背景,能读懂微分方程和算法,但我们希望能够尽量降低对专业知识的要求,也是为了用户更方便地使用我们的软件。在这方面对系统做的改善不会马上会体现出经济效益,但我们希望通过推广,可以让更多的人更快地学会用有限元的方法解决数值模拟的实际问题,这是一个社会效益。

第二,从技术上来说,我们今后的发展重点在并行计算部分。目前对于一些复杂问题我们还不能够马上解决,还需要完善更多的功能,比如通过增加一些元件程序或者中间件来解决问题等等。

飞箭今后的发展模式是希望能和更多的企业合作。目前飞箭的主要用户还是高等院校,虽然也有一部份企业,但与企业合作的模式主要是咨询业务,基于fepg平台为企业做高性能计算并且做适合该企业的专业软件。但实际上真正对有限元分析软件有需求的还是企业,高校主要还是做研究,企业才有大量需要解决的问题,是真正的用户。以前飞箭都是提供给高校软件,由高校来解决企业的实际应用问题,以后飞箭也希望通过跟高校合作或者直接跟企业沟通,为企业提供非常有针对性的专业软件从而解决他们的实际问题,做到产品设计、模型分析和优化三位一体,实现无缝集成。目前,飞箭的分析和优化比较好,今后也会不断地完善,但是产品设计这部份还是需要企业设计部门来做,通过合作解决设计问题,共同完成一个产品的设计、分析、优化。熟悉这个行业的人都很清楚,要真正做好一个产品设计、模型分析和优化是需要投入很多人力和物力的,工作量非常的大。尽管飞箭有自动生成技术,也还是需要较长的时间来完成。但相对于从头编写程序和修改其他通用有限元软件来说,我们在技术上占据着绝对的优势,为实现理想的cae分析设计开辟一条新的途径。

采访后记

梁国平教授毕生从事有限元分析的研究工作,96年开始创业,至今已经有10个年头了。梁教授目前仍然在中科院数学与系统科学研究院工作,有限元自动生成系统的技术也在逐渐地教授给新一代的年轻硕、博士和工程师,使这一技术得以延续。从wilson教授那吸收的元件化程序设计方法经过梁教授的发展和改进,现已转变成了fepg有限元自动生成系统,并在科研院所和生产实践中得到了很好的实践,相信通过飞箭团队进一步的发展进步,fepg软件将会有一个美好的明天,我们也期待中国自主知识产权的cae分析软件能在激烈的国际竞争中与世界知名软件一争高低!