二维温度云图实现
涉及到的命令
- chunk/atom
- temp/chunk
- ave/chunk
部分命令仅供参考
#-----------------------C层温度分布
compute 1 C chunk/atom bin/2d y 0.0 2.0 z 0.0 2.0 #对原子进行分类切块
compute 2 C temp/chunk 1 temp com yes #去除chunk质心速度的温度
fix 1 C ave/chunk 1000 5 10000 1 temp bias 2 file tempC.profile #每个块的平均温度
bin/2d:二维
y 0.0 2.0 :dim(切块方向), origin(切块起点), delta(切块厚度)
厚度的话看自己的体系,我的是323250,2.0即可,正常1-5均可,自己调试,过大会不够均匀,过小会导致切割后的块内无原子,即没有数据。
数据导出
最终的数据会被存入自己命名的tempC.profile文件内:
对应的Coord1是我的y方向,Coord2是Z方向,由于是部分数据,所以Coord1显示的都还是1,下一个Coord1对应的是1+delta,至于为什么数据中会出现0,这里的话不是我切割厚度的不合理,而是我的模型在那个范围的确没有原子,如果仔细看chunk/atom命令的话,会发现虽然命令可以指定group,但是系统还是会把整个体系沿着你的方向切一遍,所以我后续的操作就是把对应时间步数据中为0的行去掉,得到目标group的块范围。至于自身数据处理时有0是否去除得自行判断是切割参数的问题,还是自己系统的确在那个范围无原子!!
Starting at the origin, sufficient bins are created in both directions to completely span the simulation box or the bounds specified by the optional bounds keyword
tempC.profile部分信息:
# Chunk-averaged data for fix 1 and group bias
# Timestep Number-of-chunks Total-count
# Chunk Coord1 Coord2 Ncount temp
320000 1008 2718
1 1 1 0 0
2 1 3 0 0
3 1 5 0 0
4 1 7 0 0
5 1 9 0 0
6 1 11 0 0
7 1 13 0 0
8 1 15 0 0
9 1 17 0 0
10 1 19 6.2 308.375
11 1 21 16.8 264.951
12 1 23 17.6 273.496
13 1 25 17.4 312.707
14 1 27 15 332.709
15 1 29 16 299.605
16 1 31 15.2 298.029
17 1 33 13.6 328.428
18 1 35 13.6 269.313
19 1 37 16.2 278.102
20 1 39 17 291.573
21 1 41 12.2 311.539
22 1 43 2.2 272.61
23 1 45 0 0
24 1 47 0 0
25 1 49 0 0
26 1 51 0 0
27 1 53 0 0
28 1 55 0 0
29 1 57 0 0
30 1 59 0 0
31 1 61 0 0
32 1 63 0 0
33 1 65 0 0
34 1 67 0 0
35 1 69 0 0
36 1 71 0 0
37 1 73 0 0
数据导出
清完0的数据,最后只需要保留Coord1, Coord2, temp.
将数据导入origin:
将数据转为矩阵:
最后对生成的矩阵绘图即可:
这个时间步比较合理,上层是摩擦界面:
文献分析
最初关于温度云图的认识是出自这篇文献,现在来看的话应该就是用我上述的命令完成的。只不过他的切割起点应该时系统的正中间,chunk/atom有关于middle的命令,感兴趣可以看看。
关于去除质心速度的描述: