Materials Studio多层聚合物的构建及data文件导出
MS build layer
我就Build layers各个选项做个简单介绍:
1. Defined layers
- Layer1到layer2的建立顺序是由下往上;
- 一次build最多只能建立三层,但是可以重复叠加得到的文件;
- As a crystal建出来的带有真空层,as a surface建出来的只是一个平面,后续的volume需要在build>crystals>build vacuum slab中建立,区别在于后者可以自己设置layer与盒子边界的真空层厚度;
- 至于上次提及的confined和periodic的区别在build layer的时候就可以体现出来了,前者build时表面更平,当然应该还有其他的区别,如有了解的可以给我留言;
- 由于build layer时系统自动给层与层之间施加了真空层,因此整个体系的密度不是先前单独layer的目标设定,后续需要在lammps中进行压缩处理。
2. Layer details - Vacuum设定layer之间的真空层厚度,即使默认0.0,但是layer与layer之间会有默认真空厚度,layer与盒子边界也有5埃的厚度;
- Cleave选择切割类型,一般Default默认即可,选择atomic的话,你可以得到很平的切割面,但是进行data文件导出时会报错;
- Flip和origin offset就是对layer进行一些翻转偏移,一般都是不设置的。
3. Matching & options - 一般默认即可,但是如果两个layer的layer的a,b值不一样,在这里需要进行考虑。
msi2lmp转car为data
- File>export>.car,在目标文件夹中包含了两个文件,一个为.car,一个为.mdf,包含了模型的坐标和力场信息;
- 打开lammps安装目录下的frc_files中的README-msi2lmp文本,里面有具体的导出命令的书写,一般只用到里面的部分设定:-class(选择力场),-frc(指定力场文件),-shift(进行坐标平移),坐标平移这部分可能不是必须,但目前为止我建立的模型都需要进行坐标调整。
USAGE: msi2lmp.exe {-print #} {-class #} {-frc FRC_FILE}
{-ignore} {-nocenter} {-shift # # #}
– -print (or -p)
# is the print level 0 - silent except for error messages
1 - minimal (default)
2 - verbose (usual for developing and
checking new data files for consistency)
3 - even more verbose (additional debug info)
– -ignore (or -i) ignore errors about missing force field parameters
and treat them as warnings instead.
– -nocenter (or -n) do not recenter the simulation box around the
geometrical center of the provided geometry but
rather around the origin
– -oldstyle (or -o) write out a data file without style hints
(to be compatible with older LAMMPS versions)
– -shift (or -s) translate the entire system (box and coordinates)
by a vector (default: 0.0 0.0 0.0)
– -class (or -c)
# is the class of forcefield to use (I or 1 = Class I e.g., CVFF)
(O or 0 = OPLS-AA)
(II or 2 = Class II e.g., CFFx)
default is -class I
– -frc (or -f) specifies name of the forcefield file (e.g., cff91)
无坐标平移
pcff为class2类型,此处直接书写pcff.frc默认该文件在test文件夹内,否者需要指定lammps力场文件:…/frc_files/pcff.frc,由于无坐标平移我的模型整体向上偏移了一部分,这显然是不合理的,会对后续的运算造成影响,因此需要进行shift命令。
cd E:\research\test
msi2lmp.exe Layer -class 2 -f pcff.frc
cmd
data文件中模型的坐标范围
0.885477283 57.585477283 xlo xhi
-0.143490168 56.556509832 ylo yhi
-0.803606839 42.679693161 zlo zhi
坐标平移
偏移量可通过未经偏移得到的data文件进行调整,由于我后续lammps的运算的边界条件在Z方向为非周期性,所以需要对Z进行shift偏移,偏移量就是0.803606839(注意要是原始data坐标的相反数),如果想要得到x,y起始坐标为0,则x,y方向的shift设定分别为-0.885477283/2,0.143490168/2,处理后就可以得到完美的data文件了,可以用于in文件的读取。
cd E:\research\test
msi2lmp.exe Layer -class 2 -f pcff.frc -s 0.0 0.0 0.803606839
cmd
0.885477283 57.585477283 xlo xhi
-0.143490168 56.556509832 ylo yhi
0.803606839 44.286906839 zlo zhi