第72章 模型的尸骨(1/2)
第十三年三月十七日清晨,废土的季风颳过石屋的屋脊,发出沉闷的呜咽。
江临在巡田结束,吃过早餐之后,做了一件酝酿已久的事。
把工作站里所有的二手教材,所有的综述讲义,所有的中文翻译版,所有被前人整出来的精神流食,全部框选。
移到了一个名叫【digested】的归档文件夹里。
然后掛载了一块新硬碟。
硬碟里只有一样东西。
【original_papers】
这是他在现实世界里,从能找到的所有学术网站,学位论文库,影印本档案,扫描期刊里搬运过来的原始论文集。
按年份排序,从一九四〇年代一直到二零二一年。
七千四百二十六篇。
每一篇都是它最初被写出来的样子。
没有教材的简化,没有综述的事后归纳,没有教学逻辑的美化,没有后人为了把它讲清楚而强行抹平的犹豫。
然后將石屋的东墙擦乾抹净,写下一行字。
教材是別人替你准备的精神流食,原稿才是先驱者笔尖的犹豫。
写完,他在桌前坐下,像是一个即將踏入未开发原始森林的探险者,点开第一个文件。
sweet,p.a.(1958).the neutral point theory of solar flares.
中性点理论的太阳耀斑。
一九五八年,伦敦皇家天文学会的一次会议论文集。
扫描件的画质有些糙,英文字母带著打字机特有的毛边。
作为所有磁重联教材的开篇,是基础中的基础,江临之前在教材上看过sweet-parker模型不下十遍。
对於那个標誌性的標度律,他倒背如流。
他能闭著眼睛在画出那条又长又薄,像麵条一样的电流片,標出流入区的磁场和流出区的等离子体喷流。
但他未曾知道sweet本人当年是怎么把它写下来的。
第一页,背景介绍,引入问题。
第二页,磁流体力学方程的初步化简。
第三页,质量守恆与能量守恆的几何假设。
读到第四页时,江临停了下来。
教材上有一句话,几乎所有的磁重联教材都会写。
【在sweet-parker模型中,电流片的几何被简化为一个长宽比远大於一的薄层。】
简化。
多么轻描淡写的两个字。
任何读过教材的学生都会理所当然地认为,这是作者为了让复杂的偏微分方程在数学上可解,而做出的合理近似。
但sweet在原稿里,用了整整两页的篇幅来解释这件事。
文字里透著一种面对未知时的侷促和坦诚。
他写,他非常清楚这个几何形状在真实的太阳大气里不一定成立。
他知道太阳耀斑爆发的时间尺度只有几十分钟,而这个模型给出的预测时间可能长达几个月甚至几年。
他知道这个模型一旦发表,绝对会被同行批评。
但是他必须这么写。
因为在一九五八年那个没有超级计算机,没有高级数值算法的年代,如果不这么写,那些非线性的mhd方程组根本就解不出来。
在他能找到的所有可解的简化里,这一个是他在数学能力范围內,对真实物理图像破坏最小的那一个。
扫描件底部,sweet在原稿脚註里写下这样一句话。
【这是一个出发点,而不是一个答案。】
教材从来不会保留这种脚註。
它只会保留那些看似坚不可摧的方程。
所以教材会让所有后来者以为,那个长宽比远大於一的薄层,就是磁重联本来的样子,是某种被確立的真理。
但sweet知道它不是。
江临於是在东墙上,精神流食那句话下面添了一句。
【sweet的电流片不是真理,是他能找到的最不糟糕的简化。】
写完,他感觉胸口鬱结了很久的一块石头鬆动了一点。
回到桌前,继续读。
第六页,sweet终於给出了那个著名的標度律。
教材上,这个公式通常是被放在一个带著灰色阴影的方框里展示的,旁边配上粗体字,仿佛它就是磁重联的固有性质。
但sweet在原稿里,是这样写下它的。
【在上述简化下,重联速率不可能比1/√s更快。这意味著,对於太阳大气中典型的lundquist数值,重联將慢到无法解释观测到的耀斑时间尺度。】
紧接著,sweet又写。
【作者不认为这是磁重联的最终答案。作者只是希望,通过给出这个最简单的模型,能让后续工作有一个明確的批评对象。】
江临轻笑了一下。
教材里写sweet-parker模型的时候,从来不会保留这种谦卑。
只会用一种高高在上的全知视角,把它当作一个被petschek、hall、plasmoid等后续理论超越的过时模型来批判。
但sweet本人在写下它的当天,就知道它会被超越。
他甚至在殷切地希望它被超越。
从而主动把自己变成一个靶子,插在未知的荒原上,告诉后来者。
朝我开枪,然后踩著我的尸体往前走。
江临翻到下一篇。
parker,e. n.(1957). sweets mechanism for merging magnetic fields in conducting fluids.
这是物理学界的巨擘,尤金·帕克。
他在sweet提出模型的同一年,独立从另一个角度做了相同的推导。
后来的学术界图省事,把这两篇合併称为sweet-parker模型。
但江临一行行啃完parker的原稿后,后背渗出了一层冷汗。
后世教材为了教学,把parker原稿中更宽的磁雷诺数討论压缩成了 sweet-parker 標度律。
其实,parker和sweet的出发点完全不一样。
sweet是在解一个具体的几何模型,而parker的野心大得多。
他想从导电流体的磁雷诺数这个更基础的无量纲量出发,推导出在什么物理条件下磁场会被等离子体冻结,而在什么条件下磁场会发生自由扩散。
sweet-parker標度律,仅仅是parker那长达十几页推导过程中的一个副產品。
parker在原稿里花了大量篇幅去討论磁雷诺数本身。
甚至在纸面上给出了几个完全不同的物理图像猜想。
每一个图像,都对应著一种磁场演化的极限情形。
sweet的这套长麵条电流片,只是parker备选库里的其中一种可能。
但傲慢的教材大笔一挥,抹掉了parker原本想要建立的那个探討磁场拓扑本质的图像,只保留了sweet-parker电流片。
江临再次走向墙壁,再次添上一句。
【教材给你一个公式,原稿给你一整个被遗弃的备选方案库。】
那天傍晚,江临在工作站里建立了一个新的顶层文件夹。
【original_insights_lost_in_textbooks(那些迷失在教材中的原初洞见)】
他把sweet和parker的论文复製了进去,並附上了长达三千字的个人批註。
而这,只是一个开始。
第十三年的整个春天和夏天,江临都在做同一件事。
大量精读,扫读,復现,索引。
他没有按时间顺序顺流而下,而是像个拿著金属探测器的工兵,在重联研究史的雷区里反覆跳跃。
读完sweet和parker,他直接跳到了一九六四年的petschek。
petschek,h.e.(1964). magnetic field annihilation. nasa special publication sp-50.
在所有的教科书里,这都是磁重联研究史上最漂亮的一篇论文。
petschek是个天才。
他敏锐地察觉到了sweet-parker模型中长宽比过大导致物质排不出去的物理瓶颈。
於是大笔一挥,提出了一个全新的几何拓扑。
他不再用那条又长又薄,像麵条一样的电流片。
而是引入了一个x型的重联点,並在四周加上了四道向外扩张的慢模激波。
在这个极其优雅的新几何下,大部分等离子体不需要挤进狭窄的中心扩散区,而是直接穿过慢模激波被加热和加速。
磁能释放的速度,理论上可以逼近局地阿尔芬速度。
这是理论上的最快可能。
很好地解决了耀斑爆发的快速时间尺度问题。
教材上写到petschek模型的时候,字里行间总是洋溢著一种英雄史诗般的讚美。
【一九六四年,petschek提出了快磁重联的几何,彻底解决了sweet-parker模型的慢速困境,开创了快重联的新纪元。】
江临以前也是这么信的。
直到他读到了petschek原稿的最后一节。
视线扫过结论部分时,他整个人猛地在椅子上坐直了。
petschek在原稿里,白纸黑字地写了这样一段话。
【上述模型的成立,完全依赖於在中心扩散区存在某种局域的反常电阻机制。本文无法提供这种机制的微观物理推导。作者坦率承认,这一假设是本模型最为脆弱的部分。如果未来的工作不能在微观动力学尺度上证明这种反常电阻机制的存在,那么本模型只能被视为一种几何拓扑上的可能性,而非一种物理上的必然。】
江临把这段话反反覆覆读了三遍。
每读一遍,教材的公信力就在心里崩塌一层。
教材永远不会引用这一段,它只会不遗余力地展示petschek那个漂亮绝顶的x型几何,画出那四条威风凛凛的慢模激波。
但petschek自己,在模型诞生之初,就已经把刀架在了自己的脖子上。
他清楚地知道,那四条华丽的激波,那个名叫反常电阻的微观机制,是建立在一个没有被证明的沙盒之上的。
后来的几十年物理史,简直就像是针对petschek这句预言的精准打击。
超级计算机发展起来后,无数的数值模擬反覆表明。
在简单的均匀电阻mhd条件下,petschek的x型结构根本站不住脚。
只要稍微跑长一点时间,那个漂亮的x就会坍缩,退化回sweet-parker那条又长又无聊的麵条。
如果不人为地在代码中心区域塞进去一个局域的反常电阻项,petschek的快速重联几何就像是用纸牌搭的城堡,一阵微风就能让它垮塌。
而教材把这段惨烈的歷史轻描淡写地写成了,petschek模型在后来的高精度数值模擬中遇到了一些挑战。
挑战?
那更像是物理条件在拒绝这种几何的无条件成立。
petschek本人,在一九六四年就已经预见到了这一切。
他在原稿里明明白白地把自己的软肋暴露给了世界。
江临第三次起身,在东墙的空白处画了一个巨大的x。
在x的左边,写【几何成立】。
在x的右边,写【微观机制未证】。
在x的下方,写【petschek知道,petschek写了,教材没写。】
写完,他热血难凉,走出石屋。
风机二號的尾舵在低风中轻轻摆动。
看上去就像是风机在追著风转。
如果有人现在问他,风机为什么能追著风转?
如果用最简单的教材语言来回答,那就是一句话。
【风机的尾舵面积產生了空气动力学力矩,使得机舱迎风。】
这句话对吗?
对。
它完美地描述了宏观现象。
但这句话有什么用吗?
没用。
因为真正决定风机能不能追风,追得快不快,会不会在湍流中被撕裂的,根本不是那个宏观的尾舵面积。
而是底下那些极其繁琐复杂,毫不起眼的参数的耦合:阻尼弹簧的刚度,偏航轴承的摩擦係数,叶轮旋转时的陀螺推力偏置,控制系统的阵风频率响应……
只要其中一个微观参数崩溃,那个宏观上看起来天经地义的追风动作,立刻就会变成一场灾难。
江临坐在沙地上,脑子里突然闪过petschek论文里的那个x型几何。
下一刻,他冲回石屋。
站在那个大大的x的下方,添上了一句话。
【漂亮的宏观几何背后,永远站著一个没被证明的微观机制。】
读完sweet、parker、petschek的原稿之后,江临意识到一个严重的问题。
自己一直在纸面上做评判,从来没有真正弄脏过自己的手。
理论物理的尽头,如果不能用实验去验证,就只能靠数值模擬去逼近。
教材上说petschek模型在简单的均匀电阻mhd模擬中退化成了sweet-parker,这只是一个结论。
江临决定摸一遍这背后的泥。
他要亲手把petschek的模型放进代码里,看著它崩溃。
他选了数值模擬歷史上非常经典的一篇论文。
biskamp,d.(1986).magnetic reconnection via current sheets.
这篇论文的核心工作,就是用直接数值模擬研究二维电阻mhd中电流片的演化,並给出了petschek结构无法长期维持的实锤。
江临在工作站里新建了一个项目。
【replicate_biskamp_1986】
他要用c++,从零开始,手敲每一行求解器代码。
二维笛卡尔网格,均匀电阻假设,反平行磁场初始条件,空间离散採用中心差分,时间推进採用半隱式的预测-校正法。
他试图严格按照论文里的描述去设置lundquist数、初始扰动幅度、边界条件和网格尺度。
但真正开始写代码时,他立刻发现,老论文里的文字描述,根本不足以完整復现一个数值实验。
论文里写,我们在边界上採用了自由流出条件。
但自由流出是一阶外推还是二阶外推?
有没有做特徵波分解处理无反射边界?
如果是简单的零梯度外推,在非线性演化后期绝对会產生数值反射回波,污染中心扩散区。
论文里写,我们引入了一个小幅度的磁通量扰动。
但扰动函数是什么?
是高斯型还是正弦型?
截断范围怎么选?
扰动的高频分量有没有在初始化时做平滑处理?
……
这些细节,在论文里统统没有。
或者说,当年受限於篇幅,作者不可能把几万行代码的细节逐一写进文章里。
但对於復现者来说,每一个缺失的细节,都是一个致命的变量。
江临没有把这些不確定性糊弄过去了事。
他在项目的readme文件的第一行写——
# 非严格復现。儘可能逼近。所有未明实现项,將单独列出参数空间进行扫描。
第一次正式运行,工作站硬碟灯连续亮了十七天。
第十七天下午,终端上的时间步循环终於停下。
江临颤抖著手,用python的matplotlib库调出了最后一个时间步的磁场流函数等值线图。
屏幕上出现了一条缓慢演化的电流片。
他调出时间序列动画。
在模擬的早期,也就是刚加入初始扰动的时候,系统確实在一瞬间出现过petschek那种华丽的x型几何。
那是一个令人心跳加速的瞬间。
但隨著时间的推移,中心扩散区无法將堆积的物质及时排出。
那个x的夹角越来越小,重联点被慢慢拉长,变薄。
最后,在动画的结尾,那个x完全坍缩,最后退回那条熟悉得令人不舒服的长电流片。
和biskamp论文里的截图几乎一模一样。
很漂亮。
江临却看得脊背发凉。
太顺了。
他决定做压力测试。
回到配置文件,把lundquist数提高一个量级。
但这一次,他做了一个违背常规的操作,故意没有同步加密网格。
他想知道,当前这套网格的承受边界到底在哪里。
系统是真的因为物理规律演化成这样,还是因为数值格式把它限制成了这样?
代码重新编译,运行。
这一次,程序跑到第八天深夜,工作站发出一声尖锐的报错蜂鸣。
error: floating point exception (core dumped).
跑崩了。
江临立刻调出崩溃前几个时间步的快照。
不是因为更高的lundquist数更容易算。
而是因为电阻减小后,物理上的电流片扩散区厚度变得极其薄,被压到了接近甚至小於单个网格尺度的地步。
当物理尺度小於网格尺度时,代码里的数值结构就强行接管了物理演化。
江临在屏幕上看到了可怕的一幕。
x型几何刚刚尝试形成,电流片的中央就开始出现非物理的高频振盪。
红蓝相间的色块像病毒一样在网格间蔓延,几个时间步之后,整幅精密的磁场图散成了一片毫无意义的马赛克。
也就是所谓的数值爆炸。
本章未完,点击下一页继续阅读。