大家好,我是小马老师。
在之前推文中,已经介绍过高熵合金的建模方法:
高熵合金建模方法
有些粉丝朋友反映这个命令不能用,主要原因是set type/ratio命令是lammps的一个新命令,只能用于2020年以后的版本,在2019年以前的版本中,无法识别这个命令。
在运行in文件时如果提示set type/ratio为非法命令,重新安装新版本的lammps即可。
如果不方便重新安装新版本的lammps,也有一个替代方案:
使用set type/fraction替换set type/ratio命令。
set type/fraction命令的语法和原理与set type/ratio基本差不多,都是将一定数量的原子随机替换为一种新的原子。
set type 1 type/fraction 2 0.2 87393
上述命令是在原子类型1中随机选择20%的原子替换为原子类型2,87393为随机数种子,随便选一个正整数即可。
因此,使用set type/fraction命令进行高熵合金建模代码可修改为:
#按比例将原子1替换成其他原子,得到合金结构
set type 1 type/fraction 2 0.2 87393
set type 1 type/fraction 3 0.5 5656
set type 1 type/fraction 4 0.5 67878
set type 3 type/fraction 5 0.5 895640
结果如下图所示:
既然两个命令都可以按比例进行原子的随机替换,区别是什么呢?
下图为set type/ratio的运行结果:
原子类型1初始值为8000,按照20%替换后,5种原子的数量均是1600,原子比为1:1:1:1:1。
我们再来看看set type/fraction命令的运行结果:
原子类型1同样是8000,但是在替换时并没有完全按20%的比例替换,5种原子的数量比为:1566:1601:1600:1638:1595。
通过对比可以看出,set type/fraction为近似比例替换,最终的结果与预设值有一定的误差。
因此,如果在模拟过程中需要精确控制原子比例,应该使用set type/ratio命令,如果对原子比例要求不是很严格,在set type/ratio命令不能用的情况下,可以考虑使用set type/fraction命令。
公众号:lammps加油站
lammps在线课程: