这个技术非常有用。有时你已经知道一些比较复杂的结构是由一些熟知的结构元组成(例如B),但是 你不确定这些熟知的结构元在一定的条件下会不会变形。你可以告诉程序只产生基于 组成的结构。 同时,你依然可以使用标准的方式去产生子代结构(例如遗传和变异),也就是程序以原子晶体的方式 对待这些子代结构,因此可以打破原先定义好的结构元。
你仅仅需要通过准备一个普通的INPUT.txt就能激活这一功能,
% atomType B % EndAtomType % numSpecices 48 % EndNumSpecices
假设你想要产生基于B十二面体的结构,那么需要增加一个MOL_1文件
B12_[4] Number of atoms: 12 B -1.591325 -0.618615 -0.217220 0 0 0 0 B -0.574110 -0.095870 -1.619670 1 0 0 0 B -1.211325 1.134555 -0.455665 2 1 0 0 B -1.158010 0.414740 1.203810 3 2 1 0 B -0.487865 -1.260560 1.065420 4 3 1 0 B -0.126980 -1.576135 -0.679575 5 4 1 0 B 0.487845 1.260560 -1.065430 3 2 1 0 B 0.127000 1.576130 0.679585 4 3 1 0 B 0.574120 0.095870 1.619670 5 4 1 0 B 1.211315 -1.134555 0.455685 6 5 1 0 B 1.158015 -0.414735 -1.203800 2 6 1 0 B 1.591320 0.618615 0.217195 7 8 3 0
这个文件的格式在中已经进行了说明。唯一的不同就是我们需要在开头 添加一些额外的信息。[4]表示的是将会使用四个MOL_1 (B12),这与INPUT.txt里48个B原子是一致的。 而且必须与INPUT.txt里的设置对应。否则,即使你在INPUT.txt里添加了额外的MOL_x文件,碎片功能也 不会被激活。如果你的设置是正确的,将会在OUTPUT.txt中看到碎片功能被使用的信息。
对于二维晶体,在这种情况下你需要去指定两个厚度。
4.0 : thicknessS (it specifies the overall thickness of 2D crystal ) 0.0 : thicknessB (it specifies the thickness of the molecular centers)
目前,可以再模块300和-200中使用这一功能。注意你无法同时使用单块体和片段功能。 强烈推荐,晶胞参数已知的情况下,在定胞模块中使用这一功能。