没有合适的资源?快使用搜索试试~ 我知道了~
一种用于分段线性接口构造(PLIC)的深度学习算法Mohammadmehdi Ataei,1,2Erfan Pirmorad,2Franco Costa,3Sejin Han,4Chul B Park,2Markus Bussmann21Vector Institute for Artificial Intelligence,661 University Ave Suite 710,Toronto,ON M5G 1M1,Canada地址:5King3Autodesk,Inc.,259-261科尔切斯特路,Kilsyth,VIC.3137,澳大利亚4Autodesk,Inc.2353 North Triphammer Rd.,Ithaca,NY 14850,USA{ataei,pirmorad} @ mie.utoronto.ca,{franco.costa,sejin.han} @ autodesk.com,{park,bussmann} @mie.utoronto.ca摘要在两相流的计算流体动力学(CFD)模拟中,分段线性界面构造(PLIC)经常被PLIC从标量场重建界面,标量场表示每个计算单元中每个相的体积分数。给定体积分数和界面法线,线性界面的位置被唯一地定义。 对于立方体计算单元(3D),通过将立方体与平面相交来确定平面界面的位置,使得所得截顶多面体单元的体积等于体积分数。 然而,找到平面的确切位置在几何上是复杂的,并且它涉及的计算可能是许多CFD模型的计算瓶颈。然而,虽然三维PLIC的正问题是复杂的,反问题,找到截断的多面体细胞给定一个定义的平面的体积,是简单的。 在这项工作中,我们提出了一个深度学习模型,通过只利用其逆问题来解决PLIC的正问题。与传统格式相比,该模型的计算速度提高了几个数量级,大大降低了PLIC在CFD模拟中的计算瓶颈介绍多相流(由多于一种组分组成的)在自然界中是普遍存在的,并且在各种实际应用中是令人感兴趣的,并且因此已经对这种流的计算建模进行了大量的工作(例如,Balachandar and Eaton 2010; Rothman and Zaleski1994; Wang et al.2016年)。多相流建模的挑战之一是跟踪不同相之间的界面。在众多的欧拉和拉格朗日界面跟踪方案中,流体体积(VOF)欧拉方法被广泛使用(Hirt和Nichols 1981)。在VOF方法中,如图1a所示,每个计算单元内两相之一的体积分数由标量场α表示。例如,对于液-气系统,在液相或气相分别占据的每个计算单元中α= 1或α=0,版权所有© 2021本文由其作者,允许使用知识共享许可证署名4.0国际(CC BY 4.0)。图1:a)液-气系统的VOF标量场的示例。在液体电池中α= 1,在气体电池中α= 0,并且0α<1。0. 5,α改为1α,以匹配五种情况之一)。平面d的常数是到平面的最小距离到与立方单元边缘一致的笛卡尔坐标的原点,这必须被计算。计算d的问题被称为PLIC的前向问题(Scardovelliand Zaleski 2000)。到目前为止,许多研究已经将PLIC用于结构化和非结构化网格上的界面重构,以及相关的计算,例如计算两个界面之间的距离,并提出了改进以降低实现复杂性并提高其 效 率 ( Lo′pezetal.2005;Ataei 等 人 2021b;Dai 和Tong2019; Ataei et al. 2021 a; Nahed and Dgheim 2020;Scheufler and Roenby 2019)。可以使用简单的解析解Nikolaev,Richter,and Sadowski 2020;2020; Yoon,Melander和Verzi 2020)。以前,我们已经公开了一种替代的基于神经网络的技术来执行PLIC计算,通过用PLIC解决方案的大型合成数据集训练神经网络(Ataei et al.2021年a)。在这项工作中,我们提出了一个直接的解决方案,PLIC的前向问题,使用一个完全连接的深度神经网络(DNN)。与以前的工作不同,我们证明了DNN可以解决PLIC的我们表明,除了其简单性,这种方法显着优于其他传统的PLIC实现。方法我们通过将PLIC的正向问题转换为可以使用DNN解决的优化问题来解决PLIC的正向问题。在Σ1−−1−2123在正问题中,我们必须找到d,使得多面体胞腔的体积V等于单位立方胞腔中的体积分数αV=α(1)通过将损失函数L定义为:L=(V(d,m→)−α)2(2)批该 DNN 在 Pytorch 深 度 学 习 库 中 实 现 ( Paszke etal.2019年)。我们对所有层使用ReLU激活函数,除了输出层,它是一个线性激活函数。方程中的自定义损失函数的梯度使用Pytorch自动微分autograd包计算2F或DNNm→的输入被均匀采样,其中所有三个坐标都是正的。类似地,α在0和0之间均匀采样。五、 我们总共使用了5000个随机洗牌的样本点,分为三个数据集:70%培训,20%测试,10%验证。 该模型其中m→=(m1,m2,m3)是→n沿在训练数据集上训练,验证数据集是图2所示的轴(Jafari,Shirani和Ashgriz 2007),计算如下:01- 02|n x|、|n y|、|n z|)≥ 0用于确保模型在训练过程中不会过拟合准确性。01 - 03- 0 |n x|、|n y|、|n z|)> 0m2:= |n x|+的|n y|+的|n z|− m1−m3≥ 0(三)网络权重和偏置在开始时使用Xavier初始化(Glorot和如图3所示,我们设计了一个多层感知器(MLP)神经网络,它具有完全连接的层,包括一个输入层,H个隐藏层,每个隐藏层有N个神经元,以及一个输出层,以解决这个优化问题。网络基于m→和α作为输入输出d。如果V(d,m→)之间的差异,基于预测的d(DNN的输出),已知的α足够最小化,则通过DNN解决前向PLIC问题。该技术的优点之一是(不像用于训练DNN的常规方法),不需要合成数据来训练DNN,因为DNN通过最小化该损失函数来自动找到前向PLIC问题的解决方案。幸运的是,制定V(即, 平面参数(d,m→)的PLIC反问题是一个直接的几何问题。平面下的体积可以通过计算平面与三个坐标(S1,S2,S3)的交点之间形成的金字塔的体积,然后减去延伸到立方体之外的部分的体积来找到(见图2)。这样的计算结果在五种情况下的每一 种 情 况 下 都 得 到 了 一 组 V 的 方 程 , 如 下 所 示(Scardovelli和Zaleski 2000):1(d,m→)0≤d≤m1·Bengio 2010)。这里给出的结果是使用六个不同的随机种子进行网络初始化的六次运行的平均值使用AdamOptimizer(Kingma and Ba 2015)调整权重和偏倚,批次大小为64,共512个时期。结果评估指标培训在运行Ubuntu 20.04 (Intel i7- 8700 K,NVIDIA1080 Ti显卡(CUDA版本11.0),32 GB RAM)的PC上进行。训练每个网络大约需要20分钟。图4中显示了H=1,N=24的DNN的训练进度。训练和验证数据集的均方误差(MSE)在训练过程中都有所下降。模型性能根据测试数据集。图5显示了具有不同H和N的DNN的MSE和最大绝对误差。请注意,H=2,N=48的网络是最准确的;然而,与近似PLIC的PLIC模型相比,具有更少神经元和隐 藏 层 的 其 他 网 络 也 表 现 得 相 当 或 更 好 ( 例 如Kawano2016)。为了可视化DNN模型的准确性,图6根据预测的d值绘制了α值,V=1λ其中:f2(d,m→)m1≤d≤m2f3(d,m→)m2≤d≤min(m1+m2,m3)f4(d,m→)m3≤df5(d,m→) min(m1+m2,m3)≤d≤m3f1=d3f2=d3−δ3f3=d3−δ3−δ3(四)(五)DNN(H=2,N=48)对α的实值,测试数据集中的200个随机数据点可以我们看到,预测的结果之间存在很好的一致性。α和实数α,接近所有点都位于对角线上的理想情况加速比使用DNN进行PLIC计算的优点是它的执行速度比解析解快得多更多-f4=d3−δ3。−δ3−δ3Σ2此外,DNN模型可以很容易地在两个平台上并行化。其中:1f5=6m1m2d−(m1+m2)CPU和GPU。图7示出了DNN(H=2,N=1)的比较。48)与Scardovelli和Zaleski(Scardovelli和Za-δ1=d m1δ2=d m2δ3=d m3λ= 6m1m2m3(六)Leski 2000)解析解。为了比较模型,解析解用C++实现,并使用GCC编译器9.3版使用优化标志-O3进行编译。Pytorch DNN模型被转换为Torch-图4:在512个epoch上的训练进度,批次大小为64,DNN有一个隐藏层,24个神经元,种子= 100。图5:测试数据集上的均方误差(MSE)和最大绝对误差,针对具有不同H和N的不同DNN模型。脚 本 并 导 入 到 C++ 中 。 使 用 std : : chrono 库 和Pytorch首先,我们比较了两种模型在一个CPU核心上的执行时间由于DNN可以批量执行PLIC计算,因此我们使用随机和均匀生成的α和m→为不同数量的细胞运行模型。在一个CPU上,DNN模型比1000个细胞的分析模型然而,当细胞数量增加到1000万时,加速增益仅为1.3。这是预期的,因为对于大批量,将张量移动到RAM的开销变得很大DNN模型在GPU上的加速效果明显更好(即使考虑到将数据移动到GPU的开销),使用1000万个单元,我们实现了超过41倍的加速。在我们之前的工作中,我们证明了图6:DNN预测与真实α的图,DNN有两个隐藏层,每个层有48个神经元(种子= 400)。为了避免混乱,仅从测试数据集中选择200个随机点。虽 然 传 统 算 法 如 Scardovelli 和 Zaleski ( Scardovelli 和Zaleski 2000)需要比神经网络方法更少的浮点运算,但神经网络模型更好地利用硬件并以每秒更高的浮点运算进行操作(Ataei et al.2021年a)。图7:DNN模型与Scardovelli和Zaleski的分析解决方案(在一个CPU核心上运行作为基线)相比的加速在CFD求解器LBfoam(Ataei et al.2021b)是用于发泡模拟的自由表面晶格Boltzmann解算器在LBfoam中,两个相邻气泡界面之间的分离..Σ1−分离两个气泡的液体 分离压力在距离δ max处是有效的,并且是气泡界面之间的距离δ的函数,如下:Dai,D.;和Tong,A. Y. 2019.三维多面体非结构网格PLIC-VOF 方 法 中 的 解 析 界 面 重 构 算 法 InternationalJournal for Numerical Methods in Fluids91(5):213=0kδδmaxδ > δmaxδ δmax(七)D'Elia,M.; Karniadakis,G.; Pang,G.; Parks,M. 2020.非局部物理信息神经网络-一个统一的其中k是常数。为了计算δ,LBfoam用PLIC重构相邻气泡界面。为了验证DNN模型在CFD求解器中是否按预期工作,我们将LBfoam中的PLIC计算模型替换为H=2和N=48的训练DNN模型。图8显示了基于相同参数的仿真结果。在相同的时间步长下。左侧使用DNN进行模拟,右侧使用分析PLIC。可以看出,模拟结果是相同的。 取决于需要界面重构的单元的数量(即,比δ max更接近的界面单元),界面构建的加速增益在1.5-3倍之间。结论在本文中,我们提出了一个DNN模型来解决PLIC的前向问题我们证明了DNN可以在没有合成数据集的情况下使用其逆问题来学习解决PLIC的DNN实现比分析方法快几个数量级,具有相同的精度。DNN的实现可以很容易地移植到各种CFD求解器上,并且可以通过CPU和GPU并行高效地加速我们在LBfoam CFD求解器中实现了DNN模型,以验证该模型在实际环境中的性能。确认我 们 感 谢 加 拿 大 自 然 科 学 和 工 程 研 究 委 员 会(NSERC)和Autodesk Inc.他们的财政支持。引用Ataei,M.; Bussmann,M.; Shaayegan,V.; Costa,F.;汉,S.;和Park,C. B. 2021年a. NPLIC:一种分段线性接口构造的Ataei,M.; Shaayegan,V.; Costa,F.;汉,S.;帕克角,澳 - 地 B. 人 ; 和 Bussmann , M. 2021b 的 最 后 一 页 。LBfoam : 一 个 开 源 软 件 包 , 用 于 使 用 LatticeBoltzmann方法模拟发泡计算机物理通讯259:107698.Balachandar,S.;和Eaton,J.K. 2010年。湍流分散多相流。Annual Review of Fluid Mechanics42(1):111-133.Brenner , M.P 的 ; Eldredge , J.D. 的 ; 和 Freund , J.B.2019年。 机器学习对流体力学发展的展望。Phys. Rev.Fluids4:100501.Brunton,S. L.的;诺克湾的R.; Koumoutsakos,P. 2020.流 体 力 学 的 机 器 学 习 。 Annual Review of FluidMechanics52(1):477非局部模型的理论和计算框架在AAAI春季研讨会:MLPS。Glorot,X.;和Bengio,Y. 2010.了解训练深度前馈神经网络的困难。 在第十三届人工智能和统计学国际会议的临时会议上,机器学习研究论文集第9卷,249-256。JMLR研讨会和会议记录。Hirt,C.; Nichols,B. 1981.自由边界动力学的流体体积( VOF ) 方 法 。 Journal of Computational Physics39(1):201Jafari,A.; Shirani,E.;和Ashgriz,N. 2007.自由表面流中界面压力计算的改进三维模型。International Journalof Computa- tional Fluid Dynamics21(2):87Kawano,A. 2016.三维两相流的一种简单的流体体积重建方法。计算机&流体134-135:130-145.Kingma,D. P的;和Ba,J. 2015。Adam:一种随机优化方法。在第三届国际会议上学习表示,ICLR 2015,圣地亚哥,加利福尼亚州,美国,2015年5月7日至9日,会议跟踪程序。Kothe,D. B.人;和Mjolsness,R. C. 1992. RIPPLE -一个新 的 模 型 , 用 于 不 可 压 缩 流 与 自 由 表 面 。 AIAAJournal30(11):2694Lafaurie,B.; Nardone,C.; Scardovelli,R.; Zaleski,S.;Zanetti,G.一九九四年用SURFER模拟多相流中的合并和破碎Journal of Computational Physics113(1):134Lopez,J.; Herna'ndez,J.; Go'mez,P.; 和Faura,F. 2005年一种改进的PLIC-VOF方法用于追踪不可压缩两相流中的薄 流 体 结 构 Journal of Computational Physics208(1):51Nahed,J.;和Dgheim,J. 2020。界面平流PLIC-VOF方法传热与传质56(3):773Nikolaev,A.;里希特岛;和Sadowski,P.2020年。大西洋气候模式的深度学习。在AAAI春季研讨会:MLPS。Paszke , A.; Gross , S.; Massa , F.; Lerer , A.;Bradbury , J.; Chanan , G.; Killeen , T.; Lin , Z.;Gimelshein,N.; Antiga,L.; Desmaison,A.;Kopf,A.;Yang,E.;DeVito,Z.;赖森,M.;泰贾尼,A.; Chilamkurthy,S.; Steiner,B.;芳湖;白,J.;和Chintala,S. 2019. PyTorch:一个命令式风格的高性能深度学习库。In Wallach,H.; Larochelle,H.;Begelzime r,A.; d'Alc he'-Buc,F.; Fox,E.; 和加内特,R.,编辑,神经信息处理系统进展,第32卷,8026-8037。Curran Associates,Inc.图8:使用LBfoam软件进行3D发泡模拟。使用DNN(左)和分析PLIC(右)计算气泡之间的分离压力。Pfaff,T.; Mr. P.; Sanchez-Gonzalez,A.;和Battaglia,P.W. 2020年。 学习基于网格的模拟与图形网络。Raissi,M.; Yazdani,A.; Karniadakis,G. E. 2020.隐藏的 流 体 力 学 : 从 流 动 可 视 化 中 学 习 速 度 和 压 力 场 .Science367(6481):1026Rider,W.J.道:和Kothe,D.B. 1998年重建容积追踪Journal of Computational Physics141(2):112- 152.Rothman,D. H.的;和Zaleski,S. 1994. 相分离的格子气模型:界面、相变和多相流。Rev. Mod. Phys.66:1417Scardovelli,R.;和Zaleski,S. 2000.在矩形网格中连接线性界面和体积分数解析关系Journal of ComputationalPhysics164(1):228Scheufler,H.;Roenby,J.2019年。在一般网格上从体积分数数据精确和高效地计算物理学杂志383:1辛格A.P的; Medida,S.;Duraisamy,K.2017年。翼型湍流 分 离 流 的 机 器 学 习 增 强 预 测 建 模 AIAA Journal55(7):2215Skarysz,M.;Garmory,A.;和Dianat,M.2018年作为耦合水平集流体体积求解器的一部分,在一般凸网格中PLIC的迭代Journal of Computational Physics368:254王志- B.人;陈,R.;王,H.;廖,Q.; Zhu,X.;和Li,S.- Z.2016.光滑粒子流体动力学模拟多相流综述。应用数学建模40(23):9625杨,X.;和James,A. J. 2006.三角形和四面体网格中重建分 段 线 性 界 面 的 解 析 关 系 。 Journal of ComputationalPhysics 214(1):41-54.尹,H.;Melander,D.;和Verzi,S.J. 2020年。基于物性的卷积神经网络预测多孔介质渗透率。在AAAI春季研讨会:MLPS。Youngs,D. L. 1982.具有大变形的多物质时变流体力学数值方法。
下载后可阅读完整内容,剩余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直接复制
信息提交成功