写在前面
好好学习,走出宿舍,走向毕设!
一些心路历程记录,很少有代码出现
因为鬼知道哪条代码到时候变成毕设的一部分了咧,还是不要给自己的查重挖坑罢了
23.3.6
lammps代码修改
因为学姐要中期答辩了,所以其实周末有帮忙出一些模拟的视频
然后发现、、、预测结果有问题,检查了lammps的模拟语句,将其更改为了:
并且知道了因为郎之万动力学的限制,需要先运行一些步数使得系统达到稳定,再进行升温
G的进展,依旧不顺利
23.3.7
如何暴力地算出静态结构因子G
在学长的带领下开始找G的出处,又找了上周找到的那篇文章:
[1] Bagchi K , Andersen H C , Swope W . Computer Simulation Study of the Melting Transition in Two Dimensions[J]. Physical Review Letters, 1996, 76(2):255-258.
学长看懂了,给我讲了几遍,我大概也听懂了,从操作上来说,模的取值,就是把
即可。原因的话就在于这篇文章中的模拟系统的量纲都很好地归一化了。
至于后面提到的晶体倾斜的可能性,就按照论文里说的,在0-120度范围内,随机取wave factor的方向(做法同老板给我画的图,简单三角函数应用罢了)
然后求平均。
不过把这个方法汇报给老板以后,老板emo了,觉得这样做是对的,很优雅,但是我的生产力跟不上这么严谨的做法,直接取60度就完事了。
把老板教的整理一下,就是:
模拟
为了给学姐提供背景一致的trainning data,晚饭前又相继运行了100K和70000K温度下的模拟,将数据整理为了图片,打包发给了学姐~
一些之前的工作的整理方案
固相、液相的g(r)图片
↓
固相、液相的psi6图片
↓
固相、液相的g6(r)图片
↓
固相、液相的FFT图片
↓
固相、液相的gG( r )图片
这样一来,论文,或者说中期答辩的思路,就清楚多啦
23.3.8
从lammps的raw data(position)出发,提取每一帧的温度
物理原理,EZ
实际操作的时候,第一遍又翻车咧~
错误代码片段:
r = r/9360#平均距离
v = r/dt#分子平均速率
因为最后求的是v2 的平均值,所以应当求出所有v2 后再进行平均
一顿操作之后,数值准了好多
注意:此处统计了全部区域的运动轨迹,由于周期性边界条件的存在,一些颗粒的图上距离小于实际距离
这个问题在之前就有提及:
所以理论上来说,计算全部区域的粒子运动轨迹,平均距离增大,v2 较大,因此温度会大一些
至于具体大多少,不是很方便验证。因为提取前一帧和后一帧的中心区域来看,粒子的id可能不同,能够统计的样本太少,可能对结果造成一定的影响(说人话:有时间再搞,老板就急着要看温度上升的曲线,目前不是很在意定性的结果)
在这边提出一个可能可以行得通的办法
- 查询全部帧中中心区域的粒子号码
- 将前后两帧中均存在于中心区域的粒子号筛选出
- 对这些粒子进行计算
- 与全局计算的温度进行比较
我个人认为,这是有必要的,因为hexatic phase存在的区域极小,即其存在的温度区间也很小。最好不要引入过多的误差为妙。
gG( r )图片绘制
一直在拿着练习的2000K的第一帧图,有眉目了
像,但是不一定对
明天得把中心颗粒计数、从g(r)寻找颗粒间距的函数、计算G的函数,一共仨函数都嵌入主程序中,以达到从任一csv文件出发都能一步到位出图的目的。
一些未完成的事物
- 整理之前的代码
- G计算
- G计算的验算与完善
- 模拟温度处理
- 模拟温度处理的验算
- g(r)图片归一化