【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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gin的中间件执行流程与用法

一、背景 我们在使用Gin框架进行Web开发的时候,基本上都会遇到登录拦截的场景。 例如某些接口必须在登录以后才能访问,根据登录用户的信息以及权限,拿到属于自己的数据, 反之,没登录过则直接拒绝访问。 那么我们怎么做到这些登录…

Agent AI 智能体的未来

Agent AI智能体的未来可能会变得更加普遍和智能。以下是一些可能出现的趋势和发展方向: 1、个性化服务: Agent AI智能体可能会变得更加个性化,能够根据用户的偏好和习惯提供定制化的服务和建议。 2、多模态交互: 未来的Agent AI可能会支持更多的多模态交…

【麒麟(Linux)系统远程连接到windows系统并进行文件传输】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言使用步骤总结 前言 一般来说,windows自带远程桌面,使用的RDP协议,Linux上支持RDP协议的软件很多,常用的是Remmi…

陪丨玩丨系丨统搭建制作流程APP小程序H5多端源码前后端一次性交付,本地授权,无二次费用!可定制开发!

陪丨玩app小程序H5开发,软件搭建,程序制作、系统设计 数据存储是陪玩平台源码的重点,没有数据库,用户的账号信息、平台产生的数据都无法顺利存储和读取,不能让用户拥有完善良好的用户体验。虽然是存放在服务器上&…

ThreeJs 环境配置及遇到问题的解决方法

一、环境搭建 ThreeJs在实际在实际使用中更多的是结合框架开发例如:vue框架、react框架,在使用时需要配置开发环境,本文使用的是vscode ThreeJs NodeJs vue 1、ThreeJs安装 下载路径:GitHub - mrdoob/three.js: JavaScript…

jbutton 按钮 圆角 渐变色

效果图 没按压时背景渐变色 鼠标按压时背景色改变 下面是可用的源码 package com.beijin.robot.utils; import javax.swing.*; import javax.swing.border.Border; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent;public clas…

IDEA使用技巧(常用设置、快捷键等)

IDEA使用技巧 一、IDEA常用基本设置设置代码背景颜色/主题/字体Ctrl鼠标滚轮缩放字体大小设置字符编码左右两侧的Project,Structure,Maven等按钮消失新增类似sout,psvm的模版切换某个模块编译的JDK版本 二、常用快捷键CtrlAltT包裹代码Alt回车联想补全Ct…

Kafka(十二)Streams

目录 Streams1 什么式是流式处理2 流式处理的相关概念2.1 拓扑2.2 时间2.2.1 输入时间2.2.2 输出时间 2.3 状态2.4 流和表2.5 时间窗口2.5.1 测试时间窗口 2.6 处理保证 3 流式处理设计模式3.1 单事件处理3.2 使用本地状态3.3 多阶段处理和重分区3.4 使用外部查找:流…

【哈希】Leetcode 两数之和

题目讲解 1. 两数之和 算法讲解 我们希望让这个数组有序,然后再寻找的时候可以很快的找到是否存在这个target - nums[i],这里需要返回的是下标,所以需要一个数据结构保存key:nums AND val:index,因此我们…

Java设计模式 _结构型模式_桥接模式

一、桥接模式 1、桥接模式 桥接模式(Bridge Pattern)是一种结构型设计模式。用于把一个类中多个维度的抽象化与实现化解耦,使得二者可以独立变化。 2、实现思路 使用桥接模式,一定要找到这个类中两个变化的维度:如支…

《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

《深入理解mybatis原理》 MyBatis的架构设计以及实例分析 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查…

七彩虹(Colorful)隐星P16 2023款笔记本电脑原装出厂Win11系统镜像下载 带建Recovery一键还原功能

七彩虹原厂Windows预装OEM专用系统,恢复出厂开箱状态一模一样 适用型号:隐星P16 23 链接:https://pan.baidu.com/s/1Ig5MQMiC8k4VSuCOZRQHUw?pwdak5l 提取码:ak5l 原厂W11系统自带所有驱动、出厂时自带的主题与专用壁纸、系…

惠海原厂直销 H6922 升压恒压IC芯片 2.8-40V升48V60V72V80V100V方案 高效率 低功耗

升压恒压IC芯片是一种在2.8V至40V的宽输入电压范围内工作,并能够将输出电压升高到48V、60V、72V、80V甚至100V的芯片。这种芯片以高效率、低功耗为特点,因此非常适合于对电源效率和功耗有严格要求的应用领域。升压恒压IC芯片的工作原理通常基于电感和电容…

使用FPGA发送一个经过曼彻斯特编码的伪随机序列

介绍 这几天突然就不知道要使用FPGA实现什么样的功能了,然后就跑去学习数电了,学的也是晕晕的。正好之前写了一个使用FPGA发送伪随机序列的代码,然后因为需要使用曼彻斯特编码,所以又加了一个模块吧,使得最后输出的波形经过曼彻斯特编码。 曼彻斯特编码 首先,曼彻斯特编…

前端入门:HTML(css轮廓,填充,宽高)

1.CSS轮廓 注意: outline中,out-style是必须要设置的,格式为: outline-style一共有以下的几个值: 2.CSS填充属性 这是一个用于在一个元素的内容周围产生空间,也就是边框内到白框外之间的距离,…

一款神奇的地理数据可视化python库

在地理信息系统(GIS)和地理数据可视化领域,Python的易用性和强大的库支持使其成为处理地理数据的理想选择之一。今天我们介绍Cartopy库,它为地理数据可视化提供了强大的支持。无论是对于GIS专业人士还是对地理数据可视化感兴趣的初…

Windows环境下nvm的安装与使用

nvm全名node.js version management,顾名思义是一个管理多个nodejs的版本工具。通过它可以安装和切换不同版本的 nodejs,为了解决 node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本。 一、下载 nvm安装包地址: https://gith…

使用yolov8+QT+onnrunxtime进行开发的注意事项

1、本来想尝试做一个C的yolov8在QT5.15.2的应用; 因此,在实现这个目标的时候,我先用了yolov8自带的export进行导出,使用的代码很简单,如下所示: import os from ultralytics import YOLO# model YOLO(&q…

网络安全之防范钓鱼邮件

随着互联网的快速发展,新的网络攻击形式“网络钓鱼”呈现逐年上升的趋势,利用网络钓鱼进行欺骗的行为越来越猖獗,对互联网的安全威胁越来越大。网络钓鱼最常见的欺骗方式就是向目标群体发送钓鱼邮件,而邮件标题和内容,…

基于残差神经网络的汉字识别系统+pyqt前段界面设计

研究内容: 中文汉字识别是一项具有挑战性的任务,涉及到对中文字符的准确分类。在这个项目中,目标是构建一个能够准确识别中文汉字的系统。这个任务涉及到数据集的收集、预处理、模型训练和评估等步骤。尝试了使用残差神经网络(ResNet&#x…