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. setFields是否可以并行计算提高效率

setFields是否可以并行计算提高效率

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

    各位前辈,我在setFields中需要设置几千个球状的体积分数,直接setFields执行发现很慢,在网上没能找到相关并行计算的讨论,想问一下是否可以先decomposePar再setFields,如果可以,有哪些设置需要注意吗?

    1 条回复 最后回复
  • 学流体的小明学 离线
    学流体的小明学 离线
    学流体的小明 神
    写于 最后由 编辑
    #2

    确实很慢。我想手动划分计算域,使用setFields也很慢。看别人的思路,先topoSet标记区域,然后再对区域进行setFields,也感觉挺慢的,时间上差不多吧?但是topoSet之后可以重复使用这个被标记的区域。
    另一个思路是自己写程序进行赋值。我推测setFields和topoSet很慢,是因为每个赋值块它都要遍历一次网格,设置几千个球状的体积分数,就要遍历几千次网格?自己写程序的话,遍历一次就够了。

    K 1 条回复 最后回复
  • K 在线
    K 在线
    KrisIrving
    在 中回复了 学流体的小明 最后由 编辑
    #3

    @学流体的小明 在 setFields是否可以并行计算提高效率 中说:

    确实很慢。我想手动划分计算域,使用setFields也很慢。看别人的思路,先topoSet标记区域,然后再对区域进行setFields,也感觉挺慢的,时间上差不多吧?但是topoSet之后可以重复使用这个被标记的区域。
    另一个思路是自己写程序进行赋值。我推测setFields和topoSet很慢,是因为每个赋值块它都要遍历一次网格,设置几千个球状的体积分数,就要遍历几千次网格?自己写程序的话,遍历一次就够了。

    感谢您提到的思路,我还没有尝试过。之所以提到这个问题,一方面是因为计算速度,另一方面是因为一次性setFields几千个球体经常会在中间报错(各种错误),导致我一直失败。昨天晚上,我尝试了将几千个球体分成四份setFieldDict文件,大概每次set 1k多球体,这样可以保证不报错。实际体验来看,1s可以设置1个球体,4k个球体的体量大概1h左右就可以setFields完成,不报错的话就可以接受这样的速度。

    1 条回复 最后回复

  • 登录

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