式 1 与图 1:用导数算拓扑荷
式 1 就是第 6 章的连续拓扑荷,导数用格子上的有限差分计算。图 1(a) 是零温下的斯格明子,颜色表示 ;(b) 把每个格子映射到单位球面上,线段表示相邻格子之间的连接。这张连接网恰好把球面覆盖一次,式 1 给出 −0.99978290。
(c)、(d) 给每个磁矩加上随机无序。球面上的网变形了,但仍然覆盖球面一次,所以拓扑荷并没有变;式 1 却给出 −0.97115153。这张图说明:相邻磁矩差别大时,有限差分值会失准,即使纹理本身没变。
常见的误读是把 −0.971 当成斯格明子已经部分散开。(b) 和 (d) 的拓扑结构相同,变差的只是导数的估计。
式 2、式 3 与图 2:用三角形来数
式 2、3 用相邻三个磁矩组成的三角形的带符号立体角来数拓扑荷,这是 Berg 与 Lüscher 的构造。图 2(a)、(b) 是把四个格子组成的方格分成两个三角形的两种分法;(c) 对两种分法取平均,每个三角形权重二分之一;(d) 处理有限形状:叉号表示空格,在弯曲边缘处只有一种分法放得下,那个孤立的三角形权重取 1。
这说明:晶格值不需要导数,相邻磁矩差别大时也不会变差。要避免的误读是认为它处处精确。只有三角形铺满一个封闭曲面时,比如周期性的膜,平滑纹理的总和才是整数;有开放边缘时不必是。
图 3:100 到 400 K 下的无边界膜
第 3.1 节给出运行设置:边长 200 nm、厚 0.6 nm 的方膜,256 乘 256 个格子,面内周期性边界,,,,,不计偶极相互作用。拓扑荷每 5 ps 采样一次,共 100 ns。图 3 每个子图对应一个温度,插图是有限差分值的直方图。
有限差分曲线在起伏,温度越高散得越开,直方图的峰也不在 −1。晶格曲线几乎是平的;作者把残余的抖动(400 K 时从 −1.0000008 到 −0.9999996)归因于单精度运算。400 K 时晶格曲线还出现短暂的 −1/2 和 −1 状态,作者解读为热驱动的半子和斯格明子的产生与湮灭。
这说明:在无边界的膜里,晶格拓扑荷只在真有事情发生时才变化。误读是把有限差分曲线对时间平均,当作拓扑荷报告;这个平均值偏离 −1。
图 4:四种网格下的赛道
第 3.2 节用一条 1000 乘 125 nm 的赛道,,。一个 25 nm、面内各向异性的圆盘作为成核区, 的电流(不含非绝热力矩)从那里不断甩出斯格明子与反斯格明子对。(a) 到 (d) 的格子数从 1024 乘 128 依次减到 384 乘 48。
最细的网格上,两种定义除了产生和湮灭时的少数采样点外都一致。格子变大后,有限差分曲线出现更多非整数值,进而是平滑的漂移,而晶格曲线在每个子图里都保持接近整数的平台。这说明:粗网格上平滑的非整数漂移来自导数。
要避免的误读:四个子图里的事件序列并不相同。作者解释说,圆形成核区在不同网格下被切成格子的方式不同。不同网格下事件不同,来自离散后的几何;两种拓扑荷在各自的网格上都算对了。
第 3.3 节与图 5:有边缘的圆盘
现在边缘起作用了。在同样 256 乘 256 格子的 200 nm 圆盘里,零温下的斯格明子有限差分值为 −0.9304853,晶格值为 −0.9468352。作者把偏离 −1 的部分归因于手性边界条件造成的边缘磁矩倾斜,也就是 Rohart 与 Thiaville 推出的那个倾斜(第 6 章)。
图 5 中,有温度时两条曲线都在起伏,晶格曲线小一些,作者把这些起伏归因于边缘磁矩。300 K 和 400 K 时,滑动平均(1 ns 窗口,黑线)陡然降到零:斯格明子在边界处被消灭了。这个过程中平均曲线的小幅摆动,来自边缘处部分反转的区域。
这说明:在受限结构里,非整数拓扑荷是预期之中的,拓扑荷也可以从边缘流走。误读是把 −0.9468 当作数值误差,想靠加密网格消掉它。
完整例题
把这些检查用到斯格明子实验的记录上
斯格明子实验可以把记录导出为 JSON,基准表给出了网格对比。读每个拓扑荷时只问一个问题:格子减半,它动不动?
无边界膜里晶格拓扑荷为 −1,有限差分值在 2 nm 格子下为 −0.956,1 nm 格子下为 −0.989。格子减半,误差约缩小四倍,符合二阶差分,所以这点亏缺是数值误差。
60 nm 宽的赛道里,斯格明子居中时晶格拓扑荷为 −0.999935,离下边缘 23.6 nm 时为 −0.999631;1 nm 格子下分别为 −0.999937 和 −0.999636。格子减半,亏缺不动,所以它属于边缘。没有斯格明子的赛道,两种定义都给 0。
然后是最容易误读的情形:拓扑荷在边界处发生变化。、 时,斯格明子被推出下边缘,2 nm 格子下 0.64 ns 后消失,1 nm 格子下 0.63 ns。其间每 10 ps 一次的采样中,分别有 16 个和 17 个落在 −0.9 与 −0.1 之间,相邻采样最大变化 0.23,最终拓扑荷与零相差不到 。拓扑荷是从边缘平滑地流出去的,两种网格下时间几乎相同。在周期性的膜里,平滑纹理的晶格拓扑荷是整数,只能跳变。拓扑荷经边缘平滑流出,又不随网格改变,记录下的就是一个物理事件:斯格明子离开了赛道。
怎样读钉扎阈值
没有哪篇论文给出这些阈值的参考值,所以要从运行判据去读。第一个纳秒之后,如果中心在 0.5 ns 内移动慢于 0.2 m/s,记为被钉住;中心沿赛道越过 95 nm 或斯格明子消失,记为挣脱;15 ns 后仍未判定,记为未定。二分法在 2 nm 网格上从 30 到 50 m/s 走五步;1 nm 网格只在区间下方和上方各 8% 处各跑一次。
弱点在 41.875 m/s 时钉住斯格明子,42.5 m/s 时放走它; 时,边缘在 38.75 m/s 时挡住它,39.375 m/s 时挡不住。两者都是区间:0.625 m/s 的宽度是二分法的步长,不是误差棒。1 nm 的运行只说明网格让每个阈值移动不到 8%。阈值还取决于起点和运行历史,影响约 1 m/s。
Iwasaki 等说明了每个阈值由哪个力决定:自由斯格明子为 ,通道中为 。这告诉你哪些参数重要,却给不出这条赛道的数值。误读是把 42 m/s 当作这层膜的性质;它是零温下、一个弱点、一个起点、按这套判据得到的结果。
读下一个结果时的清单
读拓扑荷:用的是哪种定义;边界是周期性的还是开放的,DMI 是否让边缘倾斜;格子减半后怎样;温度、平均窗口和浮点精度。读阈值:被钉住和挣脱的判据、时间上限、区间宽度、网格检验、起点,以及 Thiele 方程说哪些力必须平衡。