如何检查使用scipy中的ODE求解器solver_ivp进行数值模拟所得结果的准确性?

nvbavucw  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(247)

我有一个关于我们从ODE解算器获得的结果的问题。我将尽我所能简要解释我的问题。例如,如果我们使用ANSYS或任何其他FEA软件包运行模拟,在我们得出结果之前,有许多参数可以检查我们获得的最终结果的质量。
但在数值模拟中,我们需要给出relTol、absTol和其他参数值,以提高求解器的计算精度。例如,如果我们选择了solve_ivp,这是SciPy提供的高度可定制的求解器。
Q1).如何确切地确保求解器的结果是可接受的?
Q2).在我们根据所获得的结果做出结论之前,有哪些方法可以检查我们所获得的最终结果的质量?
问题3)如何通过更改求解器选项来进一步提高的精度?
非常感谢,如果你能分享你的想法与样本编码。

5ktev3wc

5ktev3wc1#

IMO、Q1和Q2是同一个问题。结果的可靠性将取决于数学模型对模拟现象的准确性(例如,当线性度有问题时,假设线性度)和算法的精确度。您需要检查方法是否收敛,如果收敛,则必须收敛到正确的解。
理想情况下,您应该将您的结果与典型问题的“真实数据”进行比较。真实数据可以从实验室实验中获得,也可以通过使用已知的可产生正确结果的替代方法来获得。如果没有这些,您将永远无法确定您的数值方法是否有效,除非通过信仰行为。
为了了解参数和地址Q3的效果,可以用不同的参数设置来解决同一个问题,并逐一观察它们的效果。经过一段时间后,您应该会对与参数设置有关的收敛特性有更好的了解。

相关问题