大家好,我是小马老师。
本文介绍lammps random()函数的用法。
random()函数主要用于产生一个随机数,语法规则为:
random(x,y,seed)
x和y分别为随机数的最小值和最大值,产生的随机数位于x和y之间。
seed为随机数种子,这个值为一个正整数,不同的seed产生不同的随机数。
使用random()命令可随机选择体系内的一个原子。
如在辐照模拟中,在id为1-8676的原子中随机选择一个原子作为pka原子:
variable tmp equal random(1,8676,9090)
variable atomid equal ${tmp}
print "id=${atomid}"
group pka id ${atomid}
如果代码这么写,会提示一个错误:
因为random()产生的随机数是一个小数3037.1984,这个小数无法和体系原子的id对应,还需要把小数转换为整数。
lammps提供三个函数,均可以对小数进行取整:ceil()、floor()和round()。
代码改成这样就可以运行了:
variable tmp equal floor(random(1,8676,9090))
variable atomid equal ${tmp}
print "id=${atomid}"
group pka id ${atomid}
--------------------------------
公众号:lammps加油站