有个粒子,位置,速度 ,质量为1。每对粒子之间有一个势函数 ,除非粒子靠近足够的。我想更新模拟,以便总能量是守恒的,只使用粒子的局部信息。如果模拟不是太准确也没关系,但我想排除能量呈指数增长(或衰减到 0)的任何可能性,无论使用多少时间步长或它们有多粗略。此外,如果一组粒子与其余粒子断开连接,则该组粒子内的能量应该是守恒的。
使用不完美的数值求解器在物理模拟中保存能量 给出了一些答案,但我认为它们不会在这里工作。即使在任意数量的时间步长和粗略的时间步长之后,我也希望守恒——我认为这排除了辛积分。我希望孤立的粒子组独立于其他地方发生的事情 - 我认为这排除了后期投影。
我想到了一个消息传递方案,其中粒子和势函数传递能量包,这样只有当邻居的能量下降相应的量时,一个人的能量才能上升,调整粒子速度以确保这一点。同样在我考虑周全的方案中,势函数可以“存储”局部能量盈余或赤字,并调整未来的相互作用以使这种盈余/赤字更接近于 0。但我在计算细节和它时遇到了一些困难如果这样的东西已经存在,那就太好了。