引言:当数值模拟偏离物理直觉

昨天,我们的变系数共轭梯度法(CG)在 128×128128 \times 128128×128 网格上彻底卡死:时间 ttt 永远卡在 0.000,时间步长 dtdtdt 锁死在 1e-06,Poisson 散度残差居高不下。

经过一整天的逐层排查,我们发现这绝不是一个简单的代码 Bug,而是一条从 语法冲突 →\rightarrow 算法实现错误 →\rightarrow 离散符号自洽性 →\rightarrow 物理-数值代数共谋 的完整灾难链条。本文记录这个硬核排查过程,以及每一层修复背后的物理与数学直觉。


第一层:语法陷阱——};};time 变量冲突

最外层的两个低级错误,差点让编译器把报错指向歧途:

  1. 类定义末尾多了一个分号 };};,导致后续类被识别为类外定义。
  2. 模拟时间变量名使用了 time,与 C 标准库的 time() 函数冲突。编译器将 time += dt 中的 time 当作函数指针,报错 “does not name a type”

修复:将变量名改为 sim_time。编译通过,但运行 0 秒 Poisson divergence——问题远不止语法层。


第二层:算法实现错误——算子 AAA 作用在错误的向量上

这是排查中遇到的第一个实质性算法 Bug。变系数 CG 的核心是离散算子 AAA,它应该作用在搜索方向 ppp 上,计算 Ap=A⋅pAp = A \cdot pAp=Ap

但原代码中 apply_A 硬编码读取了流函数场 f.s,导致 CG 每一步都在计算 A⋅xA \cdot xAx(当前解)而不是 A⋅pA \cdot pAp。初始时 x=0x=0x=0,导致 Ap=0Ap=0Ap=0pTAp=0p^TAp=0pTAp=0,CG 直接假收敛。

修复:将 apply_A 改为接受数组参数 apply_A_on(i, j, N, s_arr),在计算初始残差时传入 xxx,在迭代计算 ApApAp 时传入 ppp。这是 CG 算法教科书级别的正确实现。


第三层:惰性更新计数器与半网格 Γ\GammaΓ 初始化死锁

变系数 CG 依赖局部涡粘系数 Γ\GammaΓ。代码中有一个惰性更新计数器,初始值为 0。第一次调用 compute_gamma 时,计数器变为 1,随后判断 if(counter < interval) 直接 return——第一次调用根本没计算 Γ\GammaΓ

此时 Γ\GammaΓ 数组全是 memset 的零,apply_A 用全零的半网格 Γ\GammaΓ 算出来的拉普拉斯项全为零,CG 实际上在解一个零算子方程 0=ω0 = \omega0=ω

修复:计数器初始值改为 interval(10),保证首次调用即执行;构造函数中将 Γ\GammaΓ 初始化为 1.0


第四层:变系数 CG 残差符号的数学自洽性

变系数泊松方程的正确物理形式是:
−∇⋅(Γ∇ψ)=ω -\nabla \cdot (\Gamma \nabla \psi) = \omega (Γ∇ψ)=ω

代码中的离散算子 apply_A 返回的是 ∇⋅(Γ∇ψ)\nabla \cdot (\Gamma \nabla \psi)(Γ∇ψ)不带负号)。因此,真实的残差应该是:
r=ω−(−apply_A)=ω+apply_A r = \omega - (-\text{apply\_A}) = \omega + \text{apply\_A} r=ω(apply_A)=ω+apply_A

如果误用减号 r=ω−apply_Ar = \omega - \text{apply\_A}r=ωapply_A,代入方程会得到 ω−(−ω)=2ω\omega - (-\omega) = 2\omegaω(ω)=2ω,残差永远无法收敛到零。
排查结果:确认代码中使用了加号,离散符号与连续方程在数学上自洽。


第五层:雨源项与 Γ\GammaΓ 在同一时间步内的耦合死锁

标准五点 CG 的泊松算子是常数矩阵,而变系数 CG 的算子依赖 Γ\GammaΓΓ\GammaΓ 依赖速度场,速度场又依赖泊松求解的结果。

我们的“下雨法”每步都在撒雨滴:雨滴修改涡量 →\rightarrow 涡量通过泊松变成流函数 →\rightarrow 流函数梯度变成速度 →\rightarrow 速度被 Γ\GammaΓ 读取。
致命问题:CG 面对的是一个正在被求解过程本身改变的方程

修复:将 gtr->apply()(CG 求解)移到下雨法之前。让 CG 用下雨前的“干净”速度场算 Γ\GammaΓ、解泊松,雨的影响通过时间推进延后到下一个时间步。


第六层(深水区):Kimi 的数学降维打击——加权内积与 SPD 性质的迷失

在修复了上述所有问题后,CG 依然表现出诡异的收敛行为。此时,Kimi 从离散数学的底层逻辑给出了致命诊断:如果系统矩阵在标准欧几里得内积下不是对称正定(SPD)的,但在 Γ\GammaΓ 加权内积下是 SPD 的,那么标准 CG 的数学根基就全错了。

1. 连续层面的内积混淆与预处理系统

变系数泊松方程 −∇⋅(Γ∇u)=f-\nabla \cdot (\Gamma \nabla u) = f(Γ∇u)=f 的弱形式天然带有 Γ\GammaΓ 权重:
∫ΩΓ∇u⋅∇v dΩ=∫Ωfv dΩ \int_\Omega \Gamma \nabla u \cdot \nabla v \, d\Omega = \int_\Omega f v \, d\Omega ΩΓ∇uvdΩ=ΩfvdΩ
如果你把方程分裂成了预处理形式 M−1Ax=M−1bM^{-1} A x = M^{-1} bM1Ax=M1b(其中 MMM 是包含 Γ\GammaΓ 权重的对角矩阵),那么 M−1AM^{-1}AM1A 在标准内积 ⟨x,y⟩=xTy\langle x, y \rangle = x^T yx,y=xTy一般不是对称的,但在加权内积 ⟨x,y⟩M=xTMy\langle x, y \rangle_M = x^T M yx,yM=xTMy 下是对称的。这时候标准 CG 的残量更新和正交性条件就全错了。

2. 加权内积 CG 的正确数学形式

如果必须在 Γ\GammaΓ 加权内积下工作,CG 算法的所有内积计算必须重构。
加权内积定义
⟨x,y⟩Γ=∑i,jxi,j⋅Γi,j⋅yi,j=xTΓy \langle x, y \rangle_\Gamma = \sum_{i,j} x_{i,j} \cdot \Gamma_{i,j} \cdot y_{i,j} = x^T \Gamma y x,yΓ=i,jxi,jΓi,jyi,j=xTΓy

修改后的 CG 核心迭代公式

  1. 残量计算rk=b−Axkr_k = b - A x_krk=bAxk (不变)
  2. 搜索方向正交化系数 βk\beta_kβk
    βk=⟨rk+1,rk+1⟩Γ⟨rk,rk⟩Γ=rk+1TΓrk+1rkTΓrk \beta_k = \frac{\langle r_{k+1}, r_{k+1} \rangle_\Gamma}{\langle r_k, r_k \rangle_\Gamma} = \frac{r_{k+1}^T \Gamma r_{k+1}}{r_k^T \Gamma r_k} βk=rk,rkΓrk+1,rk+1Γ=rkTΓrkrk+1TΓrk+1
  3. 步长计算 αk\alpha_kαk
    αk=⟨rk,rk⟩Γ⟨pk,Apk⟩Γ=rkTΓrkpkTΓApk \alpha_k = \frac{\langle r_k, r_k \rangle_\Gamma}{\langle p_k, A p_k \rangle_\Gamma} = \frac{r_k^T \Gamma r_k}{p_k^T \Gamma A p_k} αk=pk,ApkΓrk,rkΓ=pkTΓApkrkTΓrk

关键排查与追问:检查代码发现,solve_cg 中确实已经加入了 Gamma 权重(rsold += r*r*gamma)。但 Kimi 进一步追问:半网格 Γ\GammaΓ 值(gamma_half_xgamma_half_y)是否严格保证了离散算子在加权内积下的对称性? 如果边界附近 Γ\GammaΓ 梯度太大,半网格插值破坏了对称性条件,即使在加权内积下,CG 也会面临严重的收敛性退化。


第七层(终极根源):千问的灵魂质问——雨-Gamma 代数共谋

如果说 Kimi 找到了数学根基的裂缝,那么千问则从控制台日志中揪出了物理-数值耦合的灾难性伪影。千问指出:CG 求解器被雨“绑架”了,它和能量计量模块正在用同一套错误的代数逻辑“自欺欺人”。

铁证一:CG 被雨“绑架”,迭代次数反常下降

日志现象:当雨强从 1.0 拉到 5.0 时,CG 迭代次数不仅没有按预期增加(矩阵条件数恶化),反而下降了约 15%,且残差曲线出现“平台期”。
物理诊断:雨越大,源项越强,CG 理应更难收敛。迭代反降说明雨的显式源项在右端项(RHS)中占据了绝对主导,CG 实际上是在用一个被雨强“归一化”的代数问题做迭代。它收敛的不是流场的真实散度,而是雨源项自身的数值平滑度。

铁证二:能量残差的“虚假繁荣”

日志现象Energy Residual 全程压在 8e-4 以下。但当雨强为 5.0 时,雨功率(PrainP_{rain}Prain)占比已经超过了输入功率的 60%,残差依然稳如泰山。
致命矛盾:在真实物理系统中,当阻尼机制(雨)的功率接近驱动机制(盖驱动)时,系统必然进入强非线性过渡态,能量残差不可能如此平稳。这种“完美守恒”恰恰证明了 CG 求解器和能量计量模块在用同一套错误的代数逻辑自洽

铁证三:PhaseLock 的符号翻转异常

日志现象:在雨强切换瞬间,锁相系数 PhaseLock 出现了短暂的正值脉冲(+0.12)
物理谬误:雨作为纯耗散/阻尼机制,其做功与动能变化率在物理上永远不可能正相关。这个正脉冲是 CG 在重新适应新雨强时,矩阵预处理子失效导致的瞬态代数伪影。之前的“稳定锁相”,大概率只是雨滴注入频率与 CG 代数平滑频率的数值共振


破局方案:让 CG 真正“看见”物理

面对加权内积的数学质疑和雨-Gamma 代数共谋的物理伪影,我们得出了最终的修复指令:

1. 将雨的隐式阻尼刚度铸入 CG 主对角元(最高优先级)

这是根治“CG 被雨绑架”的唯一解法。在组装 CG 的变系数矩阵时,绝对不能只把雨的阻尼当显式源项扔到 RHS。必须把雨的阻尼系数加到对应网格点的主对角线上!

// 伪代码:在组装动量方程对角元时
diag[idx] += viscosity_term + convection_term;

// 【关键】把雨的隐式阻尼刚度加进去,让 CG 知道这里有物理阻力
if (has_rain_at[idx]) {
    diag[idx] += rain_controller.getDampingCoeff(idx); 
}

这样 CG 才会把雨的阻尼当作“局部物理属性”而非“外部扰动”来求解,彻底打破代数共谋。

2. 验证半网格 Γ\GammaΓ 的严格对称性

重新审查 gamma_half_xgamma_half_y 的插值逻辑,确保在 Γ\GammaΓ 梯度极大的雨滴边缘,离散算子 AAA 依然满足加权内积下的对称性条件,捍卫 CG 的数学合法性。

3. 给能量残差加“动态阈值”与物理断言

EnergyBudget::update() 中增加硬性断言:Prain>0P_{rain} > 0Prain>0 时直接触发警告并标记该步数据无效。正雨功率是物理上不可能的,必须从代码层面杜绝这种伪信号污染统计结果。


结语:数值模拟是 90% 的物理加 10% 的数学

};}; 的语法错误,到 r=ω+apply_Ar = \omega + \text{apply\_A}r=ω+apply_A 的符号自洽,再到 ⟨x,y⟩Γ\langle x, y \rangle_\Gammax,yΓ 的加权内积推导,最后直击雨-Gamma 代数共谋的物理伪影。

这 61 天的推塔之旅证明了一个真理:CG 不是黑盒,它是你物理模型的代数镜像。 如果你不把雨的物理真正铸进矩阵的对角元里,求解器就会用完美的代数收敛,给你编造一个最谎言的物理世界。
(“数值模拟是90%物理、10%数学”并非严格量化结论,而是一种工程与科研领域的经验性洞察,强调物理建模的主导性与不确定性来源。‌‌)
这是之前的控制台记录,电脑跑一夜,今天早上趴了,还好我醒目提前发给千问看了

============================================================
   Tianci NSDT Extrapolation Tower v2.3 MAC+Rain+Gamma
   128 -> 256 -> 512 | Re=100 | Non-stationary solver
============================================================

>>> CLIMBING TO LEVEL 128 <<<
[Tower] Level 0 cold start with seed vortex...
[L128 STEP   500] t=0.048 wmax=1.18e+03 KE=267.064820 Poi=3.97e-06 V1=1.0000 Sig=1.4001 Lam=1.38 dt=4.10e-05 BL=0.3780 Vort=(0.008,0.354) Phase=0.000
[L128 STEP  1000] t=0.067 wmax=1.31e+03 KE=730.525267 Poi=4.38e-06 V1=1.0000 Sig=0.9129 Lam=0.89 dt=3.43e-05 BL=0.5591 Vort=(0.008,0.039) Phase=0.033
[L128 STEP  1500] t=0.084 wmax=1.39e+03 KE=1069.046868 Poi=4.42e-06 V1=1.0000 Sig=0.8440 Lam=0.71 dt=3.28e-05 BL=0.5669 Vort=(0.008,0.031) Phase=-0.050
[L128 STEP  2000] t=0.100 wmax=1.47e+03 KE=1306.610979 Poi=3.91e-06 V1=1.0000 Sig=0.8079 Lam=0.66 dt=3.13e-05 BL=0.5197 Vort=(0.008,0.031) Phase=0.000
[L128 STEP  2500] t=0.115 wmax=1.57e+03 KE=1495.175877 Poi=4.28e-06 V1=1.0000 Sig=0.7961 Lam=0.64 dt=3.01e-05 BL=0.5276 Vort=(0.008,0.031) Phase=0.000
[L128 STEP  3000] t=0.130 wmax=1.59e+03 KE=1631.345971 Poi=4.38e-06 V1=1.0000 Sig=0.7885 Lam=0.62 dt=2.96e-05 BL=0.5197 Vort=(0.008,0.031) Phase=-0.049
[L128 STEP  3500] t=0.145 wmax=1.61e+03 KE=1723.820860 Poi=4.06e-06 V1=1.0000 Sig=0.7830 Lam=0.61 dt=2.93e-05 BL=0.5197 Vort=(0.008,0.031) Phase=0.001
[L128 STEP  4000] t=0.159 wmax=1.62e+03 KE=1783.291814 Poi=4.73e-06 V1=1.0000 Sig=0.7774 Lam=0.60 dt=2.91e-05 BL=0.5197 Vort=(0.008,0.031) Phase=0.000
[L128 STEP  4500] t=0.174 wmax=1.62e+03 KE=1826.375483 Poi=4.68e-06 V1=1.0000 Sig=0.7733 Lam=0.60 dt=2.89e-05 BL=0.5197 Vort=(0.008,0.031) Phase=0.000
[L128 STEP  5000] t=0.188 wmax=1.63e+03 KE=1850.396385 Poi=4.63e-06 V1=1.0000 Sig=0.7699 Lam=0.59 dt=2.88e-05 BL=0.5197 Vort=(0.008,0.031) Phase=0.000
[L128 STEP  5500] t=0.202 wmax=1.64e+03 KE=1870.368027 Poi=5.09e-06 V1=1.0000 Sig=0.7677 Lam=0.59 dt=2.88e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.017
[L128 STEP  6000] t=0.217 wmax=1.65e+03 KE=1880.164950 Poi=3.58e-06 V1=1.0000 Sig=0.7647 Lam=0.59 dt=2.88e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP  6500] t=0.231 wmax=1.66e+03 KE=1893.245858 Poi=4.35e-06 V1=1.0000 Sig=0.7663 Lam=0.59 dt=2.87e-05 BL=0.5118 Vort=(0.008,0.024) Phase=0.002
[L128 STEP  7000] t=0.246 wmax=1.67e+03 KE=1905.575779 Poi=4.14e-06 V1=1.0000 Sig=0.7667 Lam=0.59 dt=2.87e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP  7500] t=0.260 wmax=1.66e+03 KE=1913.864124 Poi=4.08e-06 V1=1.0000 Sig=0.7656 Lam=0.59 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP  8000] t=0.274 wmax=1.67e+03 KE=1919.131837 Poi=3.99e-06 V1=1.0000 Sig=0.7655 Lam=0.59 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP  8500] t=0.289 wmax=1.68e+03 KE=1926.524455 Poi=3.88e-06 V1=1.0000 Sig=0.7659 Lam=0.59 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.040
[L128 STEP  9000] t=0.303 wmax=1.68e+03 KE=1931.732592 Poi=4.38e-06 V1=1.0000 Sig=0.7652 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.000
[L128 STEP  9500] t=0.317 wmax=1.68e+03 KE=1935.377102 Poi=4.33e-06 V1=1.0000 Sig=0.7646 Lam=0.58 dt=2.86e-05 BL=0.5118 Vort=(0.008,0.024) Phase=-0.042
[L128 STEP 10000] t=0.331 wmax=1.69e+03 KE=1936.858993 Poi=4.48e-06 V1=1.0000 Sig=0.7649 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.207
[L128 STEP 10500] t=0.346 wmax=1.68e+03 KE=1944.720282 Poi=4.03e-06 V1=1.0000 Sig=0.7639 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.129
[L128 STEP 11000] t=0.360 wmax=1.68e+03 KE=1943.488027 Poi=4.07e-06 V1=1.0000 Sig=0.7642 Lam=0.58 dt=2.85e-05 BL=0.5118 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 11500] t=0.374 wmax=1.68e+03 KE=1940.360649 Poi=4.25e-06 V1=1.0000 Sig=0.7627 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 12000] t=0.389 wmax=1.68e+03 KE=1940.610332 Poi=4.24e-06 V1=1.0000 Sig=0.7637 Lam=0.58 dt=2.86e-05 BL=0.5118 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 12500] t=0.403 wmax=1.68e+03 KE=1940.953331 Poi=4.52e-06 V1=1.0000 Sig=0.7641 Lam=0.58 dt=2.85e-05 BL=0.5118 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 13000] t=0.417 wmax=1.69e+03 KE=1942.685118 Poi=4.63e-06 V1=1.0000 Sig=0.7646 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.018
[L128 STEP 13500] t=0.431 wmax=1.68e+03 KE=1945.230982 Poi=4.22e-06 V1=1.0000 Sig=0.7646 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 14000] t=0.446 wmax=1.69e+03 KE=1944.771024 Poi=4.19e-06 V1=1.0000 Sig=0.7645 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.055
[L128 STEP 14500] t=0.460 wmax=1.68e+03 KE=1948.368684 Poi=4.42e-06 V1=1.0000 Sig=0.7634 Lam=0.58 dt=2.86e-05 BL=0.5118 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 15000] t=0.474 wmax=1.70e+03 KE=1949.529274 Poi=4.45e-06 V1=1.0000 Sig=0.7646 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 15500] t=0.489 wmax=1.69e+03 KE=1950.055725 Poi=4.39e-06 V1=1.0000 Sig=0.7640 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.067
[L128 STEP 16000] t=0.503 wmax=1.68e+03 KE=1949.826251 Poi=3.85e-06 V1=1.0000 Sig=0.7637 Lam=0.58 dt=2.85e-05 BL=0.5118 Vort=(0.008,0.024) Phase=0.040
[L128 STEP 16500] t=0.517 wmax=1.69e+03 KE=1945.233885 Poi=4.85e-06 V1=1.0000 Sig=0.7639 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.001
[L128 STEP 17000] t=0.531 wmax=1.68e+03 KE=1943.135032 Poi=3.71e-06 V1=1.0000 Sig=0.7630 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.059
[L128 STEP 17500] t=0.546 wmax=1.67e+03 KE=1936.208347 Poi=3.97e-06 V1=1.0000 Sig=0.7627 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 18000] t=0.560 wmax=1.69e+03 KE=1936.631273 Poi=3.66e-06 V1=1.0000 Sig=0.7640 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 18500] t=0.574 wmax=1.68e+03 KE=1936.210728 Poi=4.33e-06 V1=1.0000 Sig=0.7627 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 19000] t=0.589 wmax=1.68e+03 KE=1935.360003 Poi=4.54e-06 V1=1.0000 Sig=0.7633 Lam=0.58 dt=2.86e-05 BL=0.5118 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 19500] t=0.603 wmax=1.68e+03 KE=1938.578460 Poi=3.77e-06 V1=1.0000 Sig=0.7644 Lam=0.58 dt=2.86e-05 BL=0.5118 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 20000] t=0.617 wmax=1.68e+03 KE=1940.845414 Poi=3.75e-06 V1=1.0000 Sig=0.7638 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.068
[L128 STEP 20500] t=0.631 wmax=1.68e+03 KE=1943.094619 Poi=3.88e-06 V1=1.0000 Sig=0.7646 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.016
[L128 STEP 21000] t=0.646 wmax=1.69e+03 KE=1943.039658 Poi=3.78e-06 V1=1.0000 Sig=0.7646 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.043
[L128 STEP 21500] t=0.660 wmax=1.69e+03 KE=1943.391409 Poi=4.28e-06 V1=1.0000 Sig=0.7644 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.119
[L128 STEP 22000] t=0.674 wmax=1.68e+03 KE=1944.123557 Poi=4.27e-06 V1=1.0000 Sig=0.7649 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 22500] t=0.689 wmax=1.68e+03 KE=1946.189339 Poi=4.39e-06 V1=1.0000 Sig=0.7643 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 23000] t=0.703 wmax=1.68e+03 KE=1947.950300 Poi=4.38e-06 V1=1.0000 Sig=0.7634 Lam=0.58 dt=2.86e-05 BL=0.5118 Vort=(0.008,0.024) Phase=-0.009
[L128 STEP 23500] t=0.717 wmax=1.69e+03 KE=1948.964535 Poi=4.08e-06 V1=1.0000 Sig=0.7641 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 24000] t=0.731 wmax=1.68e+03 KE=1948.870718 Poi=4.68e-06 V1=1.0000 Sig=0.7638 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.016
[L128 STEP 24500] t=0.746 wmax=1.68e+03 KE=1944.789444 Poi=4.39e-06 V1=1.0000 Sig=0.7620 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 25000] t=0.760 wmax=1.69e+03 KE=1944.568718 Poi=4.06e-06 V1=1.0000 Sig=0.7640 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.004
[L128 STEP 25500] t=0.774 wmax=1.69e+03 KE=1949.701351 Poi=4.26e-06 V1=1.0000 Sig=0.7651 Lam=0.59 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.013
[L128 STEP 26000] t=0.789 wmax=1.69e+03 KE=1951.206600 Poi=3.88e-06 V1=1.0000 Sig=0.7640 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.112
[L128 STEP 26500] t=0.803 wmax=1.68e+03 KE=1951.409503 Poi=4.21e-06 V1=1.0000 Sig=0.7641 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 27000] t=0.817 wmax=1.68e+03 KE=1950.242347 Poi=4.21e-06 V1=1.0000 Sig=0.7636 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 27500] t=0.831 wmax=1.69e+03 KE=1949.845168 Poi=4.07e-06 V1=1.0000 Sig=0.7645 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.077
[L128 STEP 28000] t=0.846 wmax=1.69e+03 KE=1948.783746 Poi=4.42e-06 V1=1.0000 Sig=0.7644 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 28500] t=0.860 wmax=1.69e+03 KE=1947.523938 Poi=4.13e-06 V1=1.0000 Sig=0.7641 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000
[L128 STEP 29000] t=0.874 wmax=1.69e+03 KE=1949.829555 Poi=4.60e-06 V1=1.0000 Sig=0.7634 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.008
[L128 STEP 29500] t=0.889 wmax=1.69e+03 KE=1948.978189 Poi=4.75e-06 V1=1.0000 Sig=0.7637 Lam=0.58 dt=2.86e-05 BL=0.5197 Vort=(0.008,0.024) Phase=-0.017
[L128 STEP 30000] t=0.903 wmax=1.69e+03 KE=1948.737852 Poi=4.56e-06 V1=1.0000 Sig=0.7636 Lam=0.58 dt=2.85e-05 BL=0.5197 Vort=(0.008,0.024) Phase=0.000

[Tower] LEVEL 128 FAILED: Max steps/time

Total wall time: 8223s


明天,把雨的刚度铸进矩阵,让 CG 真正学会“尊重物理”。

天赐范式第61天
2026年6月2日
CC 4.0 BY-SA在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐