首页/文章/ 详情

SPH模拟的并行计算和GPU加速研究

15小时前浏览6

文一:

 

并行瞬态动力学模拟:接触检测和光滑粒子流体动力学算法

摘要:

瞬态动力学模拟通常用于模拟诸如车祸、水下爆炸以及船舶集装箱对高速撞击的反应等现象。在这样的模拟中,物理对象通常用拉格朗日网格来表示,因为网格在物体承受应力时可以随物体移动和变形。模拟中的流体(汽油、水)或类流体材料(土壤)可以用光滑粒子流体力学技术进行模拟。在大规模并行处理机计算机上实现混合网格/粒子模型带来了一些困难的挑战。一个挑战是同时并行和负载平衡计算的网格和粒子部分。第二个挑战是在模拟过程中有效地检测变形网格内部以及网格单元和颗粒之间的接触。这些接触传递力的网格元素和粒子,必须计算在每个时间步骤,以准确地捕捉物理的兴趣。本文介绍了光滑粒子流体动力学和接触检测的新的并行算法,它们具有几个共同的关键特征。此外,我们描述了如何将新算法与传统的并行有限元技术相结合,创建一个完整的粒子/网格瞬态动力学仿真。我们解决这个问题的方法不同于以前的工作,我们使用了三种不同的平行分解方法,一种是静态分解,另一种是动态分解,分别用于有限元分析和接触检测。我们已经在一个并行版本的瞬态动力学代码 PRONTO-3D 中实现了我们的想法,并展示了在桑迪亚基于奔腾的英特尔万亿次运算机上运行的代码的结果。

 

图:结合有限元和光滑粒子流体动力学模拟。

 

图:钢筋撞击砖墙的模拟。

 

图:穿透器撞击目标的FE/SPH混合模拟

文二:

 

用于图形显卡的通用平滑粒子流体动力学代码

摘要:

我们展示了现在开源的平滑粒子流体动力学代码miluphcuda的第二个版本。该代码设计用于在支持Nvidia CUDA的设备上运行。它处理一到三维问题,包括求解粘性和无粘性流体动力学流动方程、使用SPH的连续介质力学方程和使用Barnes–Hut树的自重的模块。覆盖材料模型包括不同的孔隙率和塑性模型。实现了几个状态方程,特别是碰撞物理方程。介绍了数值格式的基本思想,解释了代码的用法,并通过不同的应用表明了它的通用性。该代码特此公开。

 

图:落入多孔尘饼中的玻璃珠的弹坑深度

 

图:以目标为中心的帧中大小相似、差异化的实体的碰撞几何体。

 

图:为了可视化,使用UMAP将六维输入空间嵌入到二维分量a和分量b中。图的标题表示各自的颜色编码。请注意,只有保水性色标表示评估碰撞结果后的结果,其他色标表示初始条件。

 

图:原行星大小的天体之间肇事逃逸碰撞的快照。

 

图:颗粒柱的引力坍缩。SPH密度显示在左侧初始状态和右侧最终状态的体积渲染图像中。半径和高度之间的初始比值为a=0.55。

 

图:三种不同形状的投射物高速撞击锌板时产生的碎片云。

文三:

 

三维多相光滑粒子流体动力学的MPI并行化

摘要:

本文研究了三维多相平滑粒子流体力学(SPH)求解器的 MPI 平行化问题,重点研究了过冷大液滴(SLD)撞击问题。SPH 使用移动的粒子来表示流体流动,需要特殊的并行策略。细胞系统提供了一个空间参考,用于生成动态邻居列表,以及打包、发送和接收粒子。提出了一种适应粒子迁移的重新索引方法,并提出了一种序列粒子采集技术,降低了三维分区通信的复杂度。在1024个1.1亿粒子的处理器上进行了可扩展性测试,并研究了粒子负载对计算速度的影响。然后将求解器应用于不同冲击速度和直径下的液滴撞击,以研究由此产生的飞溅。这项工作为高度多线程的 SPH 解决方案提供了一种通用的方法,允许大量的计算来提高精度和/或参数研究的大量运行。

 

图:共享区域是沿着通信接口的单元层。

 

图:用于8个处理器上的立方域的1D、2D和3D划分策略。

 

图:重新索引技术以适应迁移的粒子(a)初始粒子位置(b)移动后的粒子位置(c)共享粒子(d)通过循环所有细胞重新索引粒子。

 

图:0.5毫米液滴撞击0.012毫米水膜的快照。

 

图:计算每个截面中粒子数量的径向装仓方法示意图。

 

图:液滴撞击不同直径的薄水膜的示意图。

文四:

 

用于大规模模拟的多GPU环境中的显式不可压缩平滑粒子流体动力学

摘要:

我们提出了一个具有稳定压力分布的显式不可压缩光滑粒子流体动力学公式,并在多个图形处理单元环境中实现。通过压力不变和无发散条件来稳定压力泊松方程,并使用Jacobi迭代求解器的第一步导出其显式公式。此外,我们还展示了如何将边界条件下的固定壁重影粒子应用到我们的显式方法中。该方法的验证和验证包括静水压和溃坝数值试验。与我们的单GPU实现相比,多GPU环境中的计算性能显著较高,具有合理的加速值。特别是,我们的代码允许模拟每个GPU卡上多达2亿的大量粒子。最后,为了说明我们的公式在模拟自然灾害方面的潜力,我们对2011年日本东日本大地震海啸淹没的著名福岛第一发电厂进行了模拟。

 

图:FWGP和虚拟标记定义。

 

图:单元格网格和粒子排序顺序的示意图。

 

图:将内存划分为多个GPU设备的示意图。

 

图:EISPH代码流程图。

 

图:a流体静力问题的几何参数,以及b由此产生的模拟粒子视图。

 

图:使用EISPH模拟有障碍物溃坝的粒子视图。

 

图:a P1、b P2、c P3和d P4有障碍物的模拟溃坝图形结果

 

图:溃坝模拟计算时间的图形表示。

 

图:福岛第一核电站初始条件下的三维粒子模型。

 

图:福岛海啸模拟压力分布。

文五:

 

加速多GPU集群上自由表面流的平滑粒子流体动力学模拟

摘要:

从平滑粒子流体动力学(SPH)代码DualSPHysics的单图形处理单元(GPU)版本开始,为自由表面流开发了一个多GPU SPH程序。该方法基于空间分解技术,将所研究物理系统的不同部分(子域)分配给不同的GPU。设备之间的通信是通过使用消息传递接口(MPI)应用程序编程接口(API)例程来实现的。详细描述了排序算法基数排序在GPU粒子间迁移和子域“halo”构建(实现不同子域的SPH粒子之间的相互作用)中的使用。一方面,利用由此产生的方案,可以进行也可以在单个GPU上执行的模拟,但现在可以比单独在这些设备中的一个上更快地执行模拟。另一方面,在当前架构上,可以使用多达3200万个粒子进行加速模拟,由于内存限制,这超出了单个GPU的限制。对弱和强缩放行为、加速和生成程序的效率进行了研究,包括阐明计算瓶颈的研究。最后,讨论了在我们的方案的未来版本中减少开销对计算效率影响的可能性。

 

图:使用三个GPU的多GPU SPH模拟快照,用于具有三个障碍物的溃坝。不同子域中的流体部分以不同的颜色显示,子域边界附近的白线对应于光晕。

 

图:具有两个节点的多GPU系统的图示,每个节点承载两个GPU。更一般地,多GPU系统由一个或多个计算节点组成,除了一个或更多个CPU之外,每个计算节点还托管一个或更多个GPU。不同的节点通过计算机网络技术连接,并通过MPI进行信息传输。

 

图:(a) 具有N个GPU的计算系统的一维域分解方案。总物理体积被划分为N个子域,每个子域被分配给不同的GPU。当从一个子域流到另一个子域时,以及当光环需要更新时,数据需要在GPU之间传输。(b) 处理相互作用范围内粒子动力学所需的数据(在我们的情况下,距离是平滑长度的两倍,2h)存储在子域的光晕中。

 

图:每个MPI进程用于使用不同数量的GPU进行模拟的CPU间通信的时间百分比。横轴对应MPI过程的标签。较小的时间对应于分配给模拟框端点的过程,如文中更详细的解释。

 

图:(a) 每个GPU固定数量的粒子nsub和增加数量的GPU的域分解方案,对应于弱缩放。(b) 对于给定数量的GPU(本例中为三个),可以显示光晕nhalo中粒子与nsub的比例降低,从而获得更好的缩放效果,如图所示。

来源:STEM与计算机方法
瞬态动力学碰撞通用船舶通信UM理论自动驾驶爆炸材料数字孪生渲染试验人工智能
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-11-01
最近编辑:15小时前
江野
博士 等春风得意,等时间嘉许。
获赞 56粉丝 83文章 153课程 0
点赞
收藏
作者推荐

PINN在固体力学当中的前沿应用

文一: 迁移学习增强的基于物理信息的神经网络用于裂缝相场建模摘要:在这项工作中,我们提出了一种新的物理知情神经网络(PINN)算法来解决脆性断裂问题。虽然文献中大多数可用的PINN算法都最小化了控制偏微分方程的残差,但所提出的方法通过最小化系统的变分能量来采取不同的路径。此外,我们修改神经网络输出,使与问题相关的边界条件得到准确满足。与传统的基于残差的PINN相比,该方法具有两大优点。首先,施加边界条件相对更简单、更稳健。其次,以变分能量的函数形式存在的导数的阶数比传统PINN中使用的残差形式的阶数低,因此,训练网络更快。为了计算系统的总变分能量,提出了一种以基于样条曲线的CAD模型描述的几何图形为输入,并采用高斯求积规则进行数值积分的有效方案。此外,我们注意到,为了获得裂纹路径,所提出的PINN必须在每个载荷/位移步骤进行训练,这可能会使算法在计算上效率低下。为了解决这个问题,我们建议使用“迁移学习”的概念,其中,我们只部分地重新训练网络,而不是重新训练整个网络,同时保持与其他部分相对应的权重和偏差不变。通过这种设置,所提出的方法的计算效率显著提高。所提出的方法用于解决六个断裂力学问题。对于所有的例子,使用所提出的方法获得的结果与文献中的结果非常吻合。对于前两个例子,我们将使用所提出的方法获得的结果与传统的基于残差的神经网络结果进行了比较。对于这两个问题,与传统的基于残差的PINN算法相比,所提出的方法具有更好的精度。 图:(a) 所提出的物理知情神经网络的示意图。为了计算导数,已经使用了自动微分(AD)。所有的神经网络共享相同的参数。Ve表示变分能量(b)说明如何训练基于物理的神经网络的计算图。该参数包括权重和偏差。对于训练,我们使用了ADAM优化器和L-BFGS。 图:显示使用所提出的PINN方法的规定位移的预测相位场的图。 图:规定位移的预测位移场 图:规定位移的预测相场文二: 无标记数据的准脆性材料计算裂缝的物理信息机器学习模型摘要:只有少数研究集中于在受物理信息神经网络(PINN)启发的复杂负荷下的裂纹繁殖的模拟。在能量最小化原理而不是标记的数据的指导下,我们使用PINN来重建损坏后位移场的解决方案,以预测裂纹传播,从而维持从我们提出的可变的四参数损害模型继承的热力学一致性。此外,增量模式的框架在转移学习方面相对有效。因此,提出了一种基于领域分解理论更好收敛的新方法来识别复杂的边界。基于梯度病理学,我们开发了有限的基础算法来解决不良条件问题。无论是在单轴张力,纯剪切还是混合模式加载下,位移场的预测结果与文献中的模拟非常吻合。我们的研究对于改善神经网络的概括和加速优化过程是有意义的,这对于进一步的工程应用所必需。 图:具有不同垂直位移的单轴张力的预测结果,其中X、Y轴的单位为[mm] 图:具有不同水平位移的纯剪切的预测结果,其中X、Y轴的单位为[mm]。 图:带两个子域的PINN示意图。每个领域都有其单独的子神经网络进行训练,并在每个子神经网络中处理子神经网络的输出 图:在训练过程中,Nooru-Mohamed 算例在左侧水平位移和精确结果与它们之间的逐点误差下的迭代演化文三: MFLP-PINN:一种用于多轴疲劳寿命预测的基于物理的神经网络摘要:在这项研究中,提出了一个用于生命预测的物理知识神经网络(MFLP-PINN),结合了多轴疲劳临界平面模型和神经网络。首先,提出了基于临界平面方法的多轴疲劳寿命预测模型,该模型将临界平面上的等效应变幅度作为主要损伤参数,并认为关键平面上的正常应变能。然后,将包括新的关键平面模型在内的四个预测模型集成到神经网络的损耗函数中以构建MFLP-PINN。使用三种材料的多轴疲劳测试数据对拟议的临界平面标准和MFLP-PINN的准确性进行了验证。最后,结果表明,集成到损失函数的预测模型对神经网络预测有重大影响。对于特定的材料,将损失函数纳入神经网络模型中的材料的良好预测能力集成了生命预测模型,有助于提高预测准确性。相反,将生活预测模型与该材料的预测能力不佳,因为损失函数纳入神经网络模型将降低预测准确性。 图:AISI316L使用预测模型预测寿命与实验寿命。 图:GH4169使用预测模型预测寿命与实验寿命。 图:多轴疲劳临界平面法的MFLP-PINN体系结构。文四: 固体力学精确 Dirichlet 边界物理信息神经网络 EPINN摘要:物理信息神经网络(PINN)在求解偏微分方程方面得到了快速发展。基于最小功原理,提出了精确狄利克雷边界条件物理告知神经网络(EPINN),以显著减少训练时间,实现对固体力学问题的有效模拟。EPINN框架中有五个主要的构建功能。首先,对于一维实体力学问题,建立了精确复 制线性或二次特拉斯单元形状函数的神经网络。其次,对于二维和三维问题,采用张量分解来建立解场,而不需要生成复杂结构的有限元网格,以减少PINN框架中可训练权重的数量。第三,采用最小功原理来建立损失函数。第四,实现了精确的狄利克雷边界条件(即位移边界条件)。最后,采用无网格有限差分法有效地计算了梯度信息。通过最小化系统的总能量,选择损失函数与系统的总功相同,即总应变能减去在Neumann边界条件(即力边界条件)上所做的外部功。与软约束(即,作为损失函数中的附加项添加)相比,精确的狄利克雷边界条件被实现为硬约束,这完全满足最小功原理的要求。EPINN框架在英伟达模数平台和基于GPU的超级计算机中实现,与传统的用于固体力学问题的PINN框架相比,该框架显著减少了训练时间。给出了典型的数值例子。报道了EPINN的收敛性,并将其训练时间与传统的PINN结构和有限元求解器进行了比较。与传统的PINN体系结构相比,EPINN在1D问题上实现了超过13倍的加速,在3D问题上达到了超过126倍的加速。仿真结果表明,EPINN甚至可以达到有限元软件的收敛速度。此外,还提出了所提出的EPINN框架在固体力学中的预期实现,包括非线性时变模拟和超分辨率网络。 图:从模型驱动到数据驱动的固体力学算法。 图:基于最小功原理求解静态固体力学问题的 EPINN 框架流程图。 图:用神经网络重构特拉斯单元的形状函数。文五: 基于域分解技术的基于物理信息的神经网络求解固体力学中的多材料问题摘要:物理知情神经网络在固体力学领域有着广泛的应用。目前,PINN主要用于解决涉及单一均质材料的问题。然而,它们处理多材料产生的不连续性的能力有限,并且缺乏严格表达复杂材料接触模型的能力。我们提出了一种使用物理信息神经网络解决固体力学中多材料问题的方法。受域分解技术的启发,根据材料的几何分布来划分计算域,并使用不同的子网络来表示场变量。这项研究解释了由材料性质控制的不变动量平衡、运动学关系和不同的本构关系如何被纳入子网络,并使用额外的正则项来描述材料之间的接触关系。使用所提出的方法解决了从二维平面应变问题到三维拉伸问题的各种测试案例。我们在多任务学习(MTL)中引入了参数共享的概念,并将其纳入所提出的方法中,这在选择共享结构和共享模式时产生了额外的自由度。与常见的基于完全独立参数的物理知情神经网络算法相比,我们开发了一种部分共享结构和全部共享模式的网络结构,在解决示例问题时实现了更高的精度。 图:Flac3d (左)、常规 PINN (中)和本文提出的方法给出的第一行 σxx 的数值结果(右) ; 第二行 ux (中)和 uy (右)的损耗历史(左)和相对 L2误差(不同方法)。 图:提出的方法示意图。根据材料的分布情况将计算域划分为子域,并构造子网。 图:训练点和损失函数示意图。 图:表面力问题:Flac3d给出的数值结果(左栏)、预测解(中栏)和逐点误差(右栏)来源:STEM与计算机方法

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈