@tqviet 已经以某种方式表达了这一点,但让我换一种说法:106本身并不是一个大的结束时间。这似乎是一个很大的数字,因为它最后有 6 个零,但这完全取决于 (i) 你计算它的单位,(ii) 你试图建模的效果有多快。
举个例子:如果我告诉你你必须计算到106皮秒,你可能不会认为那是很长的时间——毕竟,它只是10−6秒。但真正重要的是与你试图描述的事物相关的时间。甚至106如果你试图模拟一个星系的演化,年并不是很长——这些事情发生在数十亿年的时间尺度上,所以106可以在一个或几个时间步骤内完成。另一方面,如果你试图模拟天气——它在小时的时间尺度上起作用——那么106岁月显然是一个非常非常长的时间。事实上,如果你的目标是模拟半导体中电子的运动——它在纳秒甚至更短的时间尺度上工作——那么106年是一个更长的时间间隔。换句话说,这真的取决于你在看什么。
这导致了最后一个观察:您正在使用大小的时间步长0.01. 但为什么?因为您认为时间步长需要很小(无论您使用什么单位,都明显小于 1),或者因为您的系统动态发生在 0.01 个时间单位的时间尺度上?在后一种情况下,选择显然是有效的。但是如果你的系统的动态发生在 ~100 或 ~1000 甚至更多时间单位的时间尺度上,那么就不需要这么小的时间步长:你应该能够使用Δt=10,100,甚至更多。在那种情况下,你确实会很快到达你的末日。