decomposeParDict----并行运算文件
对于一些大型算例,我们往往需要根据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
参考:
- https://www.cnblogs.com/yaos/p/6992756.html
decomposeParDict----并行运算文件相关推荐
- MiniGUI开发指南
MiniGUI 目录 MiniGUI 体系结构 概览 引言 POSIX线程 基于PThread的微客户/服务器结构 多线程通讯的关键数据结构--消息队列 面向对象技术在MiniGUI中的应用 未来考虑 ...
- matlab添加文件到并行池,【Matlab Debugging】使用 addAttachedFiles(pool, files) 指定要附加的必要文件。...
在运行SUN论文源代码saliencyimage_convolution.m的时候,由于对代码运行速率与机器性能的充分结合利用,我修改了代码为多核并行运行的代码,里面含有parfor-end的循环体, ...
- matlab dsp工具箱_GPU中的并行运算,加速你的Matlab程序
Matlab本就擅长矩阵计算,其借助CUDA工具箱调用Nvidia GPU加速并行运算,可以起到如虎添翼的效果.今天给大家介绍一下CUDA的基础知识以及如何快速在Matlab中调用工具箱对程序进行加速 ...
- 文件数据云计算学习笔记---Hadoop HDFS和MapReduce 架构浅析
本文是一篇关于文件数据的帖子 媒介 Hadoop是一个基于Java的分布式麋集数据处理和数据分析的软件框架.Hadoop在很大程度上是受Google在2004年白皮书中论述的MapReduce技术的启 ...
- gpu处理信号_GPU中的并行运算,加速你的Matlab程序
Matlab本就擅长矩阵计算,其借助CUDA工具箱调用Nvidia GPU加速并行运算,可以起到如虎添翼的效果.今天给大家介绍一下CUDA的基础知识以及如何快速在Matlab中调用工具箱对程序进行加速 ...
- python并行运算库_最佳并行绘图Python库简介:“ HiPlot”
python并行运算库 HiPlot is Facebook's Python library to support visualization of high-dimensional data ta ...
- python 多核并行计算_手把手 | 嫌Python太慢?并行运算Process Pools三行代码给你4倍提速!...
大数据文摘作品,转载要求见文末 作者 | Adam Geitgey 编译 | 元元.Lisa.Saint.Aileen 原文链接 | https://medium.com/@ageitgey/quic ...
- python 多核并行计算_嫌Python太慢?并行运算Process Pools三行代码给你4倍提速!
大数据文摘作品,转载要求见文末,作者 | Adam Geitgey,编译 | 元元.Lisa.Saint.Aileen. Python绝对是处理数据或者把重复任务自动化的绝佳编程语言.要抓取网页日志? ...
- abaqus dat文件 matlab_提升Abaqus求解效率的七种武器
作者简介 作者:江丙云 本文首发于iCAETube公众号,技术邻CAE学院授权转载. 江丙云,上海交通大学博士,CAEMC-国际注册CAE工程管理咨询工程师,<汽车实用技术>编委会副秘书长 ...
最新文章
- python批量pdf转word,python批量实现Word文件转换为PDF文件
- vivo统一告警平台建设与实践
- Property属性,amp;nbsp;KVC键值编码OC…
- 好吧,关于nginx
- 【转】测试架构师团队的管理
- MTK 移植泰文输入法
- 从容器到微服务,技术架构、网络和生态详解
- 安卓手机鸿蒙系统怎么下载,华为鸿蒙系统来了:安卓系统会成为下一个“塞班”吗?...
- 转:全栈工程师的知识栈列表
- [转贴]彻底解决 CrystalReports 登录失败问题。
- 浅谈select2的使用
- 红帆参加HiMSS 2010(2010亚太区卫生信息大会)
- 慧都MES系统怎么实施?有哪些注意事项?
- 面试软件测试总结(常见的面试问题)
- 技能高考计算机专业考什么,2016年技能高考计算机专业考试总结
- Windows下的虚拟桌面软件——Virgo
- 在2003服务器上预览时出现:您未被授权查看该页 您不具备使用所提供的凭据查看该目录或页的权限
- 【NKOJ-4234】三角分形
- Android 自定义底部上拉控件的实现
- java excel导入 日期_java导入excel时处理日期格式(已验证ok)
热门文章
- 稻盛和夫《活法》之六项精进
- RK3288-8.1-添加一个人体感应的开关-pir_pin_status
- 数据库(三)索引事务
- 【Serverless】2)读懂Serverless
- mysql的min函数的使用方法_MySQL中MIN()函数的使用教程_MySQL
- 【备忘】【No2】2016年最新云计算视频教程hadoop大数据实战开发
- 朴实无华,图解快排,多语言实现。(PS:还有宝藏资料)
- 面阿里P7,竟问这么简单的题目?
- mysql关联查询php,MYSQL关联查询(PHP)
- 命令线程windbg之使用!list指令遍历双向链表