目录文档-技术白皮书13-EFT.WP.Methods.SimStack v1.0

第4章 耦合方案与时间推进


I. 范围与目标


II. 术语与符号

  1. 耦合边界与通量
    • Gamma_cpl:耦合边界的集合;n_hat:边界外法向。
    • flux_bnd:由连续核导出的边界通量或波包描述。
    • evt(q):离散侧事件,携带幂等键 idempotency_key。
  2. 时间推进量
    • dt:当前步长;Δx:空间尺度;CFL:稳定性系数;c_loc(x,t) = c_ref / n_eff(x,t)。
    • controller:误差与步长控制器参数集合。
  3. 两口径与路径
    T_arr = ( ∫ ( n_eff / c_ref ) d ell ) 与 T_arr = ( 1 / c_ref ) * ( ∫ n_eff d ell );差异 delta_form;路径 gamma(ell) 与测度 d ell。
  4. 时基
    内部 tau_mono;发布 ts;线性映射参数 alpha/beta。

III. 耦合模型与形式

  1. 强耦合(同步)
    • 定义:在每个时间步对边界条件与状态变量进行一体化解算,直到满足耦合残差门限。
    • 适用:强相互作用、刚性问题、跨域反馈显著的场景。
    • 成本:每步需要内外迭代,通信与同步开销较高。
  2. 松耦合(异步或半同步)
    • 定义:各子系统使用上一步或插值得到的边界数据推进,周期性进行对齐与补偿。
    • 适用:跨尺度、弱耦合、通信代价高或需要弹性吞吐的场景。
    • 风险:相位与能量漂移,需要补偿事务与守恒校核。
  3. 算子分裂
    • 一阶 Godunov:U^{n+1} = exp(Δt A) exp(Δt B) U^n。
    • 二阶 Strang:U^{n+1} = exp( (Δt/2) A ) exp(Δt B) exp( (Δt/2) A ) U^n。
    • 约定:当 A 来自连续核、B 来自离散侧或耦合器时,需在清单中记录分裂序与每段时基。

IV. 耦合接口(I60-1,I60-2)

  1. I60-1 couple_fields(sim_state, continuous_kernels:list, discrete_nets:list, opts:dict) -> CouplingRef
    • 职责
      1. 解析 Gamma_cpl,建立字段映射与单位检查(显式 measure/units/support)。
      2. 注册耦合模式(强/松、分裂序列)与同步策略(强同步、松同步、异步)。
      3. 输出 CouplingRef,用于随后的交换与推进。
    • 成功条件
      通过 check_dim(expr);明确 gamma(ell)、d ell 字段;可回放配置落盘。
  2. I60-2 exchange_packets(coupling:CouplingRef, t_now:float) -> int
    • 职责
      1. 在 Gamma_cpl 上交换 flux_bnd 或 evt(q),保证幂等与顺序。
      2. 若涉及到达时校准,同时产出两口径 T_arr 与 delta_form。
    • 契约
      1. 幂等:以 idempotency_key 去重;失败重试不改变可观测结果。
      2. 因果:保持 hb 不变式;跨设备对齐在 tau_mono 上完成。

V. 时间推进(I60-3)与步长控制

  1. I60-3 advance_dt(sim_state, dt:float, controller:dict) -> StepReport
    • 输入
      dt 初始候选步长;controller = {CFL, tol_abs, tol_rel, pid}。
    • 核心步骤
      1. 计算局部上限 c_loc(x,t) = c_ref / n_eff(x,t)。
      2. 稳定性检查:dt ≤ CFL * min( Δx / c_loc )。
      3. 误差评估:构造嵌入式步(如一次低阶、一次高阶)得到局部误差 err_loc。
      4. 步长调节:
        • 若 err_loc ≤ tol_abs + tol_rel * |state|,接受步并尝试放大 dt_next;
        • 否则回退,缩小 dt 并重试。
      5. 守恒校核:计算 eps_norm 与 eps_mass,不达门限则降阶或缩步并告警。
      6. 产出 StepReport = {accepted, dt_used, dt_next, err_loc, eps_norm, eps_mass}。
  2. 自适应策略
    • PID 步长控制:dt_next = dt * ( tol / err_loc )^k1 * ( err_prev / tol )^k2 * ( err_prev2 / tol )^k3(指数按经验或标定给出)。
    • 当 c_loc 时变剧烈时,优先使用保守 CFL 与局部限制器,避免阶跃失稳。

VI. 同步方案:强同步、松同步与补偿事务

  1. 强同步(barrier 模式)
    • 流程
      1. 所有参与子系统完成当前步预测并上报边界量;
      2. 耦合器解算一致性;
      3. 一致性通过后共同提交状态;
      4. 若失败,回滚到上一步状态,缩步或增加迭代再试。
    • 特点:全局一致,代价较高,适合强耦合。
  2. 松同步(窗口对齐)
    • 流程
      1. 子系统独立推进若干小步,窗口末端执行对齐;
      2. 对齐时对边界量做插值/外推并计算补偿量;
      3. 以补偿事务 comp(tx_id) 抵消相位误差并修复守恒。
    • 特点:吞吐友好,需严格的补偿与审计。
  3. 异步(事件驱动)
    • 定义:无全局栅栏,由事件触发交换与本地推进;
    • 要求:在 exchange_packets 中记录事件因果与补偿策略,保障 hb 与幂等。

VII. 失败与重试的一致性

  1. 幂等优先
    任意跨层对外可见的副作用须满足“效果一次”,通过 idempotency_key 与去重缓存实现。
  2. 补偿事务
    对不可幂等操作提供 comp(tx_id);补偿必须是可验证的等价逆操作,并入审计轨。
  3. 回退与恢复
    • 强同步:回退到上一步状态并缩步;
    • 松同步/异步:在窗口末端或事件边界处回退,重放自窗口起的事件序列。
  4. 一致性度量
    记录 TS.hb.violations、重试次数、补偿成功率;超过门限需降载或切换策略。

VIII. 稳定性与误差控制


IX. 数据与清单口径


X. 计量流程与运行图(Mx-6* 扩展)

  1. Mx-63 coupling-run
    步骤
    • I60-1 建立耦合并落盘配置;
    • 初始化 dt 与控制器;
    • 循环:I60-2 交换 → I60-3 推进 → 守恒与误差校核 → 指标采集;
    • 若失败:执行幂等重试或补偿与回退;
    • 周期性生成窗口级对齐与基线对比报告。
  2. Mx-64 benchmark-report
    汇总 TS.*、守恒门、delta_form、分裂序与资源占用,形成可比报表。

XI. 验证与测试矩阵

  1. 最小必测
    • 强耦合基线:刚性边界、无源无耗,验证守恒与步长收敛。
    • 松同步窗口:设定窗口长度,验证补偿后误差与守恒门。
    • 分裂阶次:对同一工况,Godunov 与 Strang 的误差阶验证。
  2. 边界与极端
    高梯度与小 c_loc 区域;频繁失败重试与补偿正确性;跨设备时基抖动下的到达时校准。
  3. 回归与门限
    固定输入与随机种子,对比 Δeps_mass、Δdelta_form、ΔTS.latency.p99、拒绝步比例。

XII. 交叉引用与依赖


XIII. 风险、限制与开放问题


XIV. 本章新增术语与符号(记忆)


版权与许可(CC BY 4.0)

版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。

首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/