Я попытался запустить пример stokesCavity , в котором для потока используются граничные условия с крышкой.В конце кода значения в правой верхней ячейке сравниваются с некоторыми эталонными значениями.
>>> print(numerix.allclose(pressure.globalValue[..., -1], 162.790867927)) #doctest: +NOT_PYAMGX_SOLVER
1
>>> print(numerix.allclose(xVelocity.globalValue[..., -1], 0.265072740929)) #doctest: +NOT_PYAMGX_SOLVER
1
>>> print(numerix.allclose(yVelocity.globalValue[..., -1], -0.150290488304)) #doctest: +NOT_PYAMGX_SOLVER
1
Когда я попытался запустить этот пример, мой вывод был
False
False
False
Фактические значения, которые я получаю для правой верхней ячейки: 129.235 , 0.278627 и -0.166620 (вместо 162.790867927, 0.265072740929 и -0.150290488304).Кто-нибудь знает, почему я получаю разные значения?Я пытался изменить солвер (использовал scipy, Trilinos и pysparse), но результаты не меняются вплоть до 12-й цифры.Профиль скорости похож на тот, который показан в их руководстве , но я все еще волнуюсь, что что-то не так.
Я запускаю его в Linux (python 2.7.14, fipy 3.2, pysparse 1.2.dev0,Trilinos 12.12, scipy 1.2.1) и в Windows (python 2.7.15, fipy 3.1.3, scipy 1.1.0).