Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 区域分解后polyMesh文件夹下的boundaryProcAddressing文件是什么含义?

区域分解后polyMesh文件夹下的boundaryProcAddressing文件是什么含义?

已定时 已固定 已锁定 已移动 OpenFOAM
5 帖子 2 发布者 3.8k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • MicroM 离线
    MicroM 离线
    Micro
    写于 最后由 编辑
    #1

    如题,当我们执行decomposePar后,在constant/polyMesh文件下新产生了如下四个文件 1。boundaryProcAddressing
     2。cellProcAddressing
     3。faceProcAddressing
     4。pointProcAddressing
    其中,想请教一下大佬们,boundaryProcAddressing文件的含义是什么?
    以cavity算例为例,分区数目为4,方法为simple,对网格进行均分,我发现每个处理器上的boundaryProcAddressing文件内容均相同,为下图ee4342c3214cedc4485ec307c22d4b8.png 08cb350bdcdca42d6b47b25f1ccd61e.png
    有没有大佬,解释下文件内容(也即 (0 1 2 -1 -1))的含义啊?谢谢!

    1 条回复 最后回复
  • MicroM 离线
    MicroM 离线
    Micro
    写于 最后由 编辑
    #2

    自挖自填,首先非常感谢 @bestucan 版主大佬 在另一篇帖子下的回答,答案在https://www.cfd-online.com/Forums/openfoam-programming-development/161366-global-index-cells-facess-parallel-computation.html网址下,其中九楼 解释了我的问题中 各个文件夹的用途,具体如下:

    1. boundaryProcAddresing - each element contains global index of patch that is present on current process, for "processor" boundaries this index is -1. Size of this array is equal to number of patches in global mesh plus number of "processor" patches in current processorj folder or processor.
    2. cellProcAddressing - each element contains global index of given local process cell. Size of this array is equal to number of cells in current processor
    3. faceProcAddressing - each element contains global index of given local process face. Size of this array is equal to number of face in current processor
    4. pointProcAddressing - each element contains global index of given local process point. Size of this array is equal to number of points in current processor
      这样的话我在问题中展示的图片的含义就可以解释了。数组(0 1 2 -1 -1)的含义就是, 0 1 2代表全局网格中的3个patch。-1 -1 代表本地进程上有两个通信边界(interface)存在。

    不过另一个问题来了,这样看来,这几个文件夹都是本地进程上的实体对应的全局索引,也就是说区域分解后的求解过程中,是需要利用上这些全局索引(信息)的,那么究竟要这些全局索引有什么用呢?或者说全局索引是怎么在通信中发挥作用的?有没有相关大佬能够解释下,或者指出对应的(拿着全局索引做事情的)代码也可以,谢谢大家!

    1 条回复 最后回复
  • bestucanB 离线
    bestucanB 离线
    bestucan 版主 大神
    写于 最后由 编辑
    #3

    如果把每个process都看成一个算例,那么他们的交接面就是互为时变的边界条件。

    这个算例算出来的速度冲到边界处,将传往哪一个process里的算例。这个速度能冲过去多少流量,也得看边界那边的压强。

    不一定非得知道全局的索引。只要知道交接面是什么就行了。

    我猜的:chigua2:

    滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

    异步沟通方式(《posting style》from wiki)(下载后打开):
    https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
    提问的智慧(github在gitee的镜像):
    https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way

    MicroM 1 条回复 最后回复
  • MicroM 离线
    MicroM 离线
    Micro
    在 中回复了 bestucan 最后由 编辑
    #4

    @bestucan 好的好的,非常合理的推断,我后面好好验证下。您关注过将PETSc继承到OpenFOAM中的工作吗,在那个工作中,就是涉及到要把每个进程上的矩阵矩阵(ldu格式)转换成PETSc所需要的全局CSR格式的矩阵,此时,就需要每个元素的全局索引,恩恩!

    bestucanB 1 条回复 最后回复
  • bestucanB 离线
    bestucanB 离线
    bestucan 版主 大神
    在 中回复了 Micro 最后由 编辑
    #5

    @Micro 关注过,但是没研究过。好像是8刚支持外挂矩阵求解器。还没机会学习:shangxue:

    滚来滚去……~(~o ̄▽ ̄)~o 滚来滚去都不能让大家看出来我不是老师么 O_o

    异步沟通方式(《posting style》from wiki)(下载后打开):
    https://www.jianguoyun.com/p/Dc52X2sQsLv2BRiqnKYD
    提问的智慧(github在gitee的镜像):
    https://gitee.com/bestucan/How-To-Ask-Questions-The-Smart-Way

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]