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. OpenFOAM并行计算

OpenFOAM并行计算

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

    大佬们,想请教下为什么OpenFOAM自定义并行计算时,初始化(这边初始化是指下述的代码)有时候很快2-3s,有时候需要很久1-2min(测试的时候没有其他程序运行)。
    下述是我自定义的并行计算初始化代码:

    scalarField MyField(5*N,0);
    List<scalarField> AllMyField_List(Pstream::nProcs());
    AllMyField_List[Pstream::myProcNo()] = MyField;
    Pstream::gatherList(AllMyField_List);
    Pstream::scatterList(AllMyField_List);
    scalarField AllMyField(ListListOps::combine<scalarField>(AllMyField_List, accessOp<scalarField>()));
    

    其中,N为所有网格单元的数量,N=86400。程序是有个变量,我将其分配到各个线程进行计算,在总线程中进行收集。
    此外,程序中不止这一个变量,有五六个需要同样操作的变量。之前测试过,如果N很小的时候,初始化过程很快,但是当N增大时,初始化时间就完全不一样了。想请教下如何解决这个bug。

    1 条回复 最后回复

  • 登录

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