研究文章|开放获取
吴克群小野,Takanori田, ”高性能并行模拟复杂地形表面的气流”,建模和模拟在工程, 卷。2019年, 文章的ID5231839, 10 页面, 2019年。 https://doi.org/10.1155/2019/5231839
高性能并行模拟复杂地形表面的气流
文摘
重要的是开发一个可靠和高通量的模拟方法预测气流风车安装计划阶段的发电厂。本研究提出了一种两级网格生成方法降低建网成本,介绍了大气流体混合并行化方案的模拟。啮合的方法将网格生成分为两个阶段:在第一阶段,独特的啮合参数确定提取网状分布,在第二阶段,并行网格生成系统是通过一个原位方法使用中获得的参数初始化阶段的模拟。提出了两阶段的方法是灵活的从任意数量的流程在运行时可以选择。一个高效OpenMP-MPI混合并行化方案使用中间件,提供了一个框架的并行代码基于域分解方法也发达。网格和计算性能的初步结果显示良好的可伸缩性强扩展测试。
1。介绍
发电使用自然能源已逐渐取代了传统热和原子能源由于担心环境和资源的可持续性。特别是,风能和太阳能潜力提供低排放发电。最近,大型风力发电厂实现发电效率高。安装地点的选择风车发电厂直接影响整个生命周期和成本,包括设计、安装、操作、和删除。
因此重要的是要制定一个详细的预测方法的风力条件利用观测数据和模拟。许多因素影响预测结果,因此,大量的计算与高分辨率网格通常需要获得可靠的结果风流在复杂的地形。可靠的风力发电预测需要考虑各种因素,包括风向、动荡,土地特性,大气分层和周期性。模拟风力条件至少需要10分钟时间集成,计算非常密集。减少风力流仿真时间,加速和仿真的并行化算法是至关重要的。此外,网格生成的成本的一个主要问题在计算流体动力学(CFD)因为啮合极其苛刻,耗时为运营商和有时需要用户的技能。
本研究提出了一种两级网格生成方法,极大地降低建网成本,介绍了混合大气流体仿真的并行化方案。啮合的方法将网格生成分为两个阶段:在第一阶段,独特的参数确定提取网状分布,在第二阶段,并行网格生成系统是通过一个基于参数的原位方法获得初始化阶段的模拟。为了便于啮合参数的提取,一个易于使用的图形化应用程序,允许用户交互式地探索最优参数。提出了两阶段的方法是灵活的从任意数量的流程在运行时可以选择。一个高效OpenMP-MPI混合并行化方案使用中间件提供了一个框架基于域分解方法的并行度也发达。网格和计算性能的初步结果显示良好的可伸缩性。
2。网格生成
2.1。网格系统
网代大气流体模拟与复杂的地形形状必须反映复杂的配置在边界层网格系统和妥善解决。图1显示了一个示例使用的网格系统在目前的研究。一个统一的笛卡尔网格用于XY飞机(水平方向),和一个用于非均匀分布Z方向(垂直),类似于σ坐标系统(1]。方程(1)表示实体之间的映射关系和计算坐标空间:
2.2。两阶段的方法
网格生成复杂的配置通常是使用商业软件套件进行,例如,(2),实用功能和用户友好的图形用户界面(gui)。然而,当这样的应用程序是运行在商品台式电脑,内存有限成为关键约束生成大型网格系统。此外,生成的网格文件大小很大,使网格数据的转移从一个PC服务器计算耗时。快速、大规模网格生成,本研究提出了一个可伸缩的、原位两啮合的方法,可以避免耗时的文件访问(3]。这种方法将网格生成分为两个阶段:在第一阶段,唯一确定的网格分布的参数使用一个GUI应用程序中提取,在第二阶段,并行网格生成系统使用中获得的参数初始化阶段的模拟。这个过程如图的概述2。
2.3。图形应用程序
在第一阶段,独特的参数确定所需的网格系统。一般来说,地形数据提供了从卫星或地理信息系统(GIS)服务(4),通常是在民主党或STL格式,如图3。在这个例子中,使用STL格式。一个图形应用程序称为FXgen是用来帮助确定最优参数,用于第二阶段。的基本参数确定网格分布计算区域的大小,数量的点,和网格间距两线段的结束Z方向。这些参数可以交互式地探索通过一个用户友好的GUI应用程序,如图4。虽然这个过程是启发式的,而是快速自接口是有效的。用户可以找到最优参数用图所示的界面4 (b)。例如,用户可以指定的部门X和Y(水平)的方向,和网格分布结果将立即显示从顶部看,如图5(一个)。确定网格分布Z方向,常用Vinokur拉伸函数(5),部门的数量Z方向和网格间距为线段的两端指定。结果是一个非均匀拉伸网Z方向,如图5 (b)。图5 (c)显示表面周围的网状分布。虽然网格分布在一个陡峭的悬崖是出了名的难以正确获得网格生成,使用该方法获得的网格生成因为该地区略高于表面是由高分辨率精细网格。最后,获得的参数以JSON格式输出,如图6。
(一)
(b)
(一)
(b)
(一)
(b)
(c)
2.4。几何数据的处理
在实际模拟中,复杂的几何形状,给出了文件格式,如STL OBJ,或iGES,经常遇到。为了处理这些几何并行文件,可以使用几个库。例如,OpenFOAM提供了distributedTriSurfaceMesh类加载和再分配网格数据6),和雷等人提出了一个并行网格框架调用摩押(Mesh-Oriented数据库)为构建并行网格生成器(7]。现在的作者之一开发了一个叫做多边形处理库Polylib管理并行多边形元素(8),它提供了功能,如负载、保存、再分配、操纵、分组、和迁移。
2.5。动态啮合
获得的参数用于生成相同的网格生成的第一阶段。在第二阶段,整个计算域的数量除以过程控制文件或使用命令行参数的调用并行仿真程序。域分解过程描述使用所提供的应用程序编程接口(api) CBrick图书馆(9),旨在促进建设的消息传递接口(MPI)应用和性能的优化。域分解模式是自动计算的算法。通过应用相同的网格生成算法在这两个阶段,所需的网格可以生成使用相同的参数。提出了两阶段的方法是灵活的从任意数量的流程可以选择在运行时,由于动态啮合。其他地方可以找到更详细的描述(3]。
3所示。并行应用程序
在本节中,风模拟器的性能增强RIAM-COMPACT [10]。
3.1。控制方程和解决方案的方法
RIAM-COMPACT可用于大规模的湍流模拟预测当地的风力流在复杂的地形。它使用boundary-fitted坐标系中并列的网格。方程(2)和(3)显示流的无量纲控制方程,过滤后的不可压缩流体的连续性方程,分别和过滤后的n - s方程。 在哪里速度分量, , , ,和表示压力、流体粘度、Smagorinsky的涡粘性模型,分别和应变张量。注意'符号表明维值。
3.2。在初始化并行网格生成
RIAM-COMPACT使用OpenMP和MPI并行。图7提出了伪代码初始化阶段的模拟,包括域分解、多边形数据加载/分布和网格生成。对象D的一个实例吗CBrick为域管理类,它提供了api。注意参数”XY”的方法findOptimalDivision ()设置域只有在分工XY飞机。这是由于拉伸函数应用于完成Z方向,因此必须避免域分解Z方向。对象PL显示了使用多边形管理类MPIPolylib加载STL文件级别0和分区多边形数据分发给其他队伍。在为循环,对象科幻小说计算了在给定线段的坐标值Z方向和商店工作数组中的值zx。计算坐标数组中的值zx复制到数组Z。对象的方法科幻小说,>分布(zx)意味着网格分布之间的线段pos_z和max_z计算使用Vinokur的拉伸功能,两端的间距在哪里吗ds_st和ds_ed分别和部门的数量NK。针对性能、外为循环并行使用OpenMP和功能Zcopy ()是矢量化。
3.3。并行化
RIAM-COMPACT是用Fortran90和C / c++。Fortran90用于的主要算法,并使用C / c++为主要功能,分配内存、公用事业、和桥接其他的c++类库。基于MPI并行,MPI库提供的api用于描述并行代码。为常用的通信模式,比如Allreduce和邻居(点对点)通信,CBrick库提供方便的api。OpenMP用于线程做/循环。
3.4。性能监控
它是非常有用的评估应用程序的性能在生产运行和调优阶段,包括各种各样的计算平台。性能监控库PMlib(11这里使用)是测量平行RIAM-COMPACT在运行时的性能。PMlib提供了简单的api插装代码和创建有用的报告。图8显示了仪器使用的伪代码PMlib。在这个例子中,用户的功能mykernel ()被测量通过调用吗PM.start ()和PM.stop ()方法之前和之后mykernel ()调用。图9显示了一个简单的格式的报告。一个详细的报告包括每个进程的性能。
4所示。相关工作
为了构建一个高通量大气流体模拟方法,一个有效的网格方法和可扩展的并行化内核代码是至关重要的。文献综述了网格生成。提出了各种网实现,比如partitioning-based非结构化网格(12),或分层的笛卡尔网格八叉树空间曲线(13),和一个结构化网格简单域分解(14]。这些方法分为原位啮合的方法,即。,the mesh is automatically generated in the initialization phase of the CFD simulation. Among them, the Cartesian-based approach is probably the fastest and most powerful for meshing complex configurations. However, a naive implementation of this approach can have some difficulty creating smooth meshes that appropriately resolve the boundary layer near the surface just above the ground level. To overcome this problem, Yamazaki et al. used a Cartesian mesh with block-structured mesh refinement to concentrate the mesh around the surface, and introduced the cut-cell technique to generate a terrain-following mesh. Their method captures the boundary layer, but its scalability was only confirmed up to 16 threads [15]。
啮合的另一个问题是网格的自动生成系统和复杂地形大气模拟几何。Gargallo-Peiro等人提出了一个自动程序生成混合网格模拟湍流流动对风电场16]。他们开发了一个网格系统,捕捉地上的地形特征和涡轮机。网格生成过程是分开的两个步骤:第一步,背景网格生成;在第二步中,插入涡轮周围的网格系统。他们生成一个网格系统的风电场一个元素依靠1000万年大约300秒的顺序使用网格应用程序在PC上。
Evetts报道,字形脚本有助于风力发电场的特定啮合过程自动化(17]。字形脚本有以下步骤:进口地形,改进感兴趣的领域,创建一个表面网格,创建卷网、光滑和分析体积网格,计算流体动力学解算器和导出文件。脚本可以使一个网格系统在几分钟。这个过程类似于我们的方法但它生成一个网格文件。
5。仿真结果
5.1。评价环境
超级计算机ITO九州大学(18)是用来评估网格生成过程的性能和计算过程。ITO子系统的规格如表所示1。的评价进行了Flat-MPI模式和混合并行(OpenMP + MPI)模式使用多达256个节点,即。8192流程Flat-MPI模式和512过程混合模式。
|
||||||||||||||||||||
计算时间测量20步的时间从一个给定的初始条件,集成和性能测量使用所提供的功能PMlib。
5.2。Flat-MPI模式的性能
图10显示了Flat-MPI模式的性能结果。生成的网格大小为2001×721×721(约10亿点),啮合和所需的内存是66 GB。在这种情况下,处理范围从2到8192的数量。与512年获得啮合性能非常好流程与超过1024个进程但变得糟糕。这种性能退化是负载失衡的主要原因,为给定的网格大小不是一个代表性试样,尤其是与超过512个流程。流体计算的性能表现出相同的行为。如图10,啮合是两个数量级的成本低于流体计算。
5.3。性能的混合模式
图11显示了混合并行模式的性能结果。生成的网格大小为4001×721×721(约20亿点),啮合和所需的内存是132 GB。多达512的性能测量过程,与18每个进程的线程使用。流体计算的性能非常好,Flat-MPI相比模式,因为自由度划分领域的X方向是更高,因此负载均衡提高。尽管啮合性能下降与超过128个流程中,啮合时间流的比例计算时间小于0.01;因此啮合是整个计算时间的一个微不足道的部分。注意,因为集成的时间只有20这个测试用例的步骤,啮合时间在实际情况下,需要许多时间步骤集成可以忽略。
5.4。计算流场
图12表明,周围的细网格表面能充分正确地捕获边界层。这证实了,在山脊流动分离的结构复制。
6。结论
提出了一种两级原位网格生成方法减少计算成本大规模平行啮合过程的大气流体模拟与复杂的地形。提出的网格生成过程有两个步骤:第一步,唯一确定的网格分布的参数提取使用启发式方法;在第二步中,平行啮合的网格自动生成算法的基础上获得了参数初始化阶段的模拟。提出了两阶段的方法是灵活的从任意数量的流程可以选择在运行时,由于原位啮合。
一个高效的实现使用OpenMP-MPI RIAM-COMPACT混合并行也发达。RIAM-COMPACT建成使用中间件,提供了一个框架的并行代码基于域分解方法。初步对啮合性能结果和计算性能优秀的超级计算机上的可伸缩性ITO。
数据可用性
使用的数据来支持本研究的发现可以从相应的作者。
的利益冲突
作者宣称没有利益冲突有关的出版。
确认
本研究使用了一些计算资源K理研中心计算机的计算科学在神户,日本,和使用计算机资源进行了一般项目的类别下信息技术研究所,九州大学。这项研究支持的部分日本教育部,文化,体育,科学和技术(下边了)作为一个社会和科学优先使用post-K计算机解决问题(项目ID: hp170238“发展创新的设计和生产过程,引导制造业在不久的将来”和hp170270创新加快发展清洁能源系统)。
引用
- p c .楚和c .粉丝,“静水海洋σ坐标校正模型,”地球物理研究杂志》,卷108,不。6,3206年,页2003。视图:出版商的网站|谷歌学术搜索
- 2018年逐点的,http://www.pointwise.com。
- 原位k .小野和y田”两级平行啮合大规模大气流体仿真在复杂地形,”27日学报》国际啮合圆桌会议美国俄勒冈州尤金,2018年10月。视图:谷歌学术搜索
- 2018年日本,地理空间信息的权威,http://cyberjapandata.gsi.go.jp/3d/sample.html。
- m . Vinokur“有限差分计算,对一维拉伸函数”计算物理学杂志,50卷,不。2、215 - 234年,1983页。视图:出版商的网站|谷歌学术搜索
- d·马提瑙,j·古尔德和j .白皮书”对一个有效的分布式并行网格生成几何,”22日学报》国际啮合圆桌会议美国佛罗里达州奥兰多,2013年10月。视图:谷歌学术搜索
- 赵n . Ray Grindeanu, x, v .马哈,x娇,“基于数组的分层并行网格生成,”Procedia工程卷,124年,第303 - 291页,2015年。视图:出版商的网站|谷歌学术搜索
- 多边形管理图书馆,2018年,http://avr-aics-riken.github.io/Polylib。
- CBrick图书馆,2018年,https://github.com/RIIT-KyushuUniv/CBrick。
- “t .田CFD预测气流的大规模风电场陡峭的上方,三维的悬崖,”能源与动力工程,9卷,不。13日,829 - 842年,2017页。视图:出版商的网站|谷歌学术搜索
- 性能监视器图书馆,2018年,http://avr-aics-riken.github.io/PMlib。
- j . Chen y郑,x宁,“可伸缩的平行四边形网格生成再加上网格分区,”学报第六并行和分布式计算应用和技术国际会议(PDCAT ' 05)大连,页966 - 970年,中国,2005年12月。视图:出版商的网站|谷歌学术搜索
- a . Lintermann s Schlimpert j . h . Grimmen c·冈瑟·m·Meinke和w·施罗德,“大规模并行网格生成在HPC系统上,”计算机在应用力学和工程方法卷,277年,第153 - 131页,2014年。视图:出版商的网站|谷歌学术搜索
- v . d . Liseikin网格生成方法施普林格,荷兰,2010年。
- h·山崎、t . Satomura和n . Nikiforakis”3 d高分辨率大气simula-tions cut-cell造型,”季度皇家气象学会杂志》上,142卷,2015年。视图:谷歌学术搜索
- a . Gargallo-Peiro m·阿维拉·h·欧文,l .普列托和a . Folch”网代大气边界层模拟风电场设计和管理”Procedia工程卷,124年,第251 - 239页,2015年。视图:出版商的网站|谷歌学术搜索
- s . Evetts”字形脚本自动化为风力涡轮机选址地形啮合,”2018年,http://www.pointwise.com/theconnector/2014-September/Glyph-Scripting-Automates-Terrain-Meshing-Wind-Turbine-Siting.html。视图:谷歌学术搜索
- 信息技术研究所,九州大学,“超级计算机ITO,”2018年,https://www.cc.kyushu-u.ac.jp/scp/eng/system/01_into.html。视图:谷歌学术搜索
版权
版权©2019 Kenji小野和Takanori田。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。