没有合适的资源?快使用搜索试试~ 我知道了~
*SoftwareX 7(2018)112原始软件出版物Eddyicious:用于湍流流入生成的Python软件包Mukhaa,*,Mattias Liefvendahla,ba瑞典乌普萨拉,乌普萨拉大学信息技术系,Box 337,SE-751 05bFOI,Totalförsvarets forskningsinstitut,164 90,Stockholm(斯德哥尔摩),瑞典ar t i cl e i nf o文章历史记录:2016年8月25日收到2018年4月4日收到修订版,2018年保留字:入流产生CFD边界条件a b st ra ct介绍了一个用于生成湍流尺度分辨计算机模拟入流的Python软件包。该软件包的目的是将现有的流入生成方法合并到一个代码库中,并使各种计算流体动力学(CFD)求解器的用户可以访问这些方法目前现有的功能包括一个精确的流入生成方法,适用于湍流边界层流入和输入/输出例程与开源CFD求解器OpenFOAM耦合。版权所有©2018作者.由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本0.0.5用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-16-00069GNU通用公共许可证第3使用git的代码版本控制系统使用Python、MPI、HDF5的编译要求,操作环境依赖Python和以下Python包:numpy,scipy,matplotlib,h5py、mpi4py和Sphinx如果可用,链接到开发人员文档/手册eddylicious.readthedocs.io技术支持电子邮件,如有疑问,请联系timo.mukha@ it.uu.se1. 动机和意义当传统的湍流模型无法提供准确的结果时,模拟湍流的尺度分辨方法随着更大的计算资源变得可用,可以预期尺度分辨模拟在未来几十年将变得越来越普遍[1]。流体流动可以用一组偏微分方程来数学描述。为了得到唯一的解,方程必须由初始和边界条件补充对于大范围的流动情况,一个重要的挑战是在入口边界处描述数据如果采用尺度分辨模拟方法,则该问题变得特别复杂,因为所有此类模拟根据定义都是瞬态的,并且因此必须在通讯作者。电子邮件地址:timoan.mukha@ it.uu.se(T. Mukha),mattias. it.uu.se(M.Liefvendahl)。https://doi.org/10.1016/j.softx.2018.04.001边界已经开发了各种各样的方法来解决这个复杂的问题。在[2- 5 ]中可以找到对几个问题的评论目前,已建立的和新开发的方法的采用受到限制,因为它们通常在特定CFD求解器的框架内实现。因此,不同的方法在不同的求解器中使用各种语言和实现。本文介绍了Python软件包eddyicious。该方案的长期目标是统一现有的流入生成方法。生成的流入场由eddyicious保存到磁盘。 这需要存储大型数据集,但也允许将生成方法本身与具体的CFD软件解决方案分开。一个给定的CFD求解器可以利用软件包中实现的所有方法,只需从磁盘读取边界数据由于大多数求解器都希望数据以特定的格式存储,因此eddyicious的结构允许轻松地将对新I/O格式的支持添加到包中。2352-7110/©2018作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx2. 软件描述2.1. 软件构架T. Mukha,M. Liefvendahl / SoftwareX 7(2018)112-114113文件可供用户使用生成的文件可以作为eddyicious的输入。提出了一种适用于旋转流场模拟的入流生成方法,在[ 8 ]中介绍了膨胀边界层(TBL它是基于在eddyicious中,流入生成器和I/O例程的实现被分成不同的模块。因此,包由三个模块组成:读取器、写入器和生成器。顾名思义,generators模块专用于各种流入生成方法,writers模块专用于输出到不同文件格式的例程,而reader模块专用于输出到不同文件格式的例程。模块的功能,用于读取的几何规格并从磁盘读取先前保存的速度场对于那些依赖于使用由另一个模拟生成的数据的流入生成方法,需要后者此外,该软件包还提供了一些实用程序,可以简化某些例行任务,例如从一种文件格式转换为另一种文件格式。用户通过可执行的Python脚本与包进行交互,这些脚本通过配置文件接受用户输入。 generators模块中的每个方法都有一个关联的脚本,该脚本解析配置文件并调用与用户选择的I/O和流入生成相关联的适当函数。 配置文件是一个文本文件,每行都有一个参数名和值对。需要指定的参数取决于流入生成和I/O方法。软件包的贡献者可能是研究人员和其他CFD用户。因此,包的实现是使用过程编程完成的。每个子例程都使用NumPy风格的文档字符串进行了详细的文档记录。1 从埃迪-licious是用Python编写的,这是一套广泛的状态-科学计算的艺术库可供开发人员使用所有这些因素使eddyicious成为一个新的流入生成方法快速原型的优秀平台2.2. 软件功能目前,该软件包支持多种I/O格式和单一的流入生成方法。假设唯一需要考虑的量是速度场。这限制了在当前阶段,eddyicious的应用程序的不可压缩流的模拟,因为可压缩流的几个热力学量必须规定在入口处。支持两种输出文件格式第一种是免费提供的通用CFD求解器Open- FOAM的本地格式[6]。瞬时速度场保存为文本文件,每个文件包含速度矢量的三个笛卡尔坐标的有序列表值得注意的是,单个文件表示每次步骤,这是该格式的一个主要缺点,因为根据模拟的时间范围,可能必须创建数十万个文件还保存了一个包含空间坐标列表的文件,该文件包含形成入口边界的面的中心Eddyicious还能够将生成的字段输出到单个HDF5文件[7]。它通过消息传递接口(MPI),这使得它非常适合在许多处理器上分配工作负载的CFD读取器模块的功能类似。在Open-FOAM中,采样数据可以以特定的格式写入磁盘,称为foamFile。eddyli-cious支持这种格式的数据输入。此外,一个实用程序脚本,用于将保存为多个foamFile文件的采样速度值数据库转换为单个HDF51 https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst。txt。对来自位于所述入口下游的采样平面的所述瞬时速度值应用重新缩放过程 重新标定过程确保流入满足某些期望特性,例如边界层厚度和摩擦速度的值。 这个重新缩放过程在eddyicious中实现。重新缩放过程对相应的速度值进行操作响应于单个时间步长,使得容易并行化流入生成过程(这在eddyicious中使用MPI完成)。线性空间插值也内置到重新缩放过程中因此,重新缩放的值和生成的值的位置在[8]中,假设要重新缩放的值取自TBL模拟。然而,在eddylicious中,也可以从湍流槽道流的模拟一个重要的限制是,入口被假定为矩形,并使用结构化的直线网格进行网格划分。这种类型的入口几何形状对于一系列湍流是常见的,但限制了eddyicious在工业应用中的可用性。对代码进行一般化以支持其他网格类型和几何配置是一项高优先级任务。3. 说明性实例从功能的描述中可以清楚地看出,eddyli- cious目前最适合于为规范壁边界湍流的OpenFOAM模拟生成流入特别是那些在区域入口处具有湍流槽道流或TBL的流动本节将介绍属于这一类别的一些说明性例子。3.1. 实施例1湍流槽道流完全由无量纲参数雷诺数Re的值描述,[9]。由于可以采用流向周期性边界条件,现在,考虑平面扩散器的模拟特别地,其中进入扩散器的流对应于充分发展的湍流槽道流的流。在这种情况下,从通道流模拟中的平面采样的速度值可用作扩散器模拟的入流。使通道流模拟的雷诺数与扩压器入口处的雷诺数一致然后,采样的 速度值只 需要映射 到进气道 的计算这 个任务可 以使用eddyicious来完成。同样,通道流动和扩散器模拟都是使用OpenFOAM进行的。位于槽流模拟中的采样平面的速度值可以foamFile 格 式 保 存 到 磁 盘 中 。实 用 程 序convertFoamFileToHDF5在eddylicious中发现的可以用来转换所有的亲,将foamFile文件导入到单个HDF5文件中,处理起来更加方便。然后,通过使用相关的runLundRescal脚本执行的已实现流入生成方法可用于读入采样速度,并将其输出到根据OpenFOAM规范格式化的文件中,以存储边界数据。请注意,空间插值将如果扩散器模拟入口处网格的面中心位置与通道流模拟中使用的采样点位置不一致,则自动执行114号T. Mukha,M.Liefvendahl/SoftwareX 7(2018)1123.2. 实施例2后向台阶(BFS)模拟需要在区域流入处设置TBL [10]。与前面的示例类似,可以设置单独的TBL模拟以生成流入。与槽道流的情况一样,流入TBL可由Re值表征。考虑这样一种情况,即在前体TBL中,通过尺寸参数值的不同组合实现雷诺数等于BFS模拟流入时的雷诺数。在这种情况下,可以使用eddyicious内置的重新缩放[8]来重新缩放采样速度场,以保持雷诺数不变,但将尺寸参数的值更改为流入时所需的值3.3. 实施例3考虑平滑斜坡上的流动模拟,例如:重复在[11]中发现的实验装置。实验采用风洞,因此在模拟的入口边界处应存在两个TBL,可以使用单独的TBL模拟来生成入流,如前一示例所示。然而,为了节省计算资源,可以使用信道流来代替。作为一种近似,可以将通道流看作是附接到通道的相应壁的两个边界层,在远离壁的区域中彼此相互作用。因此,通道的每一半(在壁法线方向上)可以与单个TBL相对应。eddyicious完全支持这种方法。从河道水流模拟中采样的流速值可用于产生对应于两个TBL的两个单独的流入速度数据库。在区域的顶壁和底壁处的TBL的特征可能不在于相同的雷诺数值。为了处理这一点,流入生成过程针对每个TBL单独运行,从而使得可以在每种情况下提供不同的重新缩放参数。4. 影响该软件包目前用于不同流入生成方法的计算实验,参见[12]。 它还用于前一节所述的壁边界湍流模拟。在当前版本的eddyicious(0.0.5)中,功能已经足够成熟和稳定,以便其他人从中受益并为其做出贡献该软件的主要影响是,它使CFD社区的成员能够轻松地共享新开发的流入生成方法,这些方法可以使用新手友好的编程语言和可用的优秀库来实现。随着新的I/O方法的添加,对eddyicious的贡献将变得更加有吸引力,因为潜在的用户群将包括几个CFD求解器。新求解器的开发人员可能会选择依赖eddyicious,而不是在内部实现流入生成在一个屋檐下有许多方法也会影响生成方法的基准测试特别是,使用单个CFD求解器比较几种方法将是容易的并保持所有其他模拟参数固定,这在[2]之前是困难的。从用户的角度来看,复杂的流入生成任务将得到简化,因为有多种方法可供选择,所有方法都包含在一个软件包中。5. 结论这项工作提出了Python包eddyicious,专门用于湍流流入的生成。该软件包建立了一个框架,用于在单个代码库中收集流入生成方法。生成的场被存储,从而允许与任何支持从磁盘读取边界数据的CFD软件接口当前包含的I/O例程使其方便地与求解器OpenFOAM一起使用该包。实现的流入生成方法提供了一种通用的和准确的方法来生成流入,用于模拟涉及TBL或入口处的湍流通道流的流动软件包的功能以及源代码都有很好的文档记录。确认作者要感谢乌普萨拉大学的Saleh Rezaeiravesh,他测试了这个软件包并审阅了文档的文本。此外,Stanislav Markin在编程和软件设计方面的建议也得到了感谢。测试软件包所需的计算是在PDC 高性 能计算中心( PDC-HPC)的瑞典国家计算基础设施(SNIC)提供的资源这项工作得到了瑞典研究委员会621- 2012-3721号拨款的支持引用[1] [10]李文,李文.CFD愿景2030研究:通往革命性计算航空科学的道路。NASA;2014.网址http://ntrs.nasa.gov/search.jsp? R=20140003093。[2] Tabor G,Baba-Ahmadi MH.边界层模拟紊流入流条件的产生J ComputPhys1998;140:233-58.得双曲正切值.doi.org/10.1016/j.compfluid.2009.10.007网站。[3] 吴 X 。 入 流 湍 流 生 成 方 法 。 Annu Rev Fluid Mech 2017;49 :23http://dx.doi.org/10.1146/annurev-fluid-010816-060322网站。[4] JarrinN.湍流数值模拟的合成入流边界条件[Ph.D. 曼彻斯特大学; 2008年。[5] Sagaut P.不可压缩流的大涡模拟。Springer-Verlag;2006.[6] 吴伟杰,王晓刚,王晓刚.使用面向对象技术的计算连续介质力学的张量方法。Comput Phys 1998;12(6):620-31. http://dx.doi.org/10.1063/1.168744网站。[7] HDF 组 , HDF5 用 户 指 南 , 2016 年 。 网 址 https://www.hdfgroup.org/HDF5/doc/。[8] Lund TS,Wu X,Squires KD.边界层模拟紊流入流条件的产生。J ComputPhys 1998;140:233-58. 得双曲正切值. doi.org/10.1006/jcph.1998.5882网站。[9] Pope SB.湍流。北京:清华大学出版社.[10] 李文,等.后台阶湍流流动的直接数值模拟.北京:清华大学出版社,2001.流体机 械 杂 志 1997;330 : 349-74. http : //www.example.comdx.doi.org/10 。1017/S0022112096003941。[11] Song S,DeGraaff DB,Eaton JK.光滑轮廓斜坡上分离、再附着和再发展流的实验研究国际热流体流动杂志2000;21:512http://dx.doi.org/10.1016/S0142-727X(00)00039-4.[12] Mukha T,Liefvendahl M.用前驱通道流模拟产生紊流入流边界条件计算机流体2017;156:21http://dx.doi.org/10.1016/j.compfluid.2017.06.020网站。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功