很明显semi-implicit Euler integration方法很简单,但我找不到任何有关 time-reversibility 的信息。所以问题是:它是时间可逆的吗?
答案 0 :(得分:1)
v_{n+1} = v_n - omega^2 x_n dt
x_{n+1} = x_n + v_{n+1} dt
考虑可逆性的一种方法是,我们是否可以恢复给定v_n
和x_n
的{{1}}和v_{n+1}
。重新排列第二个
x_{n+1}
所以我们可以找到x_n = x_{n+1) - v_{n+1} dt
,知道这一点我们可以找到x_n
v_n
请注意,这与通过使用v_n = v_{n+1} + omega^2 x_n dt
反转时间向后运行半隐式Euler方法得到的结果不同。这样做你可以按照其他顺序执行这两个步骤。
dt = - dt
在这Google spreadsheet with Hooke's law中,我实施了胡克定律的方法。 B列和C列是前进的位置和速度。列D和E从最后开始并以反转时间应用该方法。列F和G从结尾开始,但应用恢复原始数据的方法。你可以看到前后的图表并不完全匹配。