大学里只教学生有限元方法,很少教学生编写有限元程序,学生只学方法,缺乏编程及计算有限元问题的能力。理工科的大学生毕业后很难采用有限元方法来解决实际问题,实际工作能力大受影响,即使是硕士研究生或博士研究生毕业后,要编制一个能够解决实际问题的程序,往往也得花一年或几年时间,这远远不能适应工作的需要。
FEPG(有限元程序自动生成系统)为我国自主知识产权的开放的数值计算平台。它采用组件化程序设计方法和人工智能技术,根据有限元/有限体积方法统一的数学原理和内在规律,以类似于数学公式推理的方式,通过填写各种数学物理微分方程和算法表达式,自动产生用户所需的有限元计算源程序。不仅使大型数值计算的编程效率提高一个数量级以上,并可广泛适用于各个领域,使很多复杂的工程和科学计算问题得以快速、低成本的解决。
作为国内有限元软件的先锋,FEPG已经在广泛应用于固体、流体、传热、电磁、材料、化工等学科,并且在地质构造动力学、形状记忆金属、地震波传播、石油开采、地质勘探、复合材料加工、地下洞室与厂房设计、水坝稳定性分析、电机分析设计、电磁兼容、芯片与压电材料分析等实际研究工作中取得了丰硕的成果。高性能并行版本的出现更扩展了FEPG在实际工程应用的空间,使得复杂的高性能计算与单机的分析一样轻松简单。
有限元程序自动生成系统是中国科学院数学与系统科学研究院梁国平研究员潜心研究二十多年首创的用计算机自动生成程序的系统。任何领域的使用者如果熟悉了该系统,只要输入有限元所需的数学表达式,就可产生全部有限元程序,包括前处理程序、单元子程序、算法程序及后处理程序,从而把广大工程师和科学家从繁琐复杂的编程劳动中解放出来。该程序获国家科技进步二等奖,目前已在国内 200 多个单位和国外十多个国家推广应用,取得了一批重大成果。
众所周知,一个完整的有限元程序系统,通常由单元子程序和算法程序组成,前者取决于模型的控制方程(组),因此一个系统内有多少控制方程,就有多少单元子程序,编写单元子程序是有限元系统的主要工作量。有限元程序编制在过去是靠程序员一句一句写下来的。一个有限元程序往往达到数千句,出错误实在难免,查错误也不易。使用FEPG系统,可以高效地编程,查错纠错也方便。主要原因在于,利用FEPG编程,不必一句一句地写FORTRAN程序,只要按照要求填写一个大约20行~30行的文件(名为GES文件,立即生成单元子程序文件),就可由计算机生成大约200句~300句的FORTRAN程序,完成单元子程序的编写工作。很显然,阅读、修改一个20行~30行的文件要比直接操作一个200句~300句的文件容易得多。这是FEPG系统高效率工作的原因。
利用FEPG系统编制的有限元程序是非常精炼的。FEPG系统提出了有限元语言,对各阶导数有了像普通计算机语言中加、减、乘、除那样的表示法。因此很短的有限元信息文件可以生成很长的FORTRAN语言程序。利用FEPG系统编程不必建立一个庞大的单元,大大节省计算机的硬盘空间。FEPG系统实现了内存动态分配,可以最大限度地利用内存资源。由于FEPG系统按需要生成程序,容易得到高精度的计算结果。