multiRegion区域间的边界条件



  • 在多区域模拟中,两个区域间的边界面上施加多种边界条件,如何将区域间的边界面分割开?
    尝试了以下几种方案:
    1、OpenFOAM tutorials 中,多区域算例网格划分方法:blockMesh -> topoSet -> splitMeshRegions,该方法区域与区域之间会自动生成一个面,没找到分割边界面的工具
    2、采用第三方网格划分工具(ICEM等),先导出FLUENT求解网格,然后采用fluentMeshToFoam转化为OpenFOAM网格,但是这样划分的interface全部被识别为内部面,没有办法形成多区域网格划分
    有没有CFDer在这方面有经验?指点一二


  • 网格教授 OpenFOAM教授 管理员

    如果是区域之间的内部面,部分要施加不同的边界条件。那就做成cyclicAMI,命名为不同的名字,然后改求解器代码:对于施加不同边界条件的变量,如果边界面是周期1,施加xxx条件。对于还是施加cyclicAMI的变量,默认cyclicAMI

    如果是区域之间的内部面,全部施加不同的边界条件。那就做成两个patch,命名为不同的名字,然后改求解器代码:如果边界面是patch1,施加xxx条件。面之间你要自行做通量传递。



  • @东岳 多谢东岳大佬!还有一个问题:这些不同的边界面如何指定?有没有实例可以参考?


  • 网格教授 OpenFOAM教授 管理员

    好像没有。

    给你举个例子,在计算压力p和速度U的时候,并行分解之后会出现一个processor0to1类似这种边界条件。不处理的话,phiprocessor0to1是通过U计算出来的。你可以手动处理processor0to1这个边界条件的phi值,比如全部设为0. 然后你的处理器边界就0通量了