lammps的in文件编写及代码分享

1.in文件的编写

1. 模型基本设置

units            metal          #金属单位体系
dimension        3              #三维,默认
boundary         p p p          #周期性边界条件
atom_style       atomic         #原子类型
neighbor         2.0 bin        #定义邻居列表,截断半径之外2.0壳体
neigh_modify     every 5 delay 0  #每5步更新邻居列表,delay 0不延迟
timestep         0.001          #模拟步长,0.001ps

2. 系统建模

(1)读取data文件

read_data         Al.data
#读取多个data文件
read_data         Fe.data extra/atom/types 1
# extra/atom/types 1 额外增加1种原子类型
read_data         Cu.data add append offset 1 0 0 0 shift 0.0 -22 0.0
# add append追加,offset偏移(原子类型+1),shift整体Cu在y方向移动22埃米

(2)自建模型

lattice         fcc 4.05        #Al原子,FCC晶格,晶格常数4.05埃米
region          box block 0 10 0 10 0 10   #划定区域,区域名box,block块状,xyz方向0-10层晶格
create_box      1 box           #box区域设置一种原子
create_atoms    1 box           #box区域填充类型1的原子

(3)超晶胞
    原胞:能完整反映晶体内部原子或离子在三维空间分布中化学-结构特征的平行六面体最小单元。
    超胞:超胞是对原胞的扩展,扩展成新的重复单元。
    建立超胞的目的:
      (1)表面吸附问题:不同晶向、不同吸附浓度;
      (2)异质结模型问题:晶格失配和角度失配;
      (3)缺陷问题:获得合适的空位、掺杂浓度;固溶体问题;

3. 力场设置

pair_style     eam/fs        #合金
pair_coeff     * * Al_nm.eam.fs Al    # * *所有原子之间,势文件名+原子列表
#或者
pair_style     eam          #单晶
pair_coeff     * * Al.eam   #势文件名+不用原子列表,单晶材料
#或者
pair_style     lj/cut 10.0     #lj势,无相应势文件,截断半径10.0
pair_coeff     1 1 0.023 2.8   #类型1与类型1原子之间,0.023能量 2.8距离,1*3类型1到类型3的原子

4. 温度初始化

    原子温度由原子速度计算得到,温度初始化后,原子获得初始速度

velocity      all create 300 8989  #设置速度,all所有原子,create生产速度,温度300K,随机种子8989

5. 弛豫

(1)nve系综

fix           1 all nve      #摩尔量、体积、能量不变,孤立系统,fix命名1,all所有原子

(2)nvt系综

fix          1 all nvt temp 300 300 0.1      #恒温系统,温度300K,温度阻尼系数0.1(模拟步长100倍最好)
fix          1 all nvt temp 300 1000 0.1     #升温系统,温度300K到1000K,恒定升温速率

(3)npt系综

fix          1 all npt temp 300 300 0.1 iso 0 0 1     # iso三个方向压强,压强阻尼系数(模拟步长1000倍最好)
fix          1 all npt temp 300 300 0.1 x 0 0 1       # x方向压强

6. 模拟设置

(1)compute计算

compute      1 mobile stress/atom NULL         #计算原子应力,compute命名1,计算mobile组的原子,stress/atom单原子应力
compute      myTemp mobile temp                #计算温度,compute命名myTemp,计算mobile组的原子,temp温度

(2)fix设置

fix           1 all deform 100 x erate 0.05 remap x  #deform变形,每100步,沿x方向,应变率0.05,remap x重新映射原子位置

7. 输出设置

(1)体系变量输出

thermo           100                              #每100步输出一次
thermo_style     custom step temp pe ke press     #custom自定义输出,输出当前步数,温度,势能pe,动能ke,压力

(2)原子量输出

dump            1 all custom 100 tension.xyz type x y z    #custom自定义输出,每100步输出一次,输出文件名tension.xyz,输出原子类型、xyz坐标
dump_modify     1 element O H Na Cl            #指定原子对应的元素类型,在element后边按照data文件中mass列表中的顺序指定对应元素即可

8. lammps程序运行

1.windows系统
  打开cmd命令窗口,进入相应文件目录

mpiexec -np 8 lmp -in in.cu            # mpi 设置8核运行
mpiexec lmp -in in.cu                  #单核运行

2.linux系统

mpiexec -np 8 lmp_mpi -in in.cu            # mpi 设置8核运行
lmp_mpi -in in.cu                          #单核运行

9.估算模拟时间

    运行结束后,打开log文件,找到Performance,后边给出了当前电脑对此模型的算力,ns/day 服务器运行1天能够计算的模拟时间(ns),hours/ns:模拟1ns需要的实际时间(hours),timesteps/s:1s可以计算的步数(timesteps)。通过以上信息,可以基本估计出lammps的模拟时间。

2.Cu融化in文件

1. Cu融化模拟参数

  晶格常数:3.61
  模型尺寸:5 *5 *5 (晶格)
  边界条件:周期性边界条件
  单 位:metal
  模拟步长:1fs
  势函数类型:EAM
  初始温度:300K
  结束温度:2000K
  系 综:nvt

2. in文件

# Cu融化 300K-2000K

#模型基本参数
units                 metal          #金属单位体系
dimension             3                 #3维
boundary              p p p           #周期性边界条件
atom_style            atomic         #原子类型,金属用atomic,复合物用full
timestep              0.001           #模拟步长,一般选择原子振荡周期的1/10,1fs
neighbor              2.0 bin         #设置邻居列表
neigh_modify          every 1 delay 0

#构建模型
lattice               fcc 3.61                             #FCC面心立方
region                box block 0 5 0 5 0 5        #模拟盒子,xyz方向5个晶格
create_box            1 box                                 #设置一种原子
create_atoms          1 box                                 #生成类型1的原子

#热力学信息输出
thermo                100                                    #每100步输出一次
thermo_style          custom step temp pe ke 
 
#势函数设置
pair_style            eam                                    #使用eam势
pair_coeff            * * Cu_u3.eam 

#温度初始化
velocity             all create 300 89890                        #初始300K

#升温融化
dump                 1 all atom 1000  melt.xyz                 #每1000步输出一次
fix                  1 all nvt temp 300 2000 0.1             #升温速率1700K/10ps = 170K/ps
run                  10000                                              #运行10000步,10ps
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值