大家好,我是小马老师。
本文继续讲解lammps基础知识:变量前缀的用法。
在lammps中,有三种变量的前缀:v_、c_、f_,不同的前缀有不同的含义。
下面分别介绍这三种前缀的含义和用法。
(1)前缀v_
lammps中使用variable定义一个变量,类似与C语言中变量的定义。
如定义一个名为beta的变量:
variable beta equal temp/3.0
要获取beta变量的值,不能直接用beta这个变量名,需要在变量名称的前面加前缀“v_”:
thermo 100
thermo_style custom step v_beta
(2)前缀c_
compute命令在lammps中主要是计算模拟过程中的一些量,如力、能量等。
compute计算结果存储到与compute id相关的变量中,如果要提取计算结果,需要在id前面加前缀“c_”:c_id。
如计算单原子的应力:
compute 1 mobile stress/atom NULL
读取计算结果:
thermo 100
thermo_style custom step c_1[1] c_1[2] c_1[3]
c_1表示单原子的应力结果,如果结果是一个标量,直接用c_1就可以输出,如果计算结果是一个矢量(类似c语言的数组),需要在c_1后面加[1|2|3]获得其中的某一个值。
(3)前缀f_
fix命令是另一个重要的lammps命令,某些fix命令不仅起设置作用,还会把设置结果存储到f_id的变量中。
如固定top组的命令为:
fix 1 top setforce 0 0 0
top组受力被重置为0,但在重置为0之前,top组原子受力被保存到f_1中,在xyz三个方向的受力分别为:f_1[1]、f_1[2]、f_f[3]。
这些力可以存为一个变量,也可以直接输出。
variable forcex equal f_1[1]
thermo_style custom step v_forcex f_1[1]
正式推出一对一咨询辅导服务,根据课题方向不同详细讲解对应的in文件编写方法、模拟关键技术、数据后处理,经一对一咨询辅导后能够独立编写出in文件。
具体内容可查看公众号一对一培训说明:lammps一对一培训
公众号案例代码以及学习交流,请加QQ群:236862503
扫描关注微信公众号:lammps加油站。