This paper introduces JAX-FEM, an open-source differentiable finite element method (FEM) library. Constructed on top of Google JAX, a rising machine learning library focusing on high-performance numerical computing, JAX-FEM is implemented with pure Python while scalable to efficiently solve problems with moderate to large sizes. For example, in a 3D tensile loading problem with 7.7 million degrees of freedom, JAX-FEM with GPU achieves around 10$\times$ acceleration compared to a commercial FEM code depending on platform. Beyond efficiently solving forward problems, JAX-FEM employs the automatic differentiation technique so that inverse problems are solved in a fully automatic manner without the need to manually derive sensitivities. Examples of 3D topology optimization of nonlinear materials are shown to achieve optimal compliance. Finally, JAX-FEM is an integrated platform for machine learning-aided computational mechanics. We show an example of data-driven multi-scale computations of a composite material where JAX-FEM provides an all-in-one solution from microscopic data generation and model training to macroscopic FE computations. The source code of the library and these examples are shared with the community to facilitate computational mechanics research.
翻译:本文介绍开放源码差异化元素(FEM)库JAX-FEM。 在Google JAX(一个不断升级的机器学习图书馆,重点是高性能数字计算)的顶端, JAX-FEM 使用纯Python 实施,同时可升级,以有效解决中大尺寸的问题。例如,在3D抗拉加载问题(770万度自由度)中,JAX-FEM 与GPU 的JAX-FEM 相比, 与平台上的商业FEM 代码相比, 加速了约10美元。除了高效解决远期问题之外, JAX-FEM 使用自动区分技术,使反向问题完全自动解决,而无需人工生成敏感度。 演示了非线性材料的3D地形优化,以达到最佳的合规性。 最后, JAX-FEM 是机器学习辅助计算机械力的综合平台。我们展示了一个数据驱动多尺度计算材料的示例,其中,JAX-FEM提供了从微科数据库生成的全方位解决方案模型模型模型,这些模型的模型的模型的模型的模型的模型的模型模拟模型的模型的模型的模型的模型的模型和模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型和模型的模型和模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型和模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型和模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的模型的