replicate
语法
replicate nx ny nz
nx、ny、nz是各个方向上的重复因子。
描述:
在各方向上,重复当前的构型一次或多次。例如重复因子为2 2 2时,将通过复制各个方向的区域创建一个8倍数量的原子。当重复因子为1时,模拟的区域不变。当建立了新盒子后,它也会被划分为很多盒子,然后分配给个processor(根据processors的数量和processors命令)。这个划分可以通过balance和fix balance 命令更改。
原子的所有的性质将会被复制,包括它们的速度。新的ID将会被分配给新原子,分子ID也会被赋值。新产生的原子间以及新原子和旧原子间的键和其他拓扑作用也同样会被建立。通过每个原子的image flag将它unwrap到周期性盒子外,然后复制它。
这就意味着,你在原文件中定义的跨过周期性边界的键的两个原子的image flags应该相差1.这会保证键unwrap的正确进行。
限制:
2d模拟构型不能再z方向上重复。
当模拟构型在某一方向上是非周期性的时,在这个方向上进行重复时应该当心,它可能把原子放到重叠在一起。
注意:对于分子穿过盒子并又连接到它自己上的模型(分子实际上是一个循环),你不能够使用replicate命令。简单的例子是一个线性聚合物链,跟家真实的例子是无限长的CNT或者石墨烯或者周期性的晶体(相邻原子间存在化学键)。(当CNT只是运用AIREBO势的原子模型时,原子之间没有固定的键,这时可以使用replicate命令。)relication不能使用的原因是在这些模型中,image flag设置不能连续的设定。I.e. it is not possible to define images flags so that when every pair of bonded atoms is unwrapped (using the image flags), they will be close to each other.要实现这种模型的replicate智能先断开连接,增加原子然后在重新连接断开的原子。但这样其实并不明智。所以你将不得不构建一个更大的分子并重新输入新的data文件。
如果当前的模拟构型是从一个restart 文件读入的,对于单独的原子将没有fix信息。相似的,在replicate命令执行时没有fix命令可以使用。这是因为replicate命令不知道如何重复新这些信息到新原子中。
Replicate不能用于有化学键跨过边界的刚体模型,不管这个模型时被创建的还是从restart文件中读取的。这是因为刚体模型的周期性image信息与其他的非刚体体系不一样,能够导致新的化学键的形成。因此在这种情况下不要使用replicate命令。