FLOW36: A spectral solver for phase-field based multiphase turbulence simulations on heterogeneous computing architectures

IF 7.2 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
Alessio Roccon , Giovanni Soligo , Alfredo Soldati
{"title":"FLOW36: A spectral solver for phase-field based multiphase turbulence simulations on heterogeneous computing architectures","authors":"Alessio Roccon ,&nbsp;Giovanni Soligo ,&nbsp;Alfredo Soldati","doi":"10.1016/j.cpc.2025.109640","DOIUrl":null,"url":null,"abstract":"<div><div>We present FLOW36, a GPU-ready solver for interface-resolved simulations of multiphase turbulence. The simulation framework relies on the coupling of direct numerical simulation of turbulence, used to describe the flow field, with a phase-field method, used to describe the shape and deformation of a deformable interface and the presence of surfactants. An additional transport equation for a passive scalar can be solved to describe heat transfer in multiphase turbulence. The governing equations are solved in a cuboid domain bounded by two walls along the wall-normal direction where no-slip, free-slip or fixed/moving wall boundary conditions can be applied, while periodicity is applied along the streamwise and spanwise directions. The numerical method relies on a pseudo-spectral approach where Fourier series (periodic directions) and Chebyshev polynomials (wall-normal direction) are used to discretize the governing equations in space. Equations are advanced in time using an implicit-explicit scheme. From a computational perspective, FLOW36 relies on a multilevel parallelism. The first level of parallelism relies on the message-passing interface (MPI). A second level of parallelism uses OpenACC directives and cuFFT libraries; this second level is used to accelerate the code execution when heterogeneous computing infrastructures are targeted. In this work, we present the numerical method and we discuss the main implementation strategies, with particular reference to the MPI and OpenACC directives and code portability, performance and maintenance strategies. FLOW36 is released open source under the GPLv3 license.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> FLOW36</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/ygcn7dsb9k.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://github.com/MultiphaseFlowLab/FLOW36</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> GPLv3 License</div><div><em>Programming language:</em> Modern Fortran</div><div><em>Nature of problem:</em> Solving the three-dimensional incompressible Navier–Stokes equations in a Cartesian domain configured for open and closed channel flows. A phase-field method is used to describe the shape and topological changes of deformable interfaces. Additional equations are included to account for the presence of surfactants, heat transfer problems and for the transport of point-wise Lagrangian particles.</div><div><em>Solution method:</em> The system of governing equations is advanced in time using an implicit-explicit strategy while the governing equations are discretized in space using a pseudo-spectral approach: Fourier series are employed along the homogeneous directions while Chebyshev polynomial along the wall-normal direction. A first order explicit Euler method is used to advance the equations for the Lagrangian particles motion. A two-dimensional pencil distributed MPI parallelization is implemented and OpenACC directives are used to execute the code on GPUs.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"313 ","pages":"Article 109640"},"PeriodicalIF":7.2000,"publicationDate":"2025-04-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525001420","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

Abstract

We present FLOW36, a GPU-ready solver for interface-resolved simulations of multiphase turbulence. The simulation framework relies on the coupling of direct numerical simulation of turbulence, used to describe the flow field, with a phase-field method, used to describe the shape and deformation of a deformable interface and the presence of surfactants. An additional transport equation for a passive scalar can be solved to describe heat transfer in multiphase turbulence. The governing equations are solved in a cuboid domain bounded by two walls along the wall-normal direction where no-slip, free-slip or fixed/moving wall boundary conditions can be applied, while periodicity is applied along the streamwise and spanwise directions. The numerical method relies on a pseudo-spectral approach where Fourier series (periodic directions) and Chebyshev polynomials (wall-normal direction) are used to discretize the governing equations in space. Equations are advanced in time using an implicit-explicit scheme. From a computational perspective, FLOW36 relies on a multilevel parallelism. The first level of parallelism relies on the message-passing interface (MPI). A second level of parallelism uses OpenACC directives and cuFFT libraries; this second level is used to accelerate the code execution when heterogeneous computing infrastructures are targeted. In this work, we present the numerical method and we discuss the main implementation strategies, with particular reference to the MPI and OpenACC directives and code portability, performance and maintenance strategies. FLOW36 is released open source under the GPLv3 license.

Program summary

Program Title: FLOW36
CPC Library link to program files: https://doi.org/10.17632/ygcn7dsb9k.1
Developer's repository link: https://github.com/MultiphaseFlowLab/FLOW36
Licensing provisions: GPLv3 License
Programming language: Modern Fortran
Nature of problem: Solving the three-dimensional incompressible Navier–Stokes equations in a Cartesian domain configured for open and closed channel flows. A phase-field method is used to describe the shape and topological changes of deformable interfaces. Additional equations are included to account for the presence of surfactants, heat transfer problems and for the transport of point-wise Lagrangian particles.
Solution method: The system of governing equations is advanced in time using an implicit-explicit strategy while the governing equations are discretized in space using a pseudo-spectral approach: Fourier series are employed along the homogeneous directions while Chebyshev polynomial along the wall-normal direction. A first order explicit Euler method is used to advance the equations for the Lagrangian particles motion. A two-dimensional pencil distributed MPI parallelization is implemented and OpenACC directives are used to execute the code on GPUs.
FLOW36:异构计算架构下基于相场的多相湍流模拟的光谱求解器
我们提出了FLOW36,一个gpu就绪的求解器,用于接口解析的多相湍流模拟。该模拟框架依赖于直接数值模拟湍流的耦合,用于描述流场,采用相场法,用于描述可变形界面的形状和变形以及表面活性剂的存在。可以解出一个附加的被动标量输运方程来描述多相湍流中的传热。控制方程在沿墙法方向由两面墙围成的长方体域中求解,其中可以应用无滑移,自由滑移或固定/移动的墙边界条件,而沿流方向和展向方向应用周期性。数值方法依赖于伪谱方法,其中使用傅立叶级数(周期方向)和切比雪夫多项式(壁法向)在空间上离散控制方程。利用隐显格式在时间上推进方程。从计算的角度来看,FLOW36依赖于多级并行性。第一层并行性依赖于消息传递接口(MPI)。第二层并行使用了OpenACC指令和cuFFT库;第二层用于在针对异构计算基础设施时加速代码执行。在这项工作中,我们提出了数值方法,并讨论了主要的实现策略,特别是MPI和OpenACC指令以及代码可移植性,性能和维护策略。FLOW36在GPLv3许可下开源发布。程序摘要程序标题:FLOW36CPC库链接到程序文件:https://doi.org/10.17632/ygcn7dsb9k.1Developer's存储库链接:https://github.com/MultiphaseFlowLab/FLOW36Licensing条款:GPLv3许可证编程语言:现代fortran问题的性质:解决三维不可压缩的纳维-斯托克斯方程在一个笛卡尔域配置为开放和封闭的通道流。采用相场法描述可变形界面的形状和拓扑变化。附加的方程包括考虑表面活性剂的存在,传热问题和点向拉格朗日粒子的输运。求解方法:控制方程系统在时间上采用隐显策略进行推进,控制方程在空间上采用伪谱方法进行离散,沿齐次方向采用傅立叶级数,沿壁法向采用切比雪夫多项式。采用一阶显式欧拉方法对拉格朗日粒子运动方程进行了推导。实现了二维铅笔式分布式MPI并行化,并使用OpenACC指令在gpu上执行代码。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Computer Physics Communications
Computer Physics Communications 物理-计算机:跨学科应用
CiteScore
12.10
自引率
3.20%
发文量
287
审稿时长
5.3 months
期刊介绍: The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper. Computer Programs in Physics (CPiP) These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged. Computational Physics Papers (CP) These are research papers in, but are not limited to, the following themes across computational physics and related disciplines. mathematical and numerical methods and algorithms; computational models including those associated with the design, control and analysis of experiments; and algebraic computation. Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信