【LAMMPS学习】九、LAMMPS脚本 示例

9. 示例脚本

LAMMPS 发行版包含一个包含许多示例问题的示例子目录。许多是二维模型,运行速度快且易于可视化,在台式机上运行最多需要几分钟。每个问题都有一个输入脚本 (in.*),并在运行时生成一个日志文件 (log.*)。有些使用初始坐标的数据文件(data.*)作为附加输入。目录中包含一些在不同计算机上运行的示例日志文件,并且目录中包含不同数量的处理器,以比较您的答案。例如。像 log.date.crack.foo.P 这样的日志文件意味着“crack”示例在该日期机器“foo”的 P 处理器上运行(即使用该版本的 LAMMPS)。

许多输入文件都有用于创建转储文件和图像文件的注释行。

如果取消注释输入脚本中的dump命令,将生成一个文本转储文件,该文件可以通过各种可视化程序进行动画处理。

如果您在输入脚本中取消注释 dump image 命令,并假设您已经使用 JPG 库构建了 LAMMPS,则在模拟运行时将生成 JPG 快照图像。使用 dump image 文档页面上描述的命令可以将它们快速后处理成电影。

许多示例的动画可以在 LAMMPS website的电影部分查看。

示例文件夹中有两种子目录。小写命名目录包含一个或几个简单、快速运行的问题。大写命名目录最多包含几个复杂的脚本,用于说明特定类型的模拟方法或模型。其中一些运行时间较长,例如来测量特定的数量。

下面给出了两种目录的列表。

9.1.小写目录 

accelerate

使用各种加速选项运行(OpenMP、GPU、Phi)

airebo

具有 AIREBO势聚乙烯

atm

Axilrod-Teller-Muto potential example
Axilrod-Teller-Muto 势示例

balance

动态负载平衡,二维系统

body

体粒子,2d 系统

bpm

浇注弹性颗粒和板冲击的 BPM 模拟

cmap

CMAP 5 体对 CHARMM 力场的贡献

colloid

小颗粒溶剂中的大胶体颗粒,二维系统

comb

使用 COMB 势的模型

controller

使用固定控制器作为恒温器

coreshell

使用 CORESHELL 包的核/壳模型

crack

二维固体中的裂纹扩展

deposit

在表面上沉积原子和分子

dipole

点偶极粒子,二维系统

dreiding

甲醇,通过 Dreiding FF

eim

使用 EIM 势的 NaCl

ellipse

球形溶剂中的椭圆体颗粒,二维系统

flow

二维通道中的 Couette 和 Poiseuille 流

friction

二维表面之间球形粗糙体的摩擦接触

mc

通过修复 gcmc、widom 和其他命令的蒙特卡洛功能

granregion

使用固定壁/区域/颗粒作为粒状颗粒的边界

hugoniostat

Hugoniostat冲击动力学

hyper

Pt 表面扩散的全局和局部超动力学

indent

将球形压头压入二维实体

kim

使用 OpenKIM 存储库中的势

mdi

MDI包和MolSSI MDI代码耦合库的使用

meam

SiC 和剪切的 MEAM 测试(与剪切示例相同)

melt

3d LJ系统快速熔化

micelle

小类脂质分子自组装成二维双层

min

二维 LJ 熔体能量最小化

msst

MSST冲击动力学

multi

具有较大交互差异的系统的多邻域

nb3b

使用非键三体谐波对样式

neb

用于寻找障碍的微移弹性带 (NEB) 计算

nemd

二维剪切系统的非平衡MD

obstacle

围绕二维通道中的两个空隙流动

peptide

小溶剂化肽链(5 聚体)的动力学

peri

压头冲击圆柱体近场动力学模型

pour

将粒状颗粒倒入 3d 盒子中,然后流槽流动

prd

体硅中空位扩散的并行复制动力学

python

在 LAMMPS 输入脚本中使用嵌入式 Python

qeq

使用 QEQ 包进行电荷平衡

rdf-adf

计算水的径向和角度分布函数

reax

使用 ReaxFF 的 RDX 和 TATB 模型

rerun

使用 rerun 和 read_dump 命令

rigid

刚体建模为独立或耦合

shear

应用于二维实体(有或没有空隙)的侧向剪切

snap

使用 SNAP 电势的 BCC 钽晶体的 NVE 动力学

srd

作为溶剂的随机旋转动力学 (SRD) 颗粒

streitz

使用 Streitz/Mintmire 电势进行电荷平衡

tad

体硅中空位扩散的温度加速动力学

threebody

各种多体势的回归测试输入

tracker

追踪 LJ 熔体中的相互作用

vashishta

利用 Vashishta 势

voronoi

通过计算 voronoi/atom 命令进行 Voronoi 曲面细分


以下是运行和可视化示例问题之一的方法:

cd indent
cp ../../src/lmp_linux .           # copy LAMMPS executable to this dir
lmp_linux -in in.indent            # run the problem

运行模拟会生成文件 dump.indent 和 log.lammps。您可以使用 LAMMPS 网站的可视化页面上突出显示的各种第三方工具来可视化快照的转储文件。

如果您在输入脚本中取消注释转储图像行,运行时将生成一系列 JPG 图像(假设您构建了支持 JPG 的 LAMMPS;有关详细信息,请参阅 Build_settings 页面)。这些可以单独观看,也可以通过 ImageMagick 或 QuickTime 等工具或各种基于 Windows 的工具将其转换为电影或动画。有关更多详细信息,请参阅转储图像页面。例如。此 Imagemagick 命令将创建适合在浏览器中查看的 GIF 文件。

9.2.大写目录 

ASPHERE

各种非球面粒子模型,使用椭球体、刚体、线/三角形粒子等

COUPLE

如何使用 LAMMPS 作为库的示例

DIFFUSE

通过多种方法计算扩散系数

ELASTIC

计算零温度下的弹性常数

ELASTIC_T

计算有限温度下的弹性常数

HEAT

通过 Fix ehex 计算 LJ 和水的热导率

KAPPA

通过多种方法计算热导率

MC-LOOP

在蒙特卡罗模式下使用 LAMMPS 来弛豫输入脚本循环中系统的能量

PACKAGES

特定包和贡献命令的示例

SPIN

SPIN 包的功能示例

UNITS

以 lj、真实、金属单位运行相同模拟的示例

VISCOSITY

通过多种方法计算粘度


几乎所有这些目录都有自述文件,其中提供了有关如何理解和使用其内容的更多详细信息。

PACKAGES 目录有大量子目录,它们的名称与特定的包相对应。它们包含说明如何使用这些包中提供的命令的脚本。许多子目录都有自己的自述文件,其中提供了进一步的说明。有关特定包的更多信息,请参阅  Packages_details文档页面。

  • 40
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以使用文件操作模块来读取LAMMPS的dump文件。下面是一个简单示例脚本: ```python with open('dump.file', 'r') as file: lines = file.readlines() # 获取原子数量 num_atoms_line = lines[3].split() num_atoms = int(num_atoms_line[0]) # 从第10行开始循环读取每个原子的信息 for i in range(9, 9+num_atoms): atom_line = lines[i].split() atom_id = int(atom_line[0]) atom_type = int(atom_line[1]) atom_x = float(atom_line[2]) atom_y = float(atom_line[3]) atom_z = float(atom_line[4]) velocity_x = float(atom_line[5]) velocity_y = float(atom_line[6]) velocity_z = float(atom_line[7]) # 进行进一步处理,例如打印原子信息等 print(f"Atom {atom_id}: Type {atom_type}, Position ({atom_x}, {atom_y}, {atom_z}), Velocity ({velocity_x}, {velocity_y}, {velocity_z}) ``` 在这个示例中,我们使用了`open`函数打开了一个名为`dump.file`的文件,并以只读模式打开。然后,我们使用`readlines`方法读取了文件中的所有行,并将其存储在一个名为`lines`的列表中。 然后,我们提取了原子数量,并从第10行开始循环读取每个原子的信息。每一行都通过`split`方法分割成一个字符串列表,我们使用int和float函数将其转换为相应的整数和浮点数。 在我们获取了原子的各个属性之后,我们可以进行进一步的处理,例如打印原子的信息或进行其他计算。 请注意,上述示例脚本是一个简单的例子,实际情况中可能需要根据具体的dump文件格式进行适当的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值