【LAMMPS学习】八、基础知识(5.1)有限尺寸球形和非球形粒子

2024-04-28 17:12

本文主要是介绍【LAMMPS学习】八、基础知识(5.1)有限尺寸球形和非球形粒子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

8. 基础知识

此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。

8.1.通用基础知识

8.2. 设置入门

8.3. 分析入门

8.4. 力场入门

8.5. 软件包入门

8.5.1.有限尺寸球形和非球形粒子

典型的 MD 模型将原子或粒子视为点质量。有时需要一个具有有限尺寸粒子的模型,例如球体或椭球体或广义非球体。不同之处在于,此类粒子具有惯性矩、旋转能和角动量。旋转是由与其他粒子相互作用产生的扭矩引起的。

LAMMPS 有多种选项可用于对此类粒子进行模拟。依次讨论以下几个方面:

  • atom styles 原子样式

  • pair potentials 对势

  • time integration 时间积分

  • computes, thermodynamics, and dump output计算、热力学和转储输出

  • rigid bodies composed of finite-size particles由有限尺寸粒子组成的刚体

此类模型的示例输入脚本位于 LAMMPS 发行版示例目录的 body、colloid、dipole、ellipse、line、peri、pour 和 tri 目录中。

Atom styles 原子样式

有几种atom styles可以定义有限尺寸的粒子:

球体、偶极子、椭球体、线、三角形、近周和体。

球体样式定义为球体的粒子,每个粒子可以具有唯一的直径和质量(或密度)。这些粒子存储角速度 (omega),并且可以受到扭矩的作用。 “set”命令可用于修改单个粒子的直径和质量,然后创建。

偶极子样式实际上并不定义有限尺寸的粒子,但通常通过类似命令与球形粒子结合使用

atom_style hybrid sphere dipole

这是因为当偶极子彼此相互作用时,它们会产生扭矩,并且粒子必须具有有限尺寸(即具有惯性矩)才能响应和旋转。有关详细信息,请参阅atom_style dipole 命令。 “set”命令可用于修改单个粒子的偶极矩的方向和长度,然后创建。

椭球样式定义了椭球粒子,因此可以是非球面的。每个颗粒都有一个形状,由 3 个直径和质量(或密度)指定。这些粒子存储角动量及其方向(四元数),并且可以受到扭矩的作用。它们不存储角速度 (omega),角速度可能与角动量的方向不同,而是根据需要进行计算。 “set”命令可用于修改单个粒子的直径、方向和质量,然后创建。它还对四元数是什么进行了简要说明。

线型定义具有两个端点和质量(或密度)的线段粒子。它们可以用于二维模拟,并且可以连接在一起形成代表任意多边形的刚体。

tri 样式定义具有三个角点和质量(或密度)的三角形粒子。它们可用于 3D 模拟,并且可以连接在一起形成刚体,代表具有三角形表面的任意粒子。

Peridynamic models 与近场动力学模型一起使用,并将粒子定义为具有体积,在 pair_style peri内部使用。

体样式允许定义可以表示复杂实体的粒子,例如离散点的表面网格、子粒子的集合、可变形对象等。主体样式在Howto body 文档页面上有更详细的讨论。

请注意,如果使用这些原子样式之一(或通过atom_style hybrid 命令使用多种样式),则并非系统中的所有粒子都需要是有限尺寸或非球面的。

例如,在椭球样式中,如果将 3 个形状参数设置为相同的值,则粒子将是球体而不是椭球体。如果3个形状参数全部设置为0.0或者直径设置为0.0,则为点粒子。在 line 或 tri 样式中,如果 lineflag 或 triflag 指定为 0,则它将是点粒子。

用于计算有限大小粒子之间的成对相互作用的一些对样式也计算与点粒子的正确相互作用,例如点粒子与有限尺寸粒子之间或两个点粒子之间的相互作用。如有必要,可以使用pair_style hybrid ​​​​​​​来确保为适当的交互样式计算正确的交互。同样,使用组来划分粒子(椭球体、球体、点粒子)将允许您为每类粒子使用适当的时间积分器和温度计算。有关详细信息,请参阅各种命令的文档页面。

另请注意,对于 2d simulations,原子样式球体和椭球体仍然使用 3d 粒子,而不是圆盘或椭圆体。这意味着它们具有与 3d 对象相同的惯性矩。计算温度时,正确的自由度用于 2d 与 3d 系统中的旋转。

Pair potentials对势

当定义具有有限尺寸粒子的系统时,如果力场计算这种相互作用,则粒子只会旋转并经历扭矩。这些是产生扭矩的各种pair styles:

  • pair_style gran/history 

  • pair_style gran/hertz 

  • pair_style gran/no_history

  • pair_style dipole/cut

  • pair_style gayberne

  • pair_style resquared

  • pair_style brownian

  • pair_style lubricate

  • pair_style line/lj

  • pair_style tri/lj

  • pair_style body/nparticle

颗粒对样式与球形颗粒一起使用。偶极对样式与偶极原子样式一起使用,可应用于球形或椭球体粒子。 GayBerne 和 REsquared 势需要椭圆体粒子,但如果 3 个形状参数相同(球体),它们也将起作用。布朗势和润滑势与球形颗粒一起使用。线、三角形和体势分别与线段、三角形和体粒子一起使用。

Time integration​​​​​​​时间积分

有几个fixs程序可以对有限尺寸的球形粒子执行时间积分,这意味着积分器会更新粒子的旋转方向和角速度或角动量:

  • fix nve/sphere 

  • fix nvt/sphere 

  • fix npt/sphere 

同样,有 3 个fixs​​​​​​​对椭圆体粒子执行时间积分:

  • fix nve/asphere 

  • fix nvt/asphere 

  • fix npt/asphere 

这些修复的优点是那些对粒子进行恒温的修复包括温度计算和恒温中的旋转自由度。fix langevin ​​​​​​​ 命令还可以与其 omgea 或 angmom 选项一起使用,以恒温球形或椭球体粒子的旋转自由度。其他恒温修复仅对有限尺寸粒子的平移动能起作用。

这些修复在线段、三角形和体粒子上执行恒定的 NVE 时间积分:

  • fix nve/line 

  • fix nve/tri 

  • fix nve/body 

请注意,对于点和有限尺寸粒子的混合,这些积分修复只能用于包含有限尺寸粒子的groups ​​​​​​​。

计算、热力学和转储输出

有几种计算方法可以计算球形或椭球体粒子的温度或旋转能:

  • compute temp/sphere 计算温度/球体

  • compute temp/asphere 计算温度/非球面

  • compute erotate/sphere 计算旋转/球体

  • compute erotate/asphere 计算旋转/非球面

其中包括计算中的旋转自由度。如果您希望温度或压力的热力学输出使用这些计算之一(例如,对于完全由有限尺寸粒子组成的系统),则可以定义计算并使用 thermo_modify ​​​​​​​命令。请注意,默认情况下,将使用仅包含平移自由度的温度来计算热力学量。有关详细信息,请参阅 thermo_style 命令。

这些命令可用于输出有限尺寸粒子的各种属性:

  • dump custom 转储自定义

  • compute property/atom 计算属性/原子

  • dump local 转储本地

  • compute body/local 计算主体/本地

属性包括偶极矩、角速度、角动量、四元数、扭矩、端点和角点坐标(对于线粒子和三粒子)以及物体粒子的子粒子属性。

由有限尺寸粒子组成的刚体

fix rigid命令将粒子集合视为刚体,计算其惯性张量,对每个时间步由于其组成粒子上的力而对刚体施加的总力和扭矩求和,并对刚体的运动进行积分。

如果刚体的任何组成粒子是有限尺寸粒子(球体或椭球体或线段或三角形),则它们对刚体惯性张量的贡献与点粒子不同。这意味着刚体的旋转动力学将会不同。因此,如果二聚体由两个点质量与两个球体组成,即使两个粒子具有相同的质量,二聚体的模型也是不同的。由于与其他粒子相互作用而承受扭矩的有限尺寸粒子也会将该扭矩传递给它们所属的刚体。

请参阅“修复刚性”命令,了解可以在 LAMMPS 中定义的复杂刚体模型的示例。

请注意,fix shake ​​​​​​​命令也可用于将 2、3 或 4 个粒子视为刚体,但它始终假设粒子是点质量。

另请注意,无法使用 fix rigid ​​​​​​​命令对体粒子进行建模。体粒子被 LAMMPS 视为单个粒子,尽管它们可以存储内部状态,例如子粒子列表。单个主体粒子通常被视为刚体,它们的运动与诸如fix nve/body之类的命令集成。身体粒子对之间的相互作用是通过诸如pair_style body/nparticle之类的命令计算的。

328befb4ea64483d917ef9227ea14c72.png

6f3aa19c6e7f43fea3da88281f45bfd7.png

 

这篇关于【LAMMPS学习】八、基础知识(5.1)有限尺寸球形和非球形粒子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/943801

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

计组基础知识

操作系统的特征 并发共享虚拟异步 操作系统的功能 1、资源分配,资源回收硬件资源 CPU、内存、硬盘、I/O设备。2、为应⽤程序提供服务操作系统将硬件资源的操作封装起来,提供相对统⼀的接⼝(系统调⽤)供开发者调⽤。3、管理应⽤程序即控制进程的⽣命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。4、操作系统内核的功能(1)进程调度能⼒: 管理进程、线

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识