关灯
护眼
字体:大 中 小
上一页
目录
下一页
式选择、数值妥协和实现细节的泥地。】
写完这一段,江临扫了一眼显示器下方,三年前写下的一张便签。
【数值图象绝对不是物理证据,它只是一台没有感情的机器,负责把你脑子里那些愚蠢的假设画出来而已。】
这张便签历经三年的风尘,已经泛黄,胶条的边缘打着卷。
江临伸出手指,用力把它压牢。
然后在它的正下方,又贴了一张崭新的便签。
【原因:不是因为Biska的论文错了,而是因为我还没有足够的能力,去审讯这类复杂的数值结果。】
【下一步:全面补习高阶数值偏微分方程。】
回头看着那长达二十天的排查记录,江临终于意识到了一个更深的问题。
他这二十天失败的,不是排查本身。
而是他根本不知道自己应该排查什么。
他的每一次修改,都是凭直觉和经验去盲猜的。
数值黏性不够?
他凭感觉知道。
网格不够密?
他凭以前犯过的错知道。
边界反射?
他凭听说过的案例知道。
但这些,只是他听说过的最浅薄的几种陷阱。
MHD方程组是一个高度非线性的强耦合系统。
他根本不知道在这庞大的参数空间里,还有多少种他连名字都没听说过的陷阱,正安安静静地潜伏在他的代码里,伪造着看似合理的物理现象。
以前学过的《数值分析》,他自学
那个版本的知识,只能停留在【知道哪些格式能跑通】的幼儿园阶段。
要真正写出一篇站得住脚的数值仿真论文,或者去甄别别人的仿真是不是垃圾,需要的是【知道每一种格式,在什么样的非线性参数下,会以什么样的方式对你撒谎】的能力。
这一层硬核能力,他没有。
一念及此,他果断关掉所有关于磁重联的论文窗口,新建了一个文档夹。
从硬盘调出几本“砖头”。
LeVeque的《Finite Volu Methods for Hyperbolic Proble》。
Trefethen的《Spectral Methods in MATLAB》。
Hairer和Wanner的《Solving Ordinary Differential Equations II》。
Strikwerda的《Finite Difference Sches and Partial Differential Equations》。
四本神作。
加起来一千八百多页的致密数学。
【Pending: 等我把这堆数学啃完再回来收拾你。】
然后,他点开了LeVeque的第一页。
第十四年的整个秋天和冬天,江临完全沉浸在这四本书里。
每天平均学习六到八小时,有时候只能推进十页。
第一遍,拿着草稿纸,把书上的每一个推导亲自推一遍。
第二遍,把书上介绍的每一个数值格式,无论是Godunov方法、Roe格式还是
第三遍,也是最痛苦的一遍。
构造反例。
他故意设置极端的初始条件,比如强激波或接触间断,去把这些看似完美的格式搞崩,然后分析它们是怎么崩溃的。
简直就象是一个拆弹专家,在学习各种炸弹的起爆原理。
在这期间,他终于明白自己以前对稳定性这个词的理解有多么肤浅。
但现实世界里的MHD是非线性的。
他学会了用频谱分析去看待误差,明白了什么是色散关系误差,明白了什么是群速度误差,明白了保结构算法为什么比单纯的精度更重要。
每一种数学工具,都是一台照妖镜。
每一种都能识别出他之前在泥地里瞎撞时完全忽略的失败模式。
第十五年的春天,废土的冰雪开始消融,风力发电机的效率达到了峰值。
江临终于合上了最后一本书。
他没有象个毛头小子一样立刻去解冻Biska的复现项目。
而是打开终端,在工作站里郑重其事地写下一份文档。
【数值健康检查清单V1】
这是他用一年半的时间,用一千八百页的数学底蕴,熬出来的一份审讯大纲。
一共十二项必查项。
他在开头写道。
【对于任何数值仿真结果,以下十二项未经自证,结果一律不予采信,视为伪造物理。】
第一项:线性稳定
本章未完,请点击下一页继续阅读>>『加入书签,方便阅读』
上一页
目录
下一页