基于Matlab的径向基函数数值计算软件包
摘 要:为推动基于无网格方法的计算软件的发展,介绍基于Matlab自主开发的径向基函数(Radial Basis Function,RBF)数值计算软件包,阐述软件的理论基础、设计思路以及该软件包的功能和特点,并结合边界节点法(Boundary Knot Method,BKM)的数值实例给出软件的使用过程. 该软件包可以根据不同的数学物理模型选择合适的数值算法来求解多种实际物理问题,也可对不同数值算法得到的结果进行比较. 最后,总结应用Matlab进行数值计算软件开发的优缺点.
关键词:数值计算; Matlab; 径向基函数; 边界节点法
中图分类号:O241.5; O242; TP311.52
文献标志码:A
Numerical computation software package of
radial basis function based on Matlab
JIANG Xiong, CHEN Wen, CHEN Lin
(Center for Numerical Simulation Software in Eng. & Sci., Hohai Univ., Nanjing 210098, China)
Abstract: To promote the development of computation software on the basis of meshless methods, a numerical software package developed by Matlab based on Radial Basis Function(RBF) is introduced, the theoretical basis, design ideas as well as the functions and features of the package are described, and the usage process is illustrated through a numerical example solved by Boundary Knot Method(BKM). The software package can handle various practical problems by selecting proper numerical algorithms according to different mathematical or physical models. It can also be used to compare the results obtained by different numerical algorithms. Furthermore, the advantages and disadvantages of developing numerical compuation software based on Matlab are discussed in details.
Key words: numerical computation; Matlab; radial basis function; boundary knot method
0 引 言
计算机辅助工程(Computer Aided Engineering,CAE)是个广义概念,它可以包括工程和制造业信息化的所有方面.[1]CAE软件则是1种集现代计算数学和计算力学等学科,相应工程与产品规范及标准以及现代计算机科学与技术于一体的综合性、知识密集型的信息产品.[2]随着科学技术的发展,CAE已经成为工程师和科学家进行科学和技术研究的主要手段之一,并帮助科学家揭示出许多无法或者难以通过物质实验手段获得的科学规律.CAE软件产业作为国家关注的基础性、长期性和前瞻性战略领域[3],在国民经济中具有举足轻重的作用.[4]然而,在我国的CAE软件市场上,国外公司ANSYS,MSC,SAMTECH,DASSAULT,ADINA和Altair占据绝大部分市场份额.国内虽有多家企业和研究机构在支撑自主版权CAE软件的研发工作,但拥有的市场份额非常小.为扭转这一被动局面,建设创新型国家,大力发展和推进我国CAE软件的研发和市场化工作是当前面临的重要课题之一.
区别于有限元等基于网格的传统方法,近十几年来引起广泛关注的无网格方法不需要生成网格单元,能克服传统方法的网格依赖性,并避免因网格畸变而引起的计算困难.[5-7]
根据近似方案和离散方案的不同,无网格方法有很多种.[8-9]基于有限元等传统方法的CAE软件有很多,然而以无网格方法为背景的软件却很少,并且多数还停留在科研层面,其中较为知名的软件有新加坡LIU教授所在课题研究团队开发的侧重于固体力学中应力与应变分析的MFree2D,以及侧重流体力学研究的WaveFace和TransWave等软件;西澳大利亚大学的HORTON所在团队基于伽辽金法结合LS-DYNA开发的应用于医学研究的无网格方法嵌入式软件包;美国Spatial Automation Laboratory研究团队开发的应用于求解热传导和板壳自振问题的The Semi-Analytic Geometry Engine(SAGE).这些软件的问题针对性都比较强,对某类问题的求解良好,但通用性有待进一步研究与开发.
另一方面,用CAE软件开发的编程语言种类繁多,如人们熟知的高级编程语言C,C++,Basic和Fortran等,商业软件通常使用的高级语言有C++和Java等.美国Mathworks公司开发的Matlab,作为新一代计算机语言,集计算、图形可视化和编辑功能于一体,功能强大、操作简便、易于扩充.除内部函数以外,所有的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱.截止到2009年3月,TIOBE编程语言排行榜发布,Matlab排名第22位,受到越来越多研究人员的喜爱.
由于基于径向基函数(Radial Basis Functions,RBF)的强格式无网格方法具有形式简单、编程简易、精度高和收敛迅速等优点[10],综合以上分析,本文介绍利用Matlab开发的RBF数值计算软件包.该软件是这类新型无网格方法的软件化成果,已经获得软件著作权,读者可以从网络上下载使用并参与维护和改善,下载地址为.cn/qkpdf/caee/caee201001/caee20100102.pdf" style="color:red" target="_blank">原版全文
软件的核心算法采用RBF无网格方法,该类方法的核心思想在于利用RBF (r)的线性组合去逼近方程的数值解.如,某实际问题的控制方程为Lu(0871(2010)01-0012-05
摘 要:为推动基于无网格方法的计算软件的发展,介绍基于Matlab自主开发的径向基函数(Radial Basis Function,RBF)数值计算软件包,阐述软件的理论基础、设计思路以及该软件包的功能和特点,并结合边界节点法(Boundary Knot Method,BKM)的数值实例给出软件的使用过程. 该软件包可以根据不同的数学物理模型选择合适的数值算法来求解多种实际物理问题,也可对不同数值算法得到的结果进行比较. 最后,总结应用Matlab进行数值计算软件开发的优缺点.
关键词:数值计算; Matlab; 径向基函数; 边界节点法
中图分类号:O241.5; O242; TP311.52
文献标志码:A
Numerical computation software package of
radial basis function based on Matlab
JIANG Xiong, CHEN Wen, CHEN Lin
(Center for Numerical Simulation Software in Eng. & Sci., Hohai Univ., Nanjing 210098, China)
Abstract: To promote the development of computation software on the basis of meshless methods, a numerical software package developed by Matlab based on Radial Basis Function(RBF) is introduced, the theoretical basis, design ideas as well as the functions and features of the package are described, and the usage process is illustrated through a numerical example solved by Boundary Knot Method(BKM). The software package can handle various practical problems by selecting proper numerical algorithms according to different mathematical or physical models. It can also be used to compare the results obtained by different numerical algorithms. Furthermore, the advantages and disadvantages of developing numerical compuation software based on Matlab are discussed in details.
Key words: numerical computation; Matlab; radial basis function; boundary knot method
0 引 言
计算机辅助工程(Computer Aided Engineering,CAE)是个广义概念,它可以包括工程和制造业信息化的所有方面.[1]CAE软件则是1种集现代计算数学和计算力学等学科,相应工程与产品规范及标准以及现代计算机科学与技术于一体的综合性、知识密集型的信息产品.[2]随着科学技术的发展,CAE已经成为工程师和科学家进行科学和技术研究的主要手段之一,并帮助科学家揭示出许多无法或者难以通过物质实验手段获得的科学规律.CAE软件产业作为国家关注的基础性、长期性和前瞻性战略领域[3],在国民经济中具有举足轻重的作用.[4]然而,在我国的CAE软件市场上,国外公司ANSYS,MSC,SAMTECH,DASSAULT,ADINA和Altair占据绝大部分市场份额.国内虽有多家企业和研究机构在支撑自主版权CAE软件的研发工作,但拥有的市场份额非常小.为扭转这一被动局面,建设创新型国家,大力发展和推进我国CAE软件的研发和市场化工作是当前面临的重要课题之一.
区别于有限元等基于网格的传统方法,近十几年来引起广泛关注的无网格方法不需要生成网格单元,能克服传统方法的网格依赖性,并避免因网格畸变而引起的计算困难.[5-7]
根据近似方案和离散方案的不同,无网格方法有很多种.[8-9]基于有限元等传统方法的CAE软件有很多,然而以无网格方法为背景的软件却很少,并且多数还停留在科研层面,其中较为知名的软件有新加坡LIU教授所在课题研究团队开发的侧重于固体力学中应力与应变分析的MFree2D,以及侧重流体力学研究的WaveFace和TransWave等软件;西澳大利亚大学的HORTON所在团队基于伽辽金法结合LS-DYNA开发的应用于医学研究的无网格方法嵌入式软件包;美国Spatial Automation Laboratory研究团队开发的应用于求解热传导和板壳自振问题的The Semi-Analytic Geometry Engine(SAGE).这些软件的问题针对性都比较强,对某类问题的求解良好,但通用性有待进一步研究与开发.
另一方面,用CAE软件开发的编程语言种类繁多,如人们熟知的高级编程语言C,C++,Basic和Fortran等,商业软件通常使用的高级语言有C++和Java等.美国Mathworks公司开发的Matlab,作为新一代计算机语言,集计算、图形可视化和编辑功能于一体,功能强大、操作简便、易于扩充.除内部函数以外,所有的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱.截止到2009年3月,TIOBE编程语言排行榜发布,Matlab排名第22位,受到越来越多研究人员的喜爱.
由于基于径向基函数(Radial Basis Functions,RBF)的强格式无网格方法具有形式简单、编程简易、精度高和收敛迅速等优点[10],综合以上分析,本文介绍利用Matlab开发的RBF数值计算软件包.该软件是这类新型无网格方法的软件化成果,已经获得软件著作权,读者可以从网络上下载使用并参与维护和改善,下载地址为.cn/qkpdf/caee/caee201001/caee20100102-1.pdf" style="color:red" target="_blank">原版全文