一起求磁场与流体
取边长 的周期正方形,密度恒定,初态之后没有外界驱动。 是不变方向。磁场用 、速度用 、时间用 归一化,以下方程均采用无量纲坐标。
磁势 给出磁场,流函数 给出不可压缩流速。在这里的符号约定下,电流与涡量分别是它们的负拉普拉斯。对动量方程取旋度可以去掉压力;解流函数的泊松关系,则让速度保持无散度。
洛伦兹力的旋度推动涡量,流体输运与磁扩散改变磁势。喷流随磁场方程一起求出,场与速度互相作用。
来源:Zhou et al. (2019), Magnetic island merger as a mechanism for inverse magnetic energy transfer, Physical Review Research 1, 012004(R) · Sandbox Physics AC28, independent MHD energy, local-induction and grid/time-reference programs, fixed scientific archive
把做功和两种耗散推出来
用全域平均定义磁能与动能密度。将磁势方程乘电流,再分部积分,便能把磁能变化分成对流体做功与欧姆损失。动量方程收到相同大小、相反符号的功。
黏性会移走动能。速度梯度的对称部分叫作应变率张量。在周期不可压缩平面中,黏性乘涡量平方的全域平均,恰好等于应变加热的全域平均。但两张局部分布图并不相同,所以这里仅记录它们相同的整体积分。
用与磁场相同的Runge–Kutta阶段权重积分损失率,就得到两份耗散热。把它们与磁能、动能相加,可以检查这个无驱动模型。要换成太阳上的焦耳总量,还须指定实际体积,包括不变方向的深度。
来源:Zhou et al. (2019), Magnetic island merger as a mechanism for inverse magnetic energy transfer, Physical Review Research 1, 012004(R) · Sandbox Physics AC28, independent MHD energy, local-induction and grid/time-reference programs, fixed scientific archive
先算一个已经知道答案的模态
让流体起初不动,磁势只有单一模态 。电流与磁势成正比,磁力没有涡量源,只剩电阻扩散。它的时间方程能直接解成指数衰减。
参考程序将振幅、加入均匀平移时的相位、磁能和积分热量分别与解析答案比较,再把时间步减半,查看四阶场误差。另一个黏性剪切模态也有独立解析衰减。检验保留误差的符号;这道题中微小的负“等效数值扩散率”属于截断误差。
真正的非线性默认初态,还能提供一个方向检验。它起步时的涡量加速度有已知的空间符号和振幅。若把力的方向算反,能量平方可能看不出来。
来源:Zhou et al. (2019), Magnetic island merger as a mechanism for inverse magnetic energy transfer, Physical Review Research 1, 012004(R) · Sandbox Physics AC28, independent MHD energy, local-induction and grid/time-reference programs, fixed scientific archive
把非线性状态放到细网格旁边
周期默认初态含有不同的空间尺度,留下不能完全由压力平衡的力。到了归一化时刻一,独立128网格解得到下表。数值为便于阅读作了舍入;要复算极小的能量残差,需要JSON里的完整精度。
在时刻二,128与256网格的整张电流场相对范数差约为百分之0.00436,峰值差约为百分之0.00455。64网格的峰值却差约百分之2.1,32网格差约百分之20,而它们的全局能量和依然很好看。
四个交互算例还在每个保存的物理时刻与细网格比较,分别记录局部感应、零点身份、场量差和时间步误差。固定参数与停止时刻,一起构成验证范围。
| 归一化时刻一 | 全域平均归一化密度 |
|---|---|
| 磁能 | |
| 流体动能 | |
| 欧姆耗散热 | |
| 黏性耗散热 |

来源:Zhou et al. (2019), Magnetic island merger as a mechanism for inverse magnetic energy transfer, Physical Review Research 1, 012004(R) · Sandbox Physics AC28, independent MHD energy, local-induction and grid/time-reference programs, fixed scientific archive
守住全局量,仍可能错改零点磁通
把两种输运系数都设为零,采用下面的初态。 和 都是真正的磁零点。理想连续方程在两处的输运项为零,磁势时间导数也应为零。
把周期场写成正弦、余弦之和,再把非线性乘积投回保留波数,叫作Galerkin投影。把乘积展开,会出现横向波数为十六的谐波。32网格的三分之二截断把它丢掉,于是零点处本来应有的抵消被破坏,投影后留下 和 的变化率。连起初几乎空白的谱边缘能量指标,也发现不了这个问题。
到时刻 ,粗网格的O–X磁通差已改变约 。磁能加动能、磁势平方平均和交叉螺度(流速与磁场点积的全域平均)却仍守在机器精度附近,耗散热也为零。同一物理初态换到64网格,磁通差仅改变约 。
这次失败来自空间投影,不能把它改名为额外的物理电阻。交互计算因此只开放已验证算例,并在全局不变量之外另查局部感应。
来源:Zhou et al. (2019), Magnetic island merger as a mechanism for inverse magnetic energy transfer, Physical Review Research 1, 012004(R) · Sandbox Physics AC28, independent MHD energy, local-induction and grid/time-reference programs, fixed scientific archive
亲自重跑,并保留磁通差的两端
解压科学材料包后,在包根目录用指定依赖运行下面四条命令。第一条重算非线性网格、时间步与解析极限;第二条重跑理想反例和带符号的起步检验;逐时刻比较程序则在每个保存时刻比较两种网格。
封闭周期磁岛的O点也会扩散。O减X磁势差的时间导数,要取两个电场之差。默认末态的局部感应残差约为百万分之七。磁扩散率仍取输入值,残差作为数值误差单列。
python -W error scripts/astronomy/ac28/run_reference.py
python -W error scripts/astronomy/ac28/run_counterexamples.py
python -W error scripts/astronomy/ac28/verify_runtime_domain.py
python -W error scripts/astronomy/ac28/test_reference.py来源:Zhou et al. (2019), Magnetic island merger as a mechanism for inverse magnetic energy transfer, Physical Review Research 1, 012004(R) · Sandbox Physics AC28, independent MHD energy, local-induction and grid/time-reference programs, fixed scientific archive