
LAMMPS学习
文章平均质量分 88
北行黄金橘
这个作者很懒,什么都没留下…
展开
-
【LAMMPS学习】十、LAMMPS辅助工具(2)LAMMPS shell使用
LAMMPS Shell,lammps-shell是一个程序,其功能与常规 LAMMPS 可执行文件非常相似,但进行了一些修改和添加,使其对于交互式会话更加强大,即从提示符中键入 LAMMPS 命令而不是阅读它们来自一个文件。原创 2024-05-17 00:15:00 · 1684 阅读 · 0 评论 -
【LAMMPS学习】十、LAMMPS辅助工具(1)
LAMMPS 被设计为用于执行分子动力学计算的计算内核。设置和分析模拟通常需要额外的预处理和后处理步骤。此类工具的列表可以在 LAMMPS 网页上的以下链接中找到:原创 2024-05-16 00:45:00 · 1786 阅读 · 0 评论 -
【LAMMPS学习】九、LAMMPS脚本 示例
LAMMPS 发行版包含一个包含许多示例问题的示例子目录。许多是二维模型,运行速度快且易于可视化,在台式机上运行最多需要几分钟。每个问题都有一个输入脚本 (in.*),并在运行时生成一个日志文件 (log.*)。有些使用初始坐标的数据文件(data.*)作为附加输入。目录中包含一些在不同计算机上运行的示例日志文件,并且目录中包含不同数量的处理器,以比较您的答案。例如。像 log.date.crack.foo.P 这样的日志文件意味着“crack”示例在该日期机器“foo”的 P 处理器上运行(即使用该版本的原创 2024-05-15 00:15:00 · 1498 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(6.6)在 Windows 10 上使用 LAMMPS 和 WSL
让 LAMMPS 用户和开发人员在 Windows 上工作对我们来说一直很棘手。我们主要开发在 Linux 集群上运行的 LAMMPS。为了在研讨会环境中教授 LAMMPS,我们必须将 Windows 用户重定向到 Linux 虚拟机,例如 VirtualBox 或使用 Cygwin 进行类 Unix 编译。通过 Windows 10(版本 2004、Build 19041 或更高版本)的最新更新,Microsoft 添加了一种处理基于 Linux 的代码的新方法。原创 2024-05-14 14:11:42 · 1918 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(6.5)PyLammps 教程
PyLammps是 LAMMPS 的 Python 包装类,可以单独创建或使用现有的lammps Python 对象。与使用 Python ctypes 编写的 C 风格 LAMMPS 库接口的lammps包装器相比,它为常见的 LAMMPS 功能创建了一个更简单、更“Pythonic”的接口。使用 Python 与 LAMMPS 文档页面讨论了lammps包装器。与扁平的ctypes界面不同,PyLammps 公开了一个可发现的 API。它不再需要了解底层 C++ 代码实现的知识。原创 2024-05-13 18:14:25 · 1901 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(6.4)Moltemplate教程
在本教程中,我们将使用Moltemplate 工具通过OPLS-AA force field建立经典分子动力学模拟。第一个任务是描述有机化合物并为 LAMMPS 创建完整的输入平台。第二个任务是将 OPLS-AA 力场映射到使用外部工具创建的分子样本,例如PACKMOL,并导出为 PDB 文件。本教程中使用的文件可以在 LAMMPS 源代码分发的tools/moltemplate/tutorial-files文件夹中找到。原创 2024-05-12 00:15:00 · 1705 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(6.3)使用 LAMMPS GUI
LAMMPS GUI 是一个图形文本编辑器,用于编辑链接到 LAMMPS 库的 LAMMPS 输入文件,因此可以使用编辑器文本缓冲区的内容作为输入直接运行 LAMMPS。它可以在 LAMMPS 运行时检索和显示信息,显示使用 dump image 命令创建的可视化效果,并且专门用于通过文本完成和重新格式化来编辑 LAMMPS 输入文件,以及链接到在线 LAMMPS 文档以了解已知的 LAMMPS 命令和样式。原创 2024-05-11 00:15:00 · 1548 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(6.2)LAMMPS GitHub 教程
本文档描述了如何使用 GitHub 将您对 LAMMPS 所做的更改或添加集成到官方 LAMMPS 发行版中的过程。它使用更新本教程的过程作为示例来描述各个步骤和选项。您需要熟悉 git,并且您可能需要查看 git 书籍来熟悉下面使用的一些更高级的 git 功能。截至 2016 年秋季,通过 GitHub 上的拉取请求向 LAMMPS 提交贡献是将贡献的功能或改进集成到 LAMMPS 的首选选项,因为它显着减少了 LAMMPS 开发人员所需的工作量。因此,创建拉取请求将增加您的贡献被包含在内的机会,并原创 2024-05-10 00:45:00 · 1636 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(6.1)将CMake 与 LAMMPS 结合使用
感谢 Christoph Junghans (LANL) 和 Richard Berger (LANL) 的努力,LAMMPS 最近添加了对使用 CMake 构建 LAMMPS 的支持。 CMake 的主要优势之一是它不依赖于特定平台或构建系统。相反,它生成为不同构建系统和不同平台构建和开发所需的文件。请注意,这适用于构建系统本身,而不是 LAMMPS 代码。换句话说,如果没有额外的移植工作,就不可能在 Windows 上使用 Visual C++ 编译 LAMMPS。构建系统输出还可以包括在集成开发环境原创 2024-05-09 12:53:53 · 1419 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.11)磁自旋
磁自旋模拟由 SPIN 包实现,其实现在 Tranchida 中有详细介绍。该模型代表了原子磁自旋与晶格振动耦合的模拟。这些磁自旋的动力学可用于模拟与磁弹性相关的广泛现象,或者用于研究缺陷对材料磁性的影响。磁自旋彼此相互作用,并通过配对相互作用与晶格相互作用。通常,磁交换相互作用可以使用pair/spin/exchange命令来定义。这种交换将磁扭矩应用于给定的自旋,考虑到其相邻自旋的方向及其相对距离。它还根据自旋方向及其相关原子间距离对原子施加力。原创 2024-05-08 01:30:00 · 969 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.10)LAMMPS流形(表面)
本页不是关于 LAMMPS 输入脚本命令,而是关于流形,流形是广义表面,由 MANIFOLD 包定义和使用,用于跟踪流形上的粒子运动。有关该包及其命令的更多详细信息,请参阅 src/MANIFOLD/README 文件。下面是 MANIFOLD 包当前支持的流形列表、它们的参数以及它们的简短描述。此处列出的参数的顺序与传递给相关修复程序的参数顺序相同。原创 2024-05-07 18:31:02 · 911 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.9)LAMMPS 近场动力学
近场动力学是经典连续介质力学的非局域扩展。离散近场动力学模型具有与分子动力学模型相同的计算结构。本 Howto 简要概述了连续体的近场动力学模型,然后讨论了如何在 LAMMPS 中离散化近场动力学模型,如原始文章 (Parks) 中所述。还包括一个带有注释的示例问题。原创 2024-05-07 17:59:51 · 941 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.8)LAMMPS 中热化 Drude 振荡器教程
本教程介绍如何在 LAMMPS 中使用 Drude 振荡器,通过 DRUDE 包模拟可极化系统。作为说明,记录了 250 个苯酚分子模拟的输入文件。首先,必须在激活 DRUDE 包的情况下编译 LAMMPS。然后,必须修改数据文件和输入脚本以包含德鲁德偶极子以及如何处理它们。原创 2024-05-06 14:22:20 · 1255 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.7)Drude感应偶极子
热化德鲁德模型表示由谐波弹簧连接的一对电荷(核心原子和德鲁德粒子)产生的感应偶极子。请参阅 Howto 极化文档页面,了解 LAMMPS 中所有可用极化模型的讨论。原创 2024-05-04 03:15:00 · 1655 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.6)绝热核/壳模型
Mitchell 和 Fincham 提出的绝热核壳模型是一种向系统添加极化性的简单方法。为了模拟离子的电子壳层,卫星粒子附着在离子上。通过这种方式,离子被分成核和壳,其中后者对静电环境产生反应,从而产生极化。请参阅 Howto 极化页面,了解 LAMMPS 中所有可用极化模型的讨论。原创 2024-05-03 22:26:53 · 1620 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.5)极化模型
在极化力场中,分子和材料中的电荷分布对其静电环境做出响应。可使用三种方法在 LAMMPS 中模拟偏振系统:在QEQ包中实现的波动电荷法;在CORESHELL包中实现的绝热核壳法;在 DRUDE 封装中实现热化 Drude 偶极子方法。原创 2024-05-02 11:48:27 · 1425 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.4)黏结粒子(BMP)模型
BPM 包实现了可用于模拟介观固体的粘合粒子模型。固体被构造为粒子的集合,每个粒子代表一个比原子尺度大得多的粗粒度空间区域。然后,固体区域内的颗粒通过键网络连接以提供固体弹性。与分子动力学中的传统键不同,不同键的平衡键长可能不同。 Bonds 存储参考状态。这包括将平衡长度设置为等于两个粒子之间的初始距离,但也可以包括有关旋转模型的键方向的数据。这会产生无压力的初始状态。此外,在大应变下键会断裂,产生断裂。 example/bpm 目录包含示例输入脚本,用于模拟受影响板的破碎和扩展弹性体的浇注。原创 2024-05-01 01:10:16 · 1489 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.3)Body particles体粒子
在 LAMMPS 中,体粒子是广义的有限尺寸粒子。单个体粒子可以表示复杂的实体,例如离散点的表面网格、子粒子的集合、可变形物体等。请注意,LAMMPS 还支持其他类型的有限尺寸球形和非球面粒子,例如球体、椭球体、线段和三角形,但它们是比体粒子更简单的实体。有关所有这些粒子类型的一般概述,请参阅Howto spherical页面。原创 2024-04-30 16:53:41 · 1546 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.2)粒度模型
颗粒系统由具有直径的球形颗粒组成,而不是点颗粒。这意味着它们具有角速度,并且可以向它们施加扭矩以使它们旋转。原创 2024-04-29 08:35:00 · 888 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(5.1)有限尺寸球形和非球形粒子
典型的 MD 模型将原子或粒子视为点质量。有时需要一个具有有限尺寸粒子的模型,例如球体或椭球体或广义非球体。不同之处在于,此类粒子具有惯性矩、旋转能和角动量。旋转是由与其他粒子相互作用产生的扭矩引起的。原创 2024-04-28 15:06:59 · 2034 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(4.6)SPC水模型
SPC 水模型指定了 3 个位点的刚性水分子,并为 3 个原子中的每个原子分配了电荷和 Lennard-Jones 参数。在 LAMMPS 中,fix shake命令可用于保持两个 O-H 键和 H-O-H 角刚性。还应使用 Harm 的键样式和 Harm 或 charmm 的角度样式。这些是为 O 和 H 原子以及水分子设置的附加参数(以实际单位表示),以运行严格的 SPC 模型。原创 2024-04-27 10:45:04 · 2552 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(4.5)TIP5P水模型
五点 TIP5P 刚性水模型通过添加两个通常无质量的附加位点 L 来扩展three-point TIP3P model,其中放置与氧原子相关的电荷。这些位点 L 位于距氧原子固定距离处,形成从 HOH 平面旋转 90 度的四面角。因此,这些位点在某种程度上近似于氧的孤对,从而改善了水结构,与four-point TIP4P model相比变得更加“四面体”。原创 2024-04-26 00:00:03 · 1184 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(4.4)TIP4P水模型
四点 TIP4P 刚性水模型通过添加一个通常无质量的附加位点 M 来扩展传统的three-point TIP3P模型,其中放置与氧原子相关的电荷。该位点 M 位于沿 HOH 键角平分线距氧固定距离处。还应使用 harmonic的键样式和 harmonic或charmm的角度样式。如果是刚性粘合,也可以使用bond stylezero和 angle stylezero。原创 2024-04-25 10:15:52 · 2985 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(4.3)TIP3P水模型
此部分描述了如何使用为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。LAMMPS 源代码分发的examples目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。原创 2024-04-24 09:38:07 · 1628 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(4.2)AMOEBA 和 HIPPO 力场
AMOEBA 和 HIPPO 极化力场是由华盛顿大学圣路易斯分校的 Jay Ponder 团队开发的。 LAMMPS 实现基于 Ponder 小组在其Tinker MD software软件中提供的 Fortran 90 代码。LAMMPS 中 AMOEBA 的当前实现(2022 年 7 月)与(Ponder),(Ren), and(Shi)中讨论的版本匹配。同样,LAMMPS 中 HIPPO 的当前实现与(Rackers)中讨论的版本相匹配。原创 2024-04-23 09:15:12 · 2165 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(4.1)CHARMM、AMBER、COMPASS 和 DREIDING 力场
力场由两部分组成:定义力场的公式和用于特定系统的系数。这里我们只讨论 LAMMPS 中实现的公式,这些公式对应于 CHARMM、AMBER、COMPASS 和 DREIDING 力场中常用的公式。设置系数可以通过read_data 命令从输入数据文件中的特殊部分完成,也可以在输入脚本中使用pair_coeff和bond_coeff等命令完成。请参阅Tools文档页面,了解其他工具,这些工具可以使用 CHARMM、AMBER 或 Materials Studio 生成的文件来分配力场系数并原创 2024-04-22 08:55:02 · 3241 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(3.9)输出结构化数据
LAMMPS可以使用print和fix print命令输出结构化数据。这为您提供了灵活性,因为您可以构建包含系统属性、热数据和变量值的自定义数据格式。该输出可以定向到屏幕和/或文件以进行后处理。原创 2024-04-21 13:38:03 · 1363 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(3.8)计算扩散系数
可以使用 LAMMPS 中的各种选项以至少 2 种方式测量材料的扩散系数 D。请参阅examples/DIFFUSE 目录,了解实现此处讨论的简单 Lennard-Jones 流体模型的 2 种方法的脚本。原创 2024-04-20 20:11:50 · 2522 阅读 · 2 评论 -
【LAMMPS学习】八、基础知识(3.7)计算粘度
可以使用 LAMMPS 中的各种选项以至少 6 种方式测量流体的剪切粘度 eta。请参阅examples/VISCOSITY 目录,了解实现此处讨论的简单 Lennard-Jones 流体模型的 5 种方法和 SPC/E水模型的 1 种方法的脚本。另请参阅计算热导率(calculating thermal conductivity)页面,了解热导率的类似讨论。原创 2024-04-20 08:50:34 · 3443 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(3.6)计算热导率
使用 LAMMPS 中的各种选项,至少可以通过 4 种方式测量材料的导热系数 kappa。请参阅示例/KAPPA 目录,了解实现此处讨论的简单 Lennard-Jones 流体模型的 4 种方法的脚本。另请参阅 Howto 粘度页面,了解有关粘度的类似讨论。原创 2024-04-19 10:22:35 · 2877 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(3.5)计算弹性常数
弹性常数表征材料的刚度。形式定义是由在无限小变形极限下应力和应变张量之间保持的线性关系提供的。在张量表示法中,这表示为 s_ij = C_ijkl * e_kl,其中重复的索引意味着求和。 s_ij 是对称应力张量的元素。 e_kl 是对称应变张量的元素。 C_ijkl 是弹性常数四阶张量的元素。在三维空间中,该张量有 3^4=81 个元素。使用 Voigt 表示法,张量可以写成 6x6 矩阵,其中 C_ij 现在是 s_i w.r.t 的导数。 e_j。因为 s_i 本身就是一个导数。 e_i,因此 C_原创 2024-04-18 10:09:52 · 2141 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(3.4)温度计算
温度计算为动能除以一定数量的自由度(和玻尔兹曼常数)。由于动能是粒子速度的函数,因此通常需要区分粒子的平流速度(由于粒子的某些聚集运动)及其热速度。两者之和就是粒子的总速度,但后者通常是计算温度所需的。原创 2024-04-17 09:01:38 · 1860 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(3.3)使用分布式网格
LAMMPS 具有创建覆盖模拟域的均匀间隔网格的内部功能。对于 2d 和 3d 模拟,这些分别是 2d 和 3d 网格。从概念上讲,网格可以被视为网格单元的集合。每个网格单元可以存储一个或多个值(数据)。原创 2024-04-17 00:15:00 · 796 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(3.2)使用chunks计算系统属性
在 LAMMS 中,“chunks”是原子的集合,由compute chunk/atom 命令定义,该命令将每个原子分配给一个块 ID(或根本不分配给任何块)。块的数量以及块 ID 到原子的分配可以是静态的或随时间变化。 “块”的例子是具有相似值(例如配位数或势能)的分子或空间仓或原子。原创 2024-04-16 02:15:00 · 2867 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(3.1)LAMMPS 的输出
LAMMPS 输出有四种基本形式原创 2024-04-16 01:30:00 · 3347 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(2.8)长程色散设置
PPPM 方法通过将对势分成两部分来计算相互作用,其中一部分以正常的成对方式计算,即所谓的实空间部分,而其中一部分则使用傅立叶变换计算,即所谓的倒数部分。 space 或 kspace 部分。对于这两个部分,电势并未精确计算,而是近似计算。因此,计算的两个部分都存在误差,即实空间误差和k空间误差。刚才提到的事实对于库仑的 PPPM 以及色散相互作用都是正确的。决定性的差异 - 也是必须更加谨慎选择 pppm/disp 参数的原因 - 是误差对结果的影响:库仑和色散相互作用的 PPPM 的 kspace 误差原创 2024-04-15 03:15:00 · 1361 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(2.7)NEMD 模拟
非平衡分子动力学(Non-equilibrium molecular dynamics)或 NEMD 模拟通常用于测量流体的流变特性,例如粘度。在 LAMMPS 中,可以通过首先设置非正交模拟框来执行此类模拟(请参阅前面的 Howto 部分)。通过使用fix deform命令,可以将剪切应变以所需的应变率应用于模拟框。fix nvt/sllod 命令可用于恒温剪切流体并对系统的 SLLOD 运动方程进行积分。原创 2024-04-14 05:45:00 · 1027 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(2.6)Lammps中的Walls墙
MD 模拟中的墙通常用于限制粒子运动,即充当边界条件。LAMMPS 中的墙壁可以是粗糙的(由粒子组成)或理想化的表面。理想的壁可以是光滑的,仅在法线方向上产生力,也可以是摩擦力,也在切线方向上产生力。由粒子构成的粗糙墙壁可以通过多种方式创建。粒子本身可以像任何其他粒子一样通过lattice和create_atoms命令生成,或者通过read_data命令读入。它们的运动可以受到许多不同命令的约束,因此它们根本不移动,作为一个整体以恒定速度一起移动或响应作用在它们上的净力,以规定的方式原创 2024-04-13 04:45:00 · 2594 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(2.5)恒压器
气压稳定是指在 MD 模拟中控制压力。恒温调节Thermostatting意味着控制颗粒的温度。由于压力包括由粒子速度引起的动力学分量,因此这两种操作都需要计算温度。通常,目标温度 (T) 和/或压力 (P) 由用户指定,恒温器或恒压器尝试将系统平衡至所需的 T 和/或 P。LAMMPS 中的气压调节是通过fixes来执行的。目前有两种气压调节方法:Nose-Hoover(npt 和 nph)和 Berendsen:原创 2024-04-12 10:24:20 · 1497 阅读 · 0 评论 -
【LAMMPS学习】八、基础知识(2.4)恒温器
恒温是指在 MD 模拟中控制颗粒的温度。Barostatting意味着控制压力。由于压力包括由粒子速度引起的动力学分量,因此这两种操作都需要计算温度。通常,目标温度 (T) 和/或压力 (P) 由用户指定,恒温器或恒压器尝试将系统平衡至所需的 T 和/或 P。LAMMPS 中的恒温是通过fixes来执行的,或者在一种情况下通过配对方式来执行。有几种恒温fixes可用:Nose-Hoover (nvt)、Berendsen、CSVR、Langevin 和直接重新调整(temp/rescale)原创 2024-04-12 10:24:02 · 2105 阅读 · 0 评论