FiPy的stokesCavity示例返回False

时间:2019-09-25 16:07:30

标签: python fipy

我尝试运行 stokesCavity示例,该示例对流使用盖子驱动的边界条件。在代码末尾,将右上角单元格中的值与一些参考值进行比较。

@CrossOrigin
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/v1")
public class UserController {

    private final FileStorageService fileStorageService;
    private final GameService service;


    @GetMapping("{id}")
    public GameDTO getUserbyID(@PathVariable Long id) {
        log.info("get {} at {}", service.getUserbyID(id), Calendar.getInstance().getTime());
        return service.getUserbyID(id);
    }

当我尝试运行此示例时,我的输出是
错误
错误
错误
我获得的右上角单元格的实际值为 129.235 0.278627 -0.166620 (而不是162.790867927、0.265072740929和-0.150290488304)。有谁知道我为什么得到不同的价值观?我尝试过更改求解器(使用scipy,Trilinos和pysparse),但是结果最多不会更改到第12位。速度曲线看起来与他们的manual中所示的速度曲线相似,但是我仍然担心某些问题。
我在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)上运行它。

1 个答案:

答案 0 :(得分:0)

作为测试套件的一部分运行时,此示例仅进行5次扫描,因此为此进行了数字检查。当您单独运行示例时,它将进行300次扫描,并且解决方案的收敛效果更好(或至少有所不同)。除了not written in a very robust way,该示例没有其他问题。感谢您的询问;我们将尝试清理示例。