首页 > 其他分享 >Lammps初学:准备文件与任务提交

Lammps初学:准备文件与任务提交

时间:2024-11-01 16:16:53浏览次数:5  
标签:文件 EAM 设置 Lammps 初学 提交 2500 模拟 势函数

这是我从零开始学习LAMMPS的个人笔记,主要用于自我回顾。如果你觉得这些内容对你有帮助,欢迎参考。如果有任何错误或需要改进的地方,也请不吝赐教~由于本人没有自装Lammps,用的远程超算提交模式,这里可能会与个人操作有一些不同。下面开始:

【三个文件:in文件、eam势文件、任务提交文件】

1 Input 文件:

是一个包含模拟参数和设置的文本文件。这个文件告诉模拟程序如何进行模拟,包括但不限于以下内容:

  1. 初始化设置:定义模拟盒子的大小和形状、原子类型、初始位置和速度等。

  2. 力场参数:指定原子间相互作用的势函数,如EAM势、Lennard-Jones势等,以及这些势函数的参数。

  3. 运行控制:设置模拟的时间步长、总步数、温度和压力控制参数、输出频率等。

  4. 边界条件:定义模拟的边界类型,如周期性边界、固定边界等。

  5. 原子定义:指定模拟中包含的原子类型和它们的属性。

  6. 计算设置:定义需要计算的物理量,如能量、压力、温度等,以及它们的输出格式。

  7. 特殊操作:如热化过程、退火过程、温度和压力的控制方法等。

  8. 后处理指令:有时input文件中也会包含一些后处理指令,用于模拟结束后对数据进行处理。

例如:

# This is a comment line

units metal                # 设置单位
atom_style atomic          # 设置原子样式
boundary p p p             # 设置周期性边界条件
read_data data.file        # 读取初始原子配置文件

pair_style eam/alloy       # 设置EAM势函数
pair_coeff * * CuNi.eam/alloy Cu Ni  # 指定EAM势函数的参数

neighbor 2.0 bin           # 设置邻居列表的更新频率和方法
neigh_modify every 10 delay 0 check yes  # 进一步设置邻居列表

timestep 0.001             # 设置时间步长

thermo 100                 # 设置输出信息的频率
thermo_style custom step temp pe ke etotal  # 设置输出信息的内容

# 运行模拟
run 10000

如果同样是新手的话,计算内容最好从简单的开始,多看看网上的案例。

2 Potential 文件:

EAM文件,全称为Embedded Atom Method(嵌入原子法)势函数文件,是用于描述金属体系中原子间相互作用的一种势函数。EAM势函数考虑了金属中电子的密度对原子能量的影响,因此比简单的两体势函数(如Lennard-Jones势)能更精确地描述金属原子间的相互作用。EAM文件通常以“.eam”为后缀,包含了用于计算EAM势函数所需的所有参数和函数,如嵌入函数、配对势函数和电子密度函数。这些函数通常以表格的形式给出,包含了在一定范围内的预设值,用于在模拟过程中计算原子间的作用力和能量。

如何获取EAM?参考:

分享几个查找势函数的网站以及查找晶格常数的网站/软件_势函数网站-CSDN博客

(我本人用的是脚本生成的方法,这里不提供具体的脚本了,有需要的可以联系我~)

脚本生成EAM流程:

1. 将脚本文件保存到C盘:

2. 打开Anaconda Powershell Prompt,输入命令:

 python create_eam.py -n Cu Ni -nr 2500 -nrho 2500
  1. -n:这个参数后面跟的是你想要生成EAM势函数的元素名称。在这个例子中,Cu Ni 表示你想要为铜(Cu)和镍(Ni)这两种元素生成EAM势函数。

  2. -nr:这个参数指定了径向基函数的点数。

  3. 2500:这是-nr参数的值,如上所述,表示径向基函数的点数。在这个例子中,2500 表示在生成势函数时,将使用2500个点来描述径向基函数。径向基函数是EAM势函数中用来描述原子间相互作用的函数,更多的点可以提供更精确的描述,但同时也会增加计算的复杂度。

  4. -nrho:这个参数指定了密度网格的点数。在这个例子中,2500 表示在生成势函数时,将使用2500个点来描述密度网格。密度网格是EAM势函数中用来计算电子密度的网格,更多的点可以提供更精确的电子密度计算,但同样会增加计算的复杂度。

运行结束后,在C盘中得到如下文件,说明成功生成:

3 脚本文件:

 脚本文件命名可以询问自己课题组的成员,具体内容可以参考:

#!/bin/bash
#SBATCH -n 128
#SBATCH -N 2        
#SBATCH -p 64cores
module load LAMMPS/23Jun2022
###module load LAMMPS/29Sep2021-avx2
mpirun lmp < xxx.in >lmp.out 2>lmp.err

这里“xxx.in”对应input文件的文件名,每次提交前都需要改成本次要提交的任务名称,否则会提示找不到文件。

4 任务提交:

sbatch 脚本文件名

5 结语:

这里主要给出的是Lammps准备文件以及超算提交流程,后面会结合具体案例进行讲解。

标签:文件,EAM,设置,Lammps,初学,提交,2500,模拟,势函数
From: https://blog.csdn.net/weixin_50519490/article/details/143423640

相关文章

  • git 提交、版本回退等
    分布式与集中性版本管理系统先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回......
  • 初学c语言(第一天)
     其实我也不太算是初学,但是也算是初学,这样说有点矛盾哈,让我来解释一下: 首先我是一个今年刚刚毕业的大学生,大学学的专业是电子信息工程,这个专业涉及过c语言,但是我大学期间只顾的潇洒了,没怎么认真学习,只有当大四下学期的时候我们离校需要出去找工作实习时,我才发现我什么都不......
  • string和初学指针和动态内存分配
    strcmp:原型定义于:<string.h>intstrcmp(constchar*str1,constchar* str2)比较的标准是ASCII从第一个字符开始比,直到遇到不同的字符或者返回NULL(0)若STR1[I]>STR2[I],返回1若STR1[I]<STR2[I],返回-1若STR1[I]=STR2[I],返回0strcpy:原型定义于<string.h>常用于字符串......
  • @Transactional注解管理事务和手动提交事务
    1、@Transacational注解(1)注解里面的属性:propagation:用于设置事务传播属性,该属性类型为Propagation枚举,默认是Propagation.REQUIREDissolation:用于设置事务的隔离级别,该属性类型为Isolation枚举,默认是Isolation.DEFAULTreadOnly:用于设置该方法对数据库的操作是否是只读......
  • Pycharm如何拉取gitlab代码及提交代码
    一、区分gitlab和github1.首先要区分gitlab和github是不一样的,不共用一个账号二、拉取gitlab代码1.Git克隆gitlab上的代码到Pycharm2.注意:此时拉取的代码是master上面的代码,即拉取远程master的代码到本地master分支3.在本地master分支更新下,拉取最新的代码4.打开自己的......
  • 初学Java(二)
    初学java(二)在Java学习的第二周,我的学习旅程取得了显著的进展,既加深了对编程基础的理解,又开始接触一些更为复杂的概念。在这段时间里,我意识到编程不仅仅是写代码的过程,更是一种逻辑思维的锻炼和解决问题的能力提升。一、基础知识的巩固本周,我复习了Java的基本语法,包括数据......
  • IDEA如何提交代码
    前言我们在使用IDEA开发Java应用时,经常是需要用到git工具的,这帮助我们更好的管理代码,以及协同开发。今天,就来介绍下在IDEA中,如何用git提交和推送代码,完全是手把手教学。如何提交和推送代码首先,我们需要接入git,这个先不讲了。其次,我们修改某些文件,或者新增,或者删除的时候,就可以......
  • 缺陷的判定与提交
    第九章提交缺陷报告一、 软件缺陷的判定什么是缺陷软件存在着不符合质量需求或违背软件用户、客户、企业意愿的问题,这就是软件缺陷(Defect),又叫“Bug(臭虫)”。软件缺陷的判定准则软件未达到产品说明书标明的功能;产品说明书简称为说明(spec)或产品说明(productspec),是软件开发小组的一个......
  • Pbootcms留言“提交成功”的提示语怎么修改
    要在PbootCMS中修改留言“提交成功”的提示语,可以按照以下步骤操作:定位文件:打开 apps/home/controller/MessageController.php 文件。查找代码段:在文件中找到大约第103行的代码段,该段代码如下:if($this->model->addMessage($data)){session('lastsub'......
  • 如何将本地代码使用git提交至码云仓库
    1新建一个仓库填写仓库名称,私有和开源按自己的需求 2新建完成后设置自己git的提交信息 打开本地的gitbash输入以下命令,以下的--global是全局设置,以后git提交文件都用该用户信息gitconfig--globaluser.name"xxxxxx"gitconfig--globaluser.email"xxxxxxxx" ......