DualSPHysics光滑粒子流体动力学模型

联合创作 · 2023-09-26 07:20

DualSPHysics 基于名为 SPHysics 的光滑粒子流体动力学(SPH)模型。该代码旨在研究难以应用欧拉方法的自由表面流动现象,例如波浪或溃坝对离岸结构的影响。DualSPHysics 是一组 C++、CUDA 和 Java 代码,旨在处理现实生活中的工程问题。

DualSPHysics 以 C++ 和 CUDA 语言实现,分别在 CPU 或 GPU 上执行数百万粒子的模拟。新的 CPU 代码具有一些优势,例如更优化的内存使用。面向对象的编程范式提供了易于理解、维护和修改的代码,并对可用的错误进行了复杂的控制。此外,实现了更好的优化,例如重新排序粒子以更快地访问内存,并实现了创建 neighbour list 的最佳方法 [Domínguez et al., 2011]。CUDA 语言管理 GPU 上线程的并行执行。最好的方法被认为是作为 C++ 代码的扩展来实现的,因此实现了在 GPU 上并行化粒子交互的最合适的优化 [Domínguez et al., 2013a; 2013b]。[Crespo et al., 2011] 提出了第一个严格的验证。代码的 3.0 版在 [Crespo et al., 2015] 中有完整记录。

SPHysics 是一个光滑粒子流体动力学 (SPH) 代码平台,其灵感来自于 Monaghan(1992)的公式,由约翰霍普金斯大学(美国)、维哥大学(西班牙)、曼彻斯特大学(英国)和罗马大学La Sapienza(意大利)的研究人员联合开发。

SPHysics 代码的所有开发人员都是 SPH 欧洲研究兴趣社区 SPHERIC 的成员,该组织力求在学术界和工业界促进 SPH 的开发和使用。

浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报