OpenFOAM 中用手动并行分块的方法 · 大专栏

OpenFOAM 2.0体验 多级分块并行_苏军伟_新浪博客

根据老师给我发的教程,好像不能生成0/cellDist,百度了一下才发现。应该先decomposePar再setFields的。

修改system/decomposeParDict,如下,分成五个区。采用simple方法。manual的话则是修改manualCoeffs,我还暂时不用它。

numberOfSubdomains 5;method         simple;
//method          manual;simpleCoeffs
{n               (1 1 5);delta           0.001;
}

然后,手动修改setFieldsDict,采用boxToCell,z方向平均分成5段,我这里z方向总长35.75,因此每段7.15,如下:

defaultFieldValues
(volScalarFieldValue cellDist 0
);regions
(boxToCell{box (-2.35 -2.35 0) (2.35 2.35 7.15);fieldValues(volScalarFieldValue cellDist 0);}boxToCell{box (-2.35 -2.35 7.15) (2.35 2.35 14.3);fieldValues(volScalarFieldValue cellDist 1);}boxToCell{box (-2.35 -2.35 14.3) (2.35 2.35 21.45);fieldValues(volScalarFieldValue cellDist 2);}boxToCell{box (-2.35 -2.35 21.45) (2.35 2.35 28.6);fieldValues(volScalarFieldValue cellDist 3);}boxToCell{box (-2.35 -2.35 28.6) (2.35 2.35 35.75);fieldValues(volScalarFieldValue cellDist 4);}
);// ************************************************************************* //

接着,运行decomposePar:

decomposePar -cellDist

它会根据decomposeParDict在z方向自己分成5段,生成cellDist文件在0文件夹下。给每个网格分了并行编号。如果将 cellDist 当成是一个标量场,然后用设置初始场的工具对其值进行初始化,将来就能将对应网格手动分配到 cellDist 的值对应的进程。

运行setFields,就是openfoam自带的初始场工具:

setFields

用的是最简单的 boxToCell,即指定一个 box 中的网格的 cellDist 值。设置好 setFieldDict以后,运行 setFields,便对 cellDist 的值进行了修改。即根据system/setFieldsDict中划分的区域,给出每个网格所在的区域编号。

然后又要执行:

renumberMesh -overwrite

随后,将cellDist中网格对应的区域编号(即跟在网格数量358270后括号中的内容)复制到
constant/manualDecomData中,即manualDecomData中的数据为:

下一步,需要根据 cellDist 的值来创建一个 labelList,因为手动分块的时候,需要的是一个 labelList 。
在 constant 下创建一个文档, cellDecomposition。不过这些在师兄的parallel代码中已包括步骤,这里就不展示了。可以看前面提供的链接。

parallel文件夹

在师兄的代码里面,我看了parallel文件夹里面的文件,懂了这个文件是拿来干嘛的了。包括了上面的步骤。只要进这个文件夹里面,./make.sh就能分好区域了,

parallel.ini里面要设好分区的参数。

关于这个make.sh文件在干啥呢,就是在执行前面我展示的步骤。不过这里是simple方法,屏蔽了manual方法,如果想要manual方法则手动修改一下屏蔽的语句。想要setFields也同理。其实我现在对这三个东西有点乱了,之后要再仔细看看。

openfoam前处理:并行计算decomposeParDict和setFieldsDict相关推荐

  1. openFoam代码读懂笔记

    1. sed口令 sed -i "/method/s/manual/simple/g" decomposeParDict 是不是指:将文件decomposeParDict内meth ...

  2. MapFields和并行计算(OpenFOAM)

    这几天研究了一下OpenFOAM里的MapFields和并行计算,总结一下. Case 1 先进行并行计算 SetFields 初始化流场 decomposePar 把初始化好的流场分块 mpirun ...

  3. openfoam一些报错的原因(持续更新)

    不具普遍性 1. size of the communicator(5) is smalller than the size of Cartesian topology(10) 原因:parallel ...

  4. OpenFOAM 工具列表

    OpenFOAM工具可以在终端输入命令 cd $FOAM_UTILITIES查看,标准小工具列表如下: Pre-processing   前处理 applyBoundaryLayer Apply a ...

  5. openfoam v8 波浪算例学习日记: 6.运行算例

    算例运行 在setWave命令之后就是算例运行,Allrun中在运行求解器之前进行了域分解命令decomposePar来并行计算. decomposePar读取system/decomposeParD ...

  6. OpenFOAM:并行区域划分理解(Domain Decomposition)

    OpenFOAM Domain Decomposition理解 OpenFOAM使用Domain Decomposition方法对计算域进行并行划分(命令: decomposePar), 对应的字典配 ...

  7. OpenFOAM——高空腔内的湍流自然对流

    本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL052: Turbulent Natural Convection Inside ...

  8. OpenFOAM的圆柱绕流算例记录

    圆柱绕流是流体力学里最经典的算例之一,受到众多学者的"喜爱".初学CFD的人除了空腔.管道流之外,最先接触的莫过于圆柱绕流了.圆柱绕流能反映流体流过障碍物时的各种情况:层流向湍流的 ...

  9. OpenFOAM并行计算方法

    OpenFOAM并行计算方法 第一种: 直接执行命令:XXXFoam (单核计算速度,CPU占用1个:结果按时间步推进:结果没问题) 第二种: 直接执行命令:mpiexec -n 6 XXXFoam ...

最新文章

  1. linux 查看强制位,linux强制位与冒险位
  2. Redis常用概念简介
  3. VisualCode 查看代码历史版本、还原代码到既定历史版本
  4. git 撤销挂起的更改_小姐姐带你用Git
  5. 收藏 | LSTM模型结构的可视化
  6. 自动化安装DHCP配置脚本
  7. Spring Security HttpSecurity
  8. SAP License:2021年最新FICO面试答案
  9. noip2015day1 T1 4510 神奇的幻方
  10. 【转】Python基础-字符串
  11. js 使用image.height和image.width获取图片宽高值为0,获取失败
  12. 计算机第四轮学科评估排名,最权威中国高校学科排名,全国第四轮学科评估结果出炉!...
  13. 2017江苏高职计算机分数线,2017年江苏高考分数线公布
  14. 所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
  15. PHP+ffmpeg音频格式转化踩坑实录
  16. com.mongodb.MongoSocketOpenException: Exception opening socket
  17. 微信小程序——漂亮的步骤条(好看)
  18. PYTHON实现自动发送邮件(QQ,163,139三种邮箱演示)
  19. java xsl转换pdf_Java 生成PDF文档-阿里云开发者社区
  20. 计算机 实验室安全准入制度,实验实训室安全准入制度(试行)

热门文章

  1. 三维数据可视化软件html5,基于 HTML5 的 WebGL 自定义 3D 摄像头监控模型 | 3D组态|图扑软件|数据可视化|blog...
  2. MySQL学习(2)——MySQL表的增删查改(基础)
  3. 论文笔记:Attention U-Net: Learning Where to Look for the Pancreas
  4. Linux下用脚本命令打开文档、表格、PPT
  5. 【C语言】 《弹跳的小球》游戏编写过程及思路,清屏函数、Sleep()函数的应用
  6. 百度网盘离线下载分析及实现
  7. git stash暂存操作
  8. 水管工游戏——dfs
  9. makefile suppress echoing the actual command @
  10. 芯片供应商:芯片一级供应商分类和安全芯片库存