系列文章目录
`
例对应Lammps来说,in文件是它的灵魂,只有in文件才能进行lammps的运行。
接下来将介绍Lampps文件的基本框架,此处以FeCoNiCr高熵合金弛豫构型为例。
前言
例如:随着材料的不断发展,传统的试错法越来越难以满足新材料的研发效率,计算材料学这门技术也越来越重要,而分子动力学因其模拟功能强大以及可视化,能对晶界,位错以及原子等信息进行模拟,并且分子动力学相对容易上手,所以很多人都开启了学习分子动力学,本文就介绍了分子动力学的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、in文件是什么
In文件决定分子动力学模拟的结果,没有in文件就没有模拟。
二、In文件的基本框架
1.初始化(单位,边界条件,模型结构维度,全局常量的设置)
代码如下(示例):
units metal #单位制
dimension 3 #维度
boundary p p p #边界条件
atom_style atomic
2.模拟区域信息设置(晶体结构类型,参数,构型形状,大小,构型的原子组成)
代码如下(示例):
lattice fcc 3.6149
region box1 block 0 15 0 15 0 15
create_box 4 box1 #设置原子种类
create_atoms 1 region box1 #向模拟区域添加原子
2.1 原子的转换(不同原子比例的转换)
set type 1 type/fraction 2 0.25 87393
set type 1 type/fraction 3 0.3333 87393
set type 1 type/fraction 4 0.5 87393
2.2 原子种类的注释(不同原子质量信息以及编号)
mass 1 55.845 #Fe
mass 2 51.996 #Cr
mass 3 58.693 #Ni
mass 4 58.933194 #Co
```c
代码如下(示例):
以上的功效相当于实验中的配料
#输出原子初始结构
write_data chushi.data
3.势函数/力场设置(势函数的选择,势函数文件准备)
代码如下(示例):
pair_style eam/alloy
pair_coeff * * FeNiCrCoCu-with-ZBL.eam.alloy Fe Cr Ni Co
4.动力学设置(初始温度/速度,运行时间)
timestep 0.001
velocity all create 300 12345
5.弛豫设置(加热温度,加热时间)
fix 1 all npt temp 300 300 0.1 iso 0 0 0.1
6.模拟过程的输出信息设置(步长,形变量,压力,能量,温度等)
thermo 1000
thermo_style custom step lx ly lz press pxx pyy pzz pe temp
7.最终构型的输出信息设置(原子坐标,.Lammps文件)
dump 1 all custom 1000 dump.lammpstrj id type x y z
dump_modify 1 sort id
8.运行步数设置(模拟的次数)
run 20000
总结
以上基本上囊括了分子动力学in文件的主要框架,此外下面将介绍一个更具有泛化性的框架给大家。
#in文件模板
#----------1 模拟参数--------------------
units metal
boundary p p p
atom_style atomic
timestep 0.001
neighbor 2.0 bin
neigh_modify delay 0 every 5 check yes
#----------2 体系模型的建立----------------
variable xbox index 100
variable ybox index 100
variable zbox index 100
region simulationbox block 0 ${xbox} 0 ${ybox} 0 ${zbox} units box
create_box 1 simulationbox
lattice fcc 3.61
region cu block ${xstbox} ${xtbox} ${ystbox} ${ytbox} ${zstbox} ${ztbox} units box
create_atoms 1 region cu
mass 1 64
#输出原子初始结构
write_data test.data
#----------3 力场的设置-------
pair_style eam/fs
pair_coeff * * Cu.eam.fs Cu
#----------4 能量最小化-------
thermo 100
thermo_style custom step press pe temp ke
dump 1 all atom 100 mini.lammpstrj
min_style cg
minimize 1e-15 1e-15 5000 5000
undump 1
reset_timestep 0
#-----------5 温度初始化--------
velocity all create 300 321456 rot yes dist gaussian
#-----------6 弛豫-------------
thermo 100
thermo_style custom step press pe temp ke
dump 1 all atom 100 mini.lammpstrj
fix 1 all nvt temp 300 300 0.1
run 10000
unfix 1
undump 1
reset_timestep 0
#-------7 具体模拟设置-------
thermo 100
thermo_style custom step press pe temp ke
dump 1 all atom 100 mini.lammpstrj
fix 1 all npt temp 300 300 1 y 0 0 1 z 0 0 1 drag 1
variable srate equal 1.0e10
variable srate1 equal "-v_srate / 1.0e12"
fix 2 all deform 1 x erate ${srate1} units box remap x
run 100000
例如:以上就是今天要讲的内容,本文仅仅简单介绍了In文件的基本框架,以高熵合金弛豫为例子给大家进行介绍。
下一步计划
明天要掌握WC参数的获取,拉伸模型的重构,WC+拉伸模型的融合
感谢瑾玥,雯玥师姐的帮助
2022-07-15