第72章 模型的尸骨(7 / 14)

投票推荐 加入书签 留言反馈

  在模擬的早期,也就是刚加入初始扰动的时候,系统確实在一瞬间出现过petschek那种华丽的x型几何。
  那是一个令人心跳加速的瞬间。
  但隨著时间的推移,中心扩散区无法將堆积的物质及时排出。
  那个x的夹角越来越小,重联点被慢慢拉长,变薄。
  最后,在动画的结尾,那个x完全坍缩,最后退回那条熟悉得令人不舒服的长电流片。
  和biskamp论文里的截图几乎一模一样。
  很漂亮。
  江临却看得脊背发凉。
  太顺了。
  他决定做压力测试。
  回到配置文件,把lundquist数提高一个量级。
  但这一次,他做了一个违背常规的操作,故意没有同步加密网格。
  他想知道,当前这套网格的承受边界到底在哪里。
  系统是真的因为物理规律演化成这样,还是因为数值格式把它限制成了这样?
  代码重新编译,运行。
  这一次,程序跑到第八天深夜,工作站发出一声尖锐的报错蜂鸣。
  error: floating point exception (core dumped).
  跑崩了。
  江临立刻调出崩溃前几个时间步的快照。
  不是因为更高的lundquist数更容易算。
  而是因为电阻减小后,物理上的电流片扩散区厚度变得极其薄,被压到了接近甚至小於单个网格尺度的地步。
  当物理尺度小於网格尺度时,代码里的数值结构就强行接管了物理演化。
  江临在屏幕上看到了可怕的一幕。
  x型几何刚刚尝试形成,电流片的中央就开始出现非物理的高频振盪。
  红蓝相间的色块像病毒一样在网格间蔓延,几个时间步之后,整幅精密的磁场图散成了一片毫无意义的马赛克。
  也就是所谓的数值爆炸。
  江临感觉这片马赛克在嘲笑他。
  於是关掉可视化窗口,一头扎进几万行的c++代码里。
  开始排查
  第一天,他怀疑是数值黏性不够,压不住高频振盪,於是引入了人工耗散项。 ↑返回顶部↑

章节目录