×

gridap的软件设计:基于Julia JIT编译器的有限元软件包。 (英语) Zbl 1516.65162号

总结:我们介绍了Gridap的软件设计,Gridap是一个专门用Julia编程语言编写的新型有限元库,世界各地的几个研究小组正在使用它来模拟复杂的物理现象,如磁流体力学、光子学、天气建模、非线性固体力学、,以及流体-结构相互作用问题。该库提供了一套功能丰富的离散化技术,用于偏微分方程(PDE)控制的各种数学模型的数值逼近,包括线性、非线性、单场和多场方程。一个富有表现力的API允许用户通过接近数学符号的语法来定义弱形式的偏微分方程。虽然这在以前的框架中也可用,但Gridap的主要新奇之处在于它实现了这个API,而没有引入特定于域的语言和可变形式的编译器。相反,它利用Julia实时编译器构建高效的代码,专门用于处理手头的具体问题。因此,不再需要为计算后端和用户前端使用不同的语言,从而消除了所谓的双语问题。Gridap还提供了一个低级API,该API是模块化的,可以通过Julia的多数据块范式进行扩展,并且如果需要,可以轻松访问库的主要构建块。本文的主要贡献是详细介绍了Gridap设计背后的新型软件抽象,它利用了Julia语言提供的新软件可能性。本文的第二个主要贡献是与FEniCS的性能比较。我们测量了针对不同问题类型组装线性方程离散系统所需的CPU时间,并表明Gridap的性能与FEniCS相当,证明了新的软件设计不会影响性能。Gridap在Github免费提供(https://github.com/gridap/gridap.jl)并根据麻省理工学院的许可证分发。

MSC公司:

65岁15岁 数值算法的封装方法
65N30型 含偏微分方程边值问题的有限元、Rayleigh-Ritz和Galerkin方法
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] 班杰斯,W。;哈特曼,R。;Kanschat,G.,ACM翻译。数学。软质。,33, 24 (2007) ·Zbl 1365.65248号
[2] 巴迪亚,S。;马汀,A.F。;普林西比,J.,Arch。计算。方法工程,25,195-271(2018)·Zbl 1392.65005号
[3] 卡兹马克(Kaczmarczyk)。;Z.乌拉。;Lewandowski,K。;X孟。;周晓云。;阿萨纳西亚迪斯,I。;Nguyen,H。;Chalons Mouriesse,C.-A。;Richardson,E。;E.缪尔。;Shvarts,A。;Wakeni,M。;Pearce,C.,J.开源。软质。,5, 1441 (2020)
[4] Logg,A。;威尔斯,G.N.,ACM Trans。数学。软质。,37, 20 (2010) ·Zbl 1364.65254号
[5] Rathgeber,F。;Ham,D.A。;米切尔,L。;兰格,M。;卢波里尼,F。;麦克雷,A.T。;Bercea,G.T。;Markall,G.R。;Kelly,Paul H.J.,ACM翻译。数学。软质。,43, 24 (2016)
[6] (2021),自由有限元++
[7] 柯比,R.C。;Logg,A.,ACM事务处理。数学。软质。,32, 417-444 (2006)
[8] 巴迪亚,S。;Verdugo,F.,J.开源。软质。,5, 2520 (2020)
[9] Bezanson,J。;Edelman,A。;卡宾斯基,S。;Shah,V.B.,SIAM版本,59,65-98(2017)·Zbl 1356.68030号
[10] 邓宁,I。;哈切特,J。;Lubin,M.,SIAM版本,59,295-320(2017)·Zbl 1368.90002号
[11] Rackauckas,C。;聂,Q.,J.Open Res.Softw。,5, 15 (2017)
[12] Innes,M.,J.开源。软质。,3, 602 (2018)
[13] Revels,J。;鲁宾,M。;Papamarkou,T.(2016)
[14] 丹尼斯,S。;Krumbiegel,J.,开放研究软件杂志。,63349(2021)
[15] (2021年),FinEtools
[16] Frondelius,T。;Aho,J.,Raken。墨西哥。,50, 229-233 (2017)
[17] (2021),铁素体
[18] (2021年),FillArrays
[19] Khan,K.A。;巴顿,P.I.,Optim。方法软件。,30, 1185-1212 (2015) ·兹伯利1329.49023
[20] Ciarlet,P.G.,班级。申请。数学。,40, 1-511 (2002)
[21] 基兰,美国。;Gautam,S.S。;Sharma,D.,《计算》,1021941-1965(2020)·Zbl 1515.65278号
[22] (2021),Gridap教程
[23] Johnson,C.,《用有限元法求解偏微分方程》(2009),多佛出版社·Zbl 1191.65140号
[24] Geuzaine,C。;Remacle,J.-F.,《国际数学家杂志》。方法工程,79,1309-1331(2009)·Zbl 1176.74181号
[25] (2021年),GridapGmsh
[26] Davis,T.A.,ACM Trans.公司。数学。软质。,30, 196-199 (2004) ·Zbl 1072.65037号
[27] 巴莱,S。;Abhyankar,S。;M.F.亚当斯。;Brown,J。;布鲁纳,P。;Buschelman,K。;达尔星。;Dener,A。;埃伊霍特,V。;格罗普,W。;卡佩耶夫,D。;考希克,D。;Knepley,M。;D.梅。;McInnes,L.C.公司。;米尔斯,R。;Munson,T。;鲁普,K。;萨南,P。;B.史密斯。;扎皮尼,S。;张,H。;Zhang,H.,《PETSc用户手册》(2018年),阿贡国家实验室,技术报告ANL-95/11-第3.10版
[28] (2021年),GridapPardiso
[29] (2021年),GridapPETSc
[30] 布雷齐,F。;Fortin,M.,《混合和混合有限元方法》(1991),纽约斯普林格出版社:纽约斯普林格出版社·Zbl 0788.7302号
[31] Schlömer,N.,meshio v5.0.0(5.0.0版),Zenodo(2021年8月6日)
[32] 巴迪亚,S。;颜色,O。;Verdugo,F.,GridapODEs v0.7.0(版本0.7.0),Zenodo(2021年9月21日)
[33] 马丁·A·F。;弗杜戈,F。;Badia,S.,GridapDistributed版本0.2.5(版本0.2.5),Zenodo(2022年2月14日)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。