I’m stuck! How to efficiently debug computational solid mechanics models so you can enjoy the beauty of simulations

I’m stuck! How to efficiently debug computational solid mechanics models so you can enjoy the beauty of simulations
复制标题

我被困住了!

DOI:
10.1016/j.euromechsol.2022.104845
复制
发表时间:
2023
期刊:
European Journal of Mechanics - A/Solids
影响因子:
--
通讯作者:
Bangerth, Wolfgang
Bangerth, Wolfgang
中科院分区:
--
文献类型:
--
作者:
Comellas, Ester;Pelteret, Jean-Paul;Bangerth, Wolfgang

文献摘要

相似文献

计算建模者用于开发模型的大部分时间实际上都花在了故障排除和代码调试上。然而,这个过程是如何展开的很少被谈论,也许是因为它很难清晰地表达出来,因为它主要依赖于我们用过去失败的经验建立起来的心理目录。为了帮助材料建模领域的新手,我们试图填补这一空白,并提供如何识别和修复计算固体力学模型中的错误的观点。为了达到这个目的,我们描述了组成这样一个模型的组件,然后识别可能的错误来源。在实践中,通过考虑问题的症状来发现错误通常会更好。因此,我们根据观察和观察到的错误的常见原因的目录,提供策略来缩小模型中可能出现问题的位置。在最后一节中,我们还讨论了考虑到计算模型通常处于持续开发状态,如何使一次性无bug的模型保持无bug。我们希望这些方法和建议的集合可以作为发现和修复计算模型错误的“路线图”,更重要的是,让问题得到解决,以便建模者可以享受材料建模和仿真的美丽。
A substantial fraction of the time that computational modellers dedicate to developing their models is actually spent trouble-shooting and debugging their code. However, how this process unfolds is seldom spoken about, maybe because it is hard to articulate as it relies mostly on the mental catalogues we have built with the experience of past failures. To help newcomers to the field of material modelling, here we attempt to fill this gap and provide a perspective on how to identify and fix mistakes in computational solid mechanics models. To this aim, we describe the components that make up such a model and then identify possible sources of errors. In practice, finding mistakes is often better done by considering thesymptomsof what is going wrong. As a consequence, we provide strategies to narrow down where in the model the problem may be, based on observation and a catalogue of frequent causes of observed errors. In a final section, we also discuss how one-time bug-free models can be kept bug-free in view of the fact that computational models are typically under continual development. We hope that this collection of approaches and suggestions serves as a “road map” to find and fix mistakes in computational models, and more importantly, keep the problems solved so that modellers can enjoy the beauty of material modelling and simulation.