论文标题
JUSFEM:用于弹性问题的平行平滑有限元方法(S-FEM)的基于朱莉娅的开源包
juSFEM: A Julia-based Open-source Package of Parallel Smoothed Finite Element Method (S-FEM) for Elastic Problems
论文作者
论文摘要
Liu G.R.提出的平滑有限元法(S-FEM)比常规FEM可以取得更准确的结果。当前,已经开发了许多商业软件和许多开源软件包,用于使用FEM分析各种科学和工程问题。但是,很少有工作重点是为S-FEM设计和开发软件或软件包。在本文中,我们通过在多核CPU上利用朱莉娅语言来设计和实施并行S-FEM的开源软件包,以解决弹性问题。朱莉娅语言是一种快速,易于使用和开源的编程语言,最初是为高性能计算而设计的。我们将包裹称为Jusfem。据作者所知,Jusfem是使用Julia语言开发的第一个并行S-FEM的软件包。为了验证正确性并评估JUSFEM的效率,进行了两组基准测试。基准结果表明,与商业FEM软件Abaqus相比,(1)JUSFEM可以实现准确的结果,(2)JUSFEM仅需要543秒即可计算3D弹性悬臂式梁模型的位移,该模型由大约200万个四面体元素组成,而相比之下,商业fem需要930秒的计算模型。 (3)在24核CPU上执行的并行JUSFEM比相应的串行版本快20倍。此外,JusFEM的结构和功能很容易模块化,Jusfem中的代码清晰可读,这对于进一步的开发很方便。
The Smoothed Finite Element Method (S-FEM) proposed by Liu G.R. can achieve more accurate results than the conventional FEM. Currently, much commercial software and many open-source packages have been developed to analyze various science and engineering problems using the FEM. However, there is little work focusing on designing and developing software or packages for the S-FEM. In this paper, we design and implement an open-source package of the parallel S-FEM for elastic problems by utilizing the Julia language on multi-core CPU. The Julia language is a fast, easy-to-use, and open-source programming language that was originally designed for high-performance computing. We term our package as juSFEM. To the best of the authors knowledge, juSFEM is the first package of parallel S-FEM developed with the Julia language. To verify the correctness and evaluate the efficiency of juSFEM, two groups of benchmark tests are conducted. The benchmark results show that (1) juSFEM can achieve accurate results when compared to commercial FEM software ABAQUS, and (2) juSFEM only requires 543 seconds to calculate the displacements of a 3D elastic cantilever beam model which is composed of approximately 2 million tetrahedral elements, while in contrast the commercial FEM software needs 930 seconds for the same calculation model; (3) the parallel juSFEM executed on the 24-core CPU is approximately 20x faster than the corresponding serial version. Moreover, the structure and function of juSFEM are easily modularized, and the code in juSFEM is clear and readable, which is convenient for further development.