首页/文章/ 详情

开源代码大放送2

8月前浏览11760

文一:

 

LAMMPS-一个灵活的模拟工具,用于在原子、细观和连续尺度上建立基于粒子的材料模型

摘要:

自2004年经典分子动力学模拟器LAMMPS作为开源代码发布以来,它已成为一种广泛使用的工具,用于在从原子到中尺度再到连续体的长度尺度上对材料进行基于粒子的建模。它之所以受欢迎,是因为它为不同的材料提供了各种各样的粒子相互作用模型,它在任何平台上运行,从单个CPU核心到带加速器的最大超级计算机,它让用户可以通过输入脚本或添加新的原子间势、约束、诊断的代码来控制模拟细节,或其模型所需的其他特征。因此,数百人为LAMMPS贡献了新的功能,它已经从2004年的5万行代码发展到今天的100万行代码。本文介绍了LAMMPS中使用的几种基本算法,以及使其对用户和开发人员都具有灵活性的设计策略。我们还强调了最近添加到代码中的一些功能,这些功能是由这种灵活性实现的,包括动态负载平衡、动态可视化、磁自旋动力学模型和量子精度机器学习原子间势。

 

图:MPI并行仿真盒的三种空间分解(分区)

 

图:使用ReaxFF反应原子间势对包含空隙随机分布的冲击HNS分子晶体进行20M原子模拟的中途温度图

文二:

 

Freud: 一个用于粒子模拟数据高通量分析的软件套件

摘要:

freud Python包是一个用于分析模拟数据的库。freud在编写时考虑到了现代模拟和数据分析工作流程,为在笔记本电脑、工作站和超级计算集群上高效运行的快速并行C++例程提供了Python接口。该软件包提供了在周期系统中查找粒子邻居的核心工具,并为使用这些工具实现的各种方法提供了统一的API。因此,freud用户可以同样轻松地访问标准方法,如径向分布函数,以及更新的、更专业的方法,如平均力和扭矩的潜力和局部晶体环境分析。freud不是提供自己的轨迹数据结构,而是直接在NumPy数组上操作,或者在其他Python包提供的轨迹数据架构上操作。这种设计允许freud通过利用其他轨迹管理工具的文件解析能力,透明地与许多轨迹文件格式交互。由于对其数据源保持不可知性,freud适用于分析任何粒子模拟,无论原始数据表示或模拟方法如何。当与HOOMD blue等可编写脚本的模拟软件一起用于动态分析时,freud能够实现适应系统当前状态的智能模拟,允许用户研究成核和生长等现象。

 

图:freud库能够计算粒子系统的许多特征。在这里,我们在展示六进制排序的多边形的2D蒙特卡罗模拟中演示了其中的一些特征

 

图:可以使用各种有序参数来表征系统中的有序程度。随着系统变得全局有序,每粒子顺序参数值最终会收敛到统一的全局值。这些图显示了硬粒子在蒙特卡洛模拟过程中两阶参数的演变,随着时间的推移,硬粒子在压缩下重新排列成有序相。

 

图:环境匹配使我们能够检测粒子局部环境的变化

文三:

 

SPHinXsys:一个基于平滑粒子流体动力学的开源多物理和多分辨率库

摘要:

在本文中,我们提出了一个开源的多分辨率和多物理库SPHinXsys,它是在Apache许可证(2.0)下发布的。除了源代码外,还分发了一个完整的文档,以便于编译和执行。SPHinXsys旨在在统一的SPH框架内对耦合的多物理工业动态系统进行建模。它有两个重要的特点,即:(1)通用设计为特定领域的应用程序提供了非常好的灵活性的C++API,(2)可以耦合许多工业或科学应用程序的统一框架。当前版本(v0.2.0)包括流体动力学、固体动力学、热扩散和质量扩散、反应-扩散、机电学和流体-结构相互作用领域的广泛验证测试和应用。

 

图:典型的FSI问题涉及刚性固体(壁)体、弹性体和流体。墙体有两个部件(上部和下部)。弹性体由圆柱体(粒子被约束在原始位置)和弹性梁(粒子是柔性的)组成

 

图:SPHinXsys对具有剧烈波浪破碎和冲击事件的自由表面流的验证:3D溃坝流。(a) 粒子和压力分布的快照。(b) 浪涌波前的时间演变。(c) 在y=0.2处探测到的压力信号的时间历程。

 

图:SPHinXsys固体动力学验证:弯曲悬臂。(a) 变形配置和冯-米塞斯应力分布。(b) 自由端的位移剖面

 

图:SPHinXsys机电耦合的验证和应用。(a) 具有等向和各向异性材料特性的单位立方心肌的主动反应。(b) 普通双心室心脏:由作为涡旋波的跨膜电位诱导的耦合兴奋收缩。

文四:

 

TurboPy: 一个用于计算物理学的轻量级 python 框架

摘要:

计算物理学问题通常有一组共同的方面,任何特定的数字代码都必须解决这些方面。由于这些方面对于许多问题都是共同的,因此拥有一个已经设计并准备好使用的框架不仅将加速新代码的开发,而且还将增强代码之间的兼容性。

计算物理学问题的一些最常见的方面包括: 一个网格,一个跟踪模拟流程的时钟,以及一组描述网格上各种量的动态变化的模型。有一个框架,可以处理这些基本方面的模拟在一个共同的方式可以提供巨大的价值,通过解决各种数值和类设计问题,例行出现的计算科学家。

本文描述了我们为快速原型化新的物理代码而建立的新开发的计算框架。这个框架称为 turboPy,是一个基于粒子单元代码 turboWAVE 设计的轻量级物理建模框架。它实现了一个类(称为仿真) ,该类驱动仿真并管理物理模块之间的通信,一个类(称为物理模块)处理问题各个部分的动态细节,以及一些额外的类,如网格类和诊断类,以处理各种通常出现的辅助问题。

 

图:TurboPy 模拟的结构,显示组成模拟的对象的层次结构

文五:

 

HORES3D:用于流动模拟和多物理应用的高阶间断伽辽金解算器

摘要:

我们介绍了我们的高阶谱元解算器(HORSE3D)的最新发展,这是一个开源的高阶不连续伽辽金框架,能够解决各种流动应用,包括可压缩流(有或没有冲击)、不可压缩流、各种RANS和LES湍流模型、粒子动力学、多相流和空气声学。我们概述了高阶空间离散化(包括能量/熵稳定方案)和各向异性p自适应能力。该求解器使用MPI和OpenMP进行并行处理,显示出高达1000个处理器的良好可扩展性。时间离散化包括具有有效预处理器的显式、隐式、多重网格和双时间步长方案。此外,我们还通过无网格浸入边界技术促进了网格划分和模拟复杂几何形状。我们详细介绍了GitHub存储库中包含的可用文档和测试用例。

 

图:溃坝试验实例显示了初始条件和 t = 2s 时的流态

 

图:当M=0.85,Re=5.106和AoA=2.3时,通用研究模型(CRM)表面上的压力等值线◦ 使用具有分裂形式无粘性通量的HORSE3D RANS模块。

 

图:水和油的环形流动测试案例。在左边,给出了基于接口跟踪细化的p自适应方案的多项式阶分布。右侧显示了已开发流的流结构

 

图:雷诺兹200球面绕流的 p 适应网格实例

来源:STEM与计算机方法
多相流湍流通用python通信UM声学理论材料分子动力学LAMMPS数字孪生控制人工智能
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-03-03
最近编辑:8月前
江野
博士 等春风得意,等时间嘉许。
获赞 47粉丝 44文章 307课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈