CCF的计算机辅助设计与图形学专委会在去年10月份颁发了一个“图形开源奖”,获奖的是太极编程语言。不过这不是重点,我们关注的是其中一个获得提名的项目叫做《非线性等几何分析开源软件(NLIGA)》,来自北航的杜孝孝博士等相关学者。这个项目的研究成果也在去年4月份发表在CCF推荐的计算机图形方面的国际B类期刊《COMPUTER AIDED GEOMETRIC DESIGN》(SCI),相关的成果文件和代码也进行了开源。
非线性等几何分析开源软件(NLIGA)主要为研究人员提供了线性和非线性问题等几何求解的通用框架。目前功能主要有:
NLIGA提供了大量的标准算例求解代码(包括泊松问题、板壳问题、平面和实体问题等方面),并将计算结果与精确解进行了对比验证;
NLIGA提供了包括超弹性和弹塑性材料模型的非线性等几何分析求解方法,部分算例的计算结果与商业软件进行了对比;
NLIGA提供了自包含的CAD模型前处理和后处理方法,可以对等几何分析计算结果包括位移、应力、计算误差等进行可视化。
项目中采用与现有传统有限元分析的不同方法,也就是将CAD领域适于模型几何描述的NURBS基函数用于有限元计算中节点位移,应力应变等物理量的逼近,直白一点就是两者选用形函数不同。对于非线性问题的求解,主要采用常用的牛顿-拉普森的数值计算方法。下面是它的基本的算法思路,首先进行网格划分,接下来设置基本的边界和初始输入,然后通过迭代计算完成求解过程。目前项目整体完成的部分如图所示,其中黄色填充的矩形域为已经完成的内容,后面虚线框为相应的进一步解释说明。灰色填充的矩形域为未来需要继续完善的内容。从计算的算例结果可以看出,简单的一些常规计算精度还是非常不错的,与目前传统且成熟的有限元分析方法对比基本一模一样。
以上是一个技术分享,其实现在大家都意识到自主工业软件的重要性,虽然并非什么都得自己做,但是关键时候必须有一个可替代的东西。那么对于希望往工业软件、制造业数字化方面进行职业发展的朋友,这块学习还是很有帮助的,先从这些已有的研究内容学习起吧,共勉。