This paper deals with the implementation of arbitrary precision calculations into the open-source discrete element framework YADE published under the GPL-2+ free software license. This new capability paves the way for the simulation framework to be used in many new fields such as quantum mechanics. The implementation details and associated gains in the accuracy of the results are discussed. Besides the "standard" double (64 bits) type, support for the following high-precision types is added: long double (80 bits), float128 (128 bits), mpfr_float_backend (arbitrary precision) and cpp_bin_float (arbitrary precision). Benchmarks are performed to quantify the additional computational cost involved with the new supported precisions. Finally, a simple calculation of a chaotic triple pendulum is performed to demonstrate the new capabilities and the effect of different precisions on the simulation result.
翻译:本文件涉及对根据GPL-2+免费软件许可证公布的开放源离散元素框架YADE进行任意精确计算的问题。 这种新能力为模拟框架在量子力学等许多新领域使用铺平了道路。 讨论了实施细节和结果准确性的相关收益。 除了“ 标准” 双( 64 位) 类型外, 添加了以下高精度类型支持: 长双( 80 位)、 浮点128 ( 128 位)、 mpfr_ float_ backend ( 任意精确性) 和 cpp_ bin_ float ( 任意精确性) 。 执行基准是为了量化新支持精确性所涉的额外计算成本。 最后, 简单计算混乱的三元, 以显示新能力和不同精度对模拟结果的影响。