我正在做一个蒙特卡洛(MC)模拟。我有一种方法可以从头计算粒子的能量,也有一种方法可以只计算旧状态和新状态之间的差异。为了测试对我所做的代码的修改,我通过两种方式计算了一步后的能量,得到了不同的结果。这个数字很低(10^-5 的规模,而总能量的规模为 10^8),但我预计它会更低。我怀疑这是一个 fortran 问题的三个原因
查看所有交互,我看不出这两种方式有什么区别
价值观重演
例如,许多值是两个 (2^-14) 的负幂。
我会很感激你的想法。
所述变量以及计算中使用的大多数变量(如果不是全部)都是双精度类型的。编译器是 gnu f95。