×

我被卡住了!如何有效地调试计算实体力学模型,以便您可以享受模拟的美妙。 (英语) Zbl 1504.74079号

总结:计算建模人员致力于开发模型的时间中,有相当一部分实际上是花在解决问题和调试代码上的。然而,这个过程是如何展开的却很少被提及,可能是因为它很难表达,因为它主要依赖于我们根据过去的失败经验建立的心理目录。为了帮助材料建模领域的新手,我们试图填补这一空白,并就如何识别和修复计算实体力学模型中的错误提供一个视角。
为此,我们描述了构成这种模型的组件,然后确定可能的错误源。实际上,通过考虑症状出了什么问题。因此,我们根据观察结果和观察到的错误的常见原因目录,提供了缩小模型中问题所在位置的策略。在最后一节中,我们还讨论了考虑到计算模型通常处于持续开发阶段,如何使一次性无错误模型保持无错误。
我们希望,这些方法和建议的集合可以作为一张“路线图”,用于发现和修复计算模型中的错误,更重要的是,保持问题得到解决,以便建模者能够享受材料建模和仿真的美妙。

MSC公司:

74S99型 固体力学中的数值方法和其他方法
74A99型 固体连续介质力学的一般性、公理学和基础
74-04 可变形固体力学相关问题的软件、源代码等
74-10 可变形固体力学问题的数学建模或模拟
00安培72 模拟的一般理论
00A71号 数学建模的一般理论
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Ahrens,J.P。;Geveci,B。;Law,C.C.,《ParaView:大数据可视化的最终用户工具》,(Hansen,C.D.;Johnson,C.R.,《可视化手册》(2005),Butterworth-Heinemann),717-731,URLhttps://www.paraview.org
[2] 阿梅斯托,P。;达夫,I。;L'Excellent,J.-Y.,多前沿并行分布对称和非对称解算器,计算。方法应用。机械。工程,184,501-520(2000)·Zbl 0956.65017号
[3] 安德森,R。;安德烈·J。;巴克,A。;Bramwell,J。;卡米尔,J.-S。;杜布雷夫,J.C.V。;Y.杜杜伊特。;费希尔,A。;科列夫,T。;Pazner,W。;斯托维尔,M。;托莫夫,V。;阿克曼,I。;Dahm,J。;麦地那,D。;Zampini,S.,MFEM:模块化有限元方法库,计算。数学。申请。,81, 42-74 (2021) ·Zbl 1524.65001号
[4] 苹果公司,R.,Xcode IDE(2022),URLhttps://developer.apple.com/xcode/features网站/
[5] 阿恩特,D。;班杰斯,W。;费德,M。;费林,M。;Gassmöller,R。;Heister,T。;赫尔泰。;Kronbichler,M。;迈尔,M。;蒙奇,P。;佩尔特,J.-P。;Sticko,S。;Turcksin,B。;Wells,D.,The library,9.4版,J.Numer。数学。(2022),网址https://dealii.org/deal94-preprint.pdf,已接受·Zbl 07590497号
[6] 巴莱,S。;Abhyankar,S。;M.F.亚当斯。;Benson,S。;Brown,J。;布鲁纳,P。;Buschelman,K。;Constantinescu,E.M。;达尔星。;Dener,A。;埃伊霍特,V。;格罗普,W.D。;哈普拉,V。;Isaac,T。;Jolivet,P。;卡佩夫,D。;考希克,D。;Knepley,M.G。;Kong,F。;克鲁格,S。;May,D.A。;McInnes,L.C.公司。;Mills,R.T。;米切尔,L。;蒙森,T。;罗曼,J.E。;鲁普,K。;萨南,P。;萨里奇,J。;B.F.史密斯。;扎皮尼,S。;张,H。;张,H。;Zhang,J.,PETSc网页(2022),URLhttps://petsc.org/
[7] 巴莱,S。;Abhyankar,S。;M.F.亚当斯。;Benson,S。;Brown,J。;布鲁纳,P。;Buschelman,K。;Constantinescu,E。;达尔星。;Dener,A。;埃伊霍特,V。;格罗普,W.D。;哈普拉,V。;Isaac,T。;Jolivet,P。;卡佩夫,D。;考希克,D。;Knepley,M.G。;Kong,F。;克鲁格,S。;May,D.A。;McInnes,L.C.公司。;Mills,R.T。;米切尔,L。;蒙森,T。;罗曼,J.E。;鲁普,K。;萨南,P。;萨里奇,J。;B.F.史密斯。;扎皮尼,S。;张,H。;张,H。;Zhang,J.,PETSc/TAO用户手册(2022),阿贡国家实验室
[8] 巴雷特·R。;贝里,M。;Chan,T.F。;德梅尔,J。;J.多纳托。;Dongarra,J。;埃伊霍特,V。;波佐,R。;罗明,C。;van der Vorst,H.,《线性系统解的模板:迭代方法的构建块》(1994),工业和应用数学学会
[9] Bauer,C。;弗林克,A。;Kreckel,R.,《C++编程语言中符号计算的GiNaC框架简介》,J.符号计算。,33,1,1-12(2002年)·Zbl 1017.68163号
[10] Catch Org,C.,Catch 2(2022),网址https://github.com/catchorg/Catch2
[11] 乔提克,O。;费尔南多,I。;加格,S。;Rathnayake,T.,SymEngine:一个快速符号操作库(2013),URLhttps://github.com/symengine/symengine
[12] Chacon,S。;Straub,B.,Pro Git(2014),《Springer Nature》
[13] Childs,H。;布鲁格,E。;惠特洛克,B。;梅雷迪斯,J。;埃亨,S。;Pugmire,D。;比亚加斯,K。;米勒,M.C。;哈里森,C。;韦伯,G.H。;Krishnan,H。;Fogal,T。;Sanderson,A。;加思,C。;Bethel,E.W。;D.坎普。;鲁贝尔,O。;杜兰特,M。;法夫尔,J.M。;Navratil,P.,《访问:可视化和分析超大数据的最终用户工具》(2012),网址https://visit.llnl.gov网址
[14] Davis,T.A.,《算法832:UMFPACK V4.3-非对称模式多前沿方法》,ACM Trans。数学。软件,30,196-199(2004)·Zbl 1072.65037号
[15] Fenlason,J.,GNU gprof(2022),网址https://sourceware.org/binutils/docs/gprof/
[16] 费兰迪兹,V.M。;巴彻,P。;Zorrilla,R。;罗西,R。;圣科特拉。;公元前Velázquez。;Celigueta,硕士。;J.玛丽亚。;tteschemacher,C。;罗格,C。;miguelmaso,H。;卡萨斯,G。;Warnakulasuriya,S。;努涅斯,M。;Dadvand,P。;拉托雷,S。;普瓦拉纳,I。;J.I.González。;阿鲁法特,F。;里卡多托西,P。;Ghantasala,A。;威尔逊,P。;AFranci,R.T。;dbaumgaertner,L。;钱德拉,B。;盖泽,A。;Sautter,K.B。;洛佩兹,I。;尤伊斯,J。;Gárate,J.,《KratosMultiphysics/Kratos:第9.1.4版》(2022年)
[17] Fike,J.A。;Alonso,J.J.,《精确二阶导数计算超双数的发展》,(第49届美国航空航天协会航空科学会议,包括新视野论坛和航空航天博览会(2011年),美国航空航天研究所),886
[18] Fowler,M.(重构:改进现有代码的设计(2018),Addison-Wesley)
[19] Git项目,M.,Git(2022),URLhttps://git-scm.com/
[20] 谷歌,M.,谷歌测试(2022),URLhttps://google.github.io/googletest/
[21] Griewank,A。;朱德斯,D。;Utke,J.,《算法755:ADOL-C:用C/C++编写的算法的自动区分包》,ACM Trans。数学。软件,22,2,131-167(1996)·Zbl 0884.65015号
[22] Gruber,T。;Eitzinger,J。;海格·G。;Wellein,G.,LIKWID(2022年)
[23] Heaptrack Developers,T.,Heaptrack(2022),网址https://invent.kde.org/sdk/heaptrack
[24] Heroux,医学硕士。;Bartlett,R.A。;豪尔,V.E。;霍克斯特拉,R.J。;胡,J.J。;科尔达·T·G。;Lehoucq,R.B。;Long,K.R。;Pawlowski,R.P。;Phipps,E.T。;塞林格,A.G。;香港桑奎斯特。;杜米纳罗,R.S。;Willenbring,J.M。;威廉姆斯。;Stanley,K.S.,Trilinos项目概述,ACM Trans。数学。软件,31397-423(2005)·Zbl 1136.65354号
[25] 辛德马什,A.C。;Brown,P.N。;格兰特,K.E。;Lee,S.L。;塞尔维亚人,R。;Shumaker,D.E。;Woodward,C.S.,SUNDIALS:非线性和微分/代数方程求解器套件,ACM Trans。数学。软件,31,3,363-396(2005)·Zbl 1136.65329号
[26] Hughes,T.J.,《有限元法:线性静态和动态有限元分析》(2000年),Dover Publications Inc.:Dover Publications Inc.,美国纽约·Zbl 1191.74002号
[27] Intel Corporation,T.J.,Intel oneapi线程构建块(2022),URLhttps://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.html#gs.au4jel
[28] Intel Developer Products,T.J.,VTune探查器(2022),URLhttps://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html#gs.gf4no5
[29] Jelinek,M。;Mahaffy,J.,《制备溶液的方法》。总结(2007年),宾夕法尼亚州立大学应用研究实验室https://www.personal.psu.edu/jhm/ME540/lectures/VandV/MMS_summary.pdf
[30] Kelley,C.T.,用牛顿法求解非线性方程(2003),工业和应用数学学会·Zbl 1031.65069号
[31] 柯克,B.S。;彼得森,J.W。;Stogner,R.H。;Carey,G.F.,:并行自适应网格细化/粗化模拟的C++库,工程计算。,22, 3-4, 237-254 (2006)
[32] Kitware、B.S.、CTest(2022)、URLhttps://cmake.org/cmake/help/latest/manual/ctest.1.html
[33] 马萨,S.A。;埃利斯,B.J。;Ateshian,G.A。;Weiss,J.A.,FEBio:生物力学有限元,J.Biomech。工程,134,1,1-10(2012)
[34] Maplesoft,滑铁卢枫叶公司的一个部门,S.a.,枫叶(2019),URLhttps://www.maples.com/products/Maple网站/
[35] 消息传递接口论坛,S.A.,MPI:消息传递接口标准版本4.0(2021),URLhttps://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf
[36] Meurer,A。;史密斯,C.P。;Paprocki,M。;乔提克,O。;Kirpichev,S.B。;Rocklin,M。;库马尔,A。;伊万诺夫,S。;摩尔,J.K。;辛格,S。;Rathnayake,T。;Vig,S.等人。;格兰杰,B.E。;穆勒,R.P。;Bonazzi,F。;古普塔,H。;增值税,S。;约翰逊,F。;佩德雷戈萨,F。;柯里,M.J。;Terrel,A.R。;鲁契卡,v。;Saboo,A。;费尔南多,I。;库拉尔,S。;Cimrman,R。;Scopatz,A.,Sympy:Python中的符号计算,PeerJ Comput。科学。,3,第103条pp.(2017)
[37] Microsoft,A.,Visual studio代码(2022),URLhttps://code.visualstudio.com
[38] Miehe,C.,梯度扩展标准耗散固体的多场增量变分框架,J.Mech。物理学。固体,59,4898-923(2011)·Zbl 1270.74022号
[39] Miehe,C。;基弗,B。;Rosato,D.,《宏观连续水平耗散磁致伸缩的增量变分公式》,《国际固体结构杂志》。,48, 13, 1846-1866 (2011)
[40] Mielke,A.,使用GENERIC的热弹性耗散材料行为的公式,Contin。机械。热电偶。,23, 3, 233-256 (2011) ·Zbl 1272.74137号
[41] 美国国家专业工程师协会,A.,NSPE工程师道德规范(2022),URLhttps://www.nspe.org/resources/ethics/code-ethics
[42] NETL多相流科学团队,A.,2。制造解决方案方法(MMS)(2020),URLhttps://mfix.netl.doe.gov/doc/vvoq-manual/main/html/ms/index.html
[43] Nocedal,J。;Wright,S.J.,(数值优化(2006),纽约斯普林格出版社)·Zbl 1104.65059号
[44] 菲普斯,E。;Pawlowski,R.,《基于运算符重载的自动微分的高效表达式模板》,(Forth,S.;Hovland,P.;Phipps,E.;Utke,J.;Walther,A.,《算法微分的最新进展》,计算科学与工程讲义,第73卷(2012),施普林格柏林-海德堡:施普林格-柏林-海德堡-柏林,海德堡),309-319,arXiv:12053506v1·Zbl 1252.65057号
[45] Qt Group,E.,Qt Creator(2022),URLhttps://www.qt.io/product/development-tools
[46] Roache,P.J.,《代码验证的制造解决方案方法》,(计算机模拟验证:基本概念、方法框架和哲学观点(2019年),施普林格国际出版公司),295-318
[47] Saad,Y.,(稀疏线性系统的迭代方法(2003年),工业和应用数学学会:美国宾夕法尼亚州费城工业与应用数学学会)·Zbl 1002.65042号
[48] 萨拉里,K。;Knupp,P.,通过制造溶液的方法进行代码验证(2000年),桑迪亚国家实验室(SNL),URLhttp://www.osi.gov/servlets/purl/759450-wLI4Ux/native网站/
[49] Sansour,C.,《关于体积等容分裂和各向异性情况下的物理假设》,Eur.J.Mech。A固体,27,1,28-39(2008)·Zbl 1129.74009号
[50] Schöberl,J.,《ngsolve中有限元的C++11实现》(2014),维也纳理工大学分析与科学计算研究所,URL网址:http://www.asc.tuwien.ac.at/schoeberl/wiki/publications/ngs-cpp11.pdf
[51] 斯克洛格斯,M.W。;巴拉塔,I.A。;C.N.理查森。;Wells,G.N.,Basix:运行时有限元基础评估库,J.开源软件。,7,733982(2022)
[52] 苏利文,C.B。;Kaszynski,A.,PyVista:通过可视化工具包(VTK)的流线型界面进行3D绘图和网格分析,J.开源软件。,4、37、1450(2019),网址https://www.pyvista.org网站
[53] Eclipse基金会,C.B.,Eclipse IDE(2022),URLhttps://eclipseide.org
[54] The GDB Developers,C.B.,GDB:GNU项目调试器(2022),URLhttps://sourceware.org/gdb网站/
[55] LLDB团队,C.B.,LLDB调试器(2022),URL网址:https://lldb.llvm.org
[56] Trilinos项目团队,C.B.,The Trilinos项目网站(2022),https://trilinos.github.io/
[57] Turcksin,B。;Heister,T。;Bangerth,W.,《克隆与嫁接:构建时的科学应用测试》(2015),arXiv电子版,1508.07231
[58] Valgrind Developers,B.,瓦尔grind(2022),网址网址:https://valgrind.org
[59] van Heesch,D.,Doxygen(2022),网址https://doxygen.nl/index.html
[60] Wilson,G。;Aruliah,D.A。;Brown,C.T。;Chue Hong,N.P。;Davis,M.博士。;盖伊,R.T。;哈多克,S.H.D。;赫夫,K.D。;米切尔,I.M。;Plumbley,医学博士。;Waugh,B。;怀特,E.P。;Wilson,P.,科学计算最佳实践,《公共科学图书馆·生物学》。,12, 1 (2014)
[61] Wilson,G。;布莱恩,J。;克兰斯顿,K。;Kitzes,J。;Nederbragt,L。;Teal,T.K.,《科学计算的良好实践》,《公共科学图书馆·计算》。生物学,13,6,文章e1005510 pp.(2017)
[62] Wolfram Research,Inc.,G.,Mathematica(2022),网址https://www.wolfram.com/mathematica网址
[63] 齐恩基维茨,O.C。;Taylor,R.L.,《固体和结构力学的有限元方法》(2005),巴特沃斯·海尼曼·Zbl 1084.74001号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。