对于一些大型算例,我们往往需要根据cpu性能采用多个节点并行运算,以减少计算时间。OpenFOAM中,几何场和附属场被拆分为单独的块,每个块用单独的 cpu 来进行计算。并行计算主要涉及到网格和场的分解、并行运行程序以及分解场的后处理。

网格和场的分解

decomposePar :用来分解网格和场。通过读取decomposeParDict(位于算例的 system 文件夹下)字典文件的参数,分解几何和场文件。

decomposeParDict字典文件代码如下:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  4.0                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{version     2.0;format      ascii;class       dictionary;location    "system";object      decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//并行节点数
numberOfSubdomains 4;method          simple;
//简单的几何分解。计算域依据方向被切分,例如 x、z 方向两块,y 方向一块
simpleCoeffs
{n               (2 1 2);delta           0.001; //偏斜因子
}
//顺序几何分解法。和简单分解法差不多,但用户可以指定首先切分哪个方向,例如按x,y,z方向进行切割
hierarchicalCoeffs
{n               (1 1 1);delta           0.001;order           xyz;
}
//手动分解法,用户可以直接把某一片网格区域指定给处理器,可通过setFileds进行定义
manualCoeffs
{//给各个处理器分配任务的字典文件名称dataFile        "";
}
//数据是否写入不同的硬盘
distributed     no;
//算例目录路径
roots           ( );// ************************************************************************* //

设置好上述文件后,需要初始化流场:

setFields

对设置好的流场进行分块处理:

decomposePar

并行运行程序

mpirun -np N solverName -parallel //N:并行线程数,由 numberOfSubdomains 决定

并行后处理

将算例中每个处理器下的时间步文件,重组后整合到这个算例下的相应时间步文件夹下:

reconstructPar

参考:

  1. https://www.cnblogs.com/yaos/p/6992756.html

decomposeParDict----并行运算文件相关推荐

  1. MiniGUI开发指南

    MiniGUI 目录 MiniGUI 体系结构 概览 引言 POSIX线程 基于PThread的微客户/服务器结构 多线程通讯的关键数据结构--消息队列 面向对象技术在MiniGUI中的应用 未来考虑 ...

  2. matlab添加文件到并行池,【Matlab Debugging】使用 addAttachedFiles(pool, files) 指定要附加的必要文件。...

    在运行SUN论文源代码saliencyimage_convolution.m的时候,由于对代码运行速率与机器性能的充分结合利用,我修改了代码为多核并行运行的代码,里面含有parfor-end的循环体, ...

  3. matlab dsp工具箱_GPU中的并行运算,加速你的Matlab程序

    Matlab本就擅长矩阵计算,其借助CUDA工具箱调用Nvidia GPU加速并行运算,可以起到如虎添翼的效果.今天给大家介绍一下CUDA的基础知识以及如何快速在Matlab中调用工具箱对程序进行加速 ...

  4. 文件数据云计算学习笔记---Hadoop HDFS和MapReduce 架构浅析

    本文是一篇关于文件数据的帖子 媒介 Hadoop是一个基于Java的分布式麋集数据处理和数据分析的软件框架.Hadoop在很大程度上是受Google在2004年白皮书中论述的MapReduce技术的启 ...

  5. gpu处理信号_GPU中的并行运算,加速你的Matlab程序

    Matlab本就擅长矩阵计算,其借助CUDA工具箱调用Nvidia GPU加速并行运算,可以起到如虎添翼的效果.今天给大家介绍一下CUDA的基础知识以及如何快速在Matlab中调用工具箱对程序进行加速 ...

  6. python并行运算库_最佳并行绘图Python库简介:“ HiPlot”

    python并行运算库 HiPlot is Facebook's Python library to support visualization of high-dimensional data ta ...

  7. python 多核并行计算_手把手 | 嫌Python太慢?并行运算Process Pools三行代码给你4倍提速!...

    大数据文摘作品,转载要求见文末 作者 | Adam Geitgey 编译 | 元元.Lisa.Saint.Aileen 原文链接 | https://medium.com/@ageitgey/quic ...

  8. python 多核并行计算_嫌Python太慢?并行运算Process Pools三行代码给你4倍提速!

    大数据文摘作品,转载要求见文末,作者 | Adam Geitgey,编译 | 元元.Lisa.Saint.Aileen. Python绝对是处理数据或者把重复任务自动化的绝佳编程语言.要抓取网页日志? ...

  9. abaqus dat文件 matlab_提升Abaqus求解效率的七种武器

    作者简介 作者:江丙云 本文首发于iCAETube公众号,技术邻CAE学院授权转载. 江丙云,上海交通大学博士,CAEMC-国际注册CAE工程管理咨询工程师,<汽车实用技术>编委会副秘书长 ...

最新文章

  1. python批量pdf转word,python批量实现Word文件转换为PDF文件
  2. vivo统一告警平台建设与实践
  3. Property属性,amp;nbsp;KVC键值编码OC…
  4. 好吧,关于nginx
  5. 【转】测试架构师团队的管理
  6. MTK 移植泰文输入法
  7. 从容器到微服务,技术架构、网络和生态详解
  8. 安卓手机鸿蒙系统怎么下载,华为鸿蒙系统来了:安卓系统会成为下一个“塞班”吗?...
  9. 转:全栈工程师的知识栈列表
  10. [转贴]彻底解决 CrystalReports 登录失败问题。
  11. 浅谈select2的使用
  12. 红帆参加HiMSS 2010(2010亚太区卫生信息大会)
  13. 慧都MES系统怎么实施?有哪些注意事项?
  14. 面试软件测试总结(常见的面试问题)
  15. 技能高考计算机专业考什么,2016年技能高考计算机专业考试总结
  16. Windows下的虚拟桌面软件——Virgo
  17. 在2003服务器上预览时出现:您未被授权查看该页 您不具备使用所提供的凭据查看该目录或页的权限
  18. 【NKOJ-4234】三角分形
  19. Android 自定义底部上拉控件的实现
  20. java excel导入 日期_java导入excel时处理日期格式(已验证ok)

热门文章

  1. 稻盛和夫《活法》之六项精进
  2. RK3288-8.1-添加一个人体感应的开关-pir_pin_status
  3. 数据库(三)索引事务
  4. 【Serverless】2)读懂Serverless
  5. mysql的min函数的使用方法_MySQL中MIN()函数的使用教程_MySQL
  6. 【备忘】【No2】2016年最新云计算视频教程hadoop大数据实战开发
  7. 朴实无华,图解快排,多语言实现。(PS:还有宝藏资料)
  8. 面阿里P7,竟问这么简单的题目?
  9. mysql关联查询php,MYSQL关联查询(PHP)
  10. 命令线程windbg之使用!list指令遍历双向链表