目录文档-技术白皮书11-EFT.WP.Core.DrawingKinetics v1.0

附录B 实现绑定与函数原型


I. 范围与目标


II. 命名、版本与通用约束


III. 核心数据类型与状态容器

  1. state: dict(最小必需键)
    • t0: float (s, ts);t1: float (s, ts);tau_mono_map: dict{ ts -> tau_mono };timebase: { alpha: float (s), beta: float }。
    • grid: { ell: array (m), d_ell: float (m) };gamma: any(路径参数化描述)。
    • lambda: array (—);s: array (1/s);v: array (m/s);A: array (m^2);rho: array (kg/m^3);T_fil: array (N)。
    • params: { K_el: float (N), K_vis: float (N*s), theta: float (—), tau_rel: float (s), mu: float (Pa*s) }。
    • meta: { run_id: str, schema.version: str, provenance: dict }。
  2. bc: dict(边界条件与工况卡摘要,见第5章)
    • inlet: { v: float (m/s) or None, s: float (1/s) or None };outlet: { v: float (m/s) or None }。
    • env: { T_env: float (K) or None };contact: { slip: float (—) in [0,1], mu_k: float (—) }。
  3. 报表对象(关键字段)
    StepReport,CalReport,MetricsReport:字段在各原型条目中详述。

IV. I10- 原型总览*


V. I10-1 update_draw_state

  1. 目的
    在时间步长 dt 上推进 state,同时执行守恒校核与异常判定,生成 StepReport。
  2. 输入
    state,bc,dt: float (s)。
  3. 输出 StepReport: dict
    • t0, t1: float (s, ts);dt_eff: float (s)。
    • eps_mass: float (—);eps_norm: float (—);ok: bool;errors: list[str]。
    • summary: { T_fil_mean: float (N), T_fil_rms: float (N), v_mean: float (m/s), s_mean: float (1/s) }。
    • TS: { hb: bool, latency: float (s), bp: float (—), slo_pass: bool }(第10章)。
    • idem_key: str(见幂等)。
  4. 幂等与可重放
    在固定三元组 ( hash(state@t0), bc, dt ) 下应返回相同 StepReport 与终态;idem_key = H( state.t0 || state.meta.run_id || bc.digest || dt )。
  5. 近似与方程口径
    • 质量守恒(S12-1)离散推进:
      rho_L^{n+1} = rho_L^{n} - dt * ( d/dell ) ( J^{n} ),其中 rho_L = rho * A,J = rho_L * v。
    • 构成更新(S12-3 范式):
      T_fil^{n+1} = K_el * ( lambda^{n+1} - 1 ) + K_vis * s^{n+1} + ...。
  6. 伪代码(要点)
    • 校验 check_dim 与 schema.version;失败则加入 E_DIMENSION_MISMATCH。
    • 根据 timebase 映射 ts -> tau_mono,对齐 dt_eff,更新 lambda,s,v,A。
    • 以保守格式离散 ( d/dell ) J 并更新 rho_L;累计 eps_mass。
    • 依据构成参数更新 T_fil;计算 summary 与 TS.*。
    • 若检测到失稳触发(见 I10-3)则标记 E_UNSTABLE_STEP。
  7. 异常(可能集合)
    E_BC_INVALID,E_DIMENSION_MISMATCH,E_CONSERVATION_FAIL,E_UNSTABLE_STEP,E_PARAMS_MISSING,E_TIMEBASE_UNALIGNED。

VI. I10-2 estimate_tension

  1. 目的
    给定局部 lambda 与 s,结合 params 返回张力估计 T_fil。
  2. 签名
    estimate_tension( lambda:float, s:float, params:dict ) -> float (N)。
  3. 计算口径
    • 基本式:T_fil = K_el * ( lambda - 1 ) + K_vis * s。
    • 可选速率硬化:T_fil += theta * K_el * ( s * tau_rel )(当 theta > 0)。
    • 合法域:lambda > 0,|s| < s_max(由参数卡限定)。
  4. 异常
    E_PARAMS_MISSING,E_DOMAIN_VIOLATION。

VII. I10-3 compute_instability_metrics

  1. 目的
    计算线性与非线性失稳指标,用于第6章的告警与控制。
  2. 签名
    compute_instability_metrics( state:dict ) -> dict。
  3. 输出(示例字段)
    • g_max: float (1/s)(线性增长率上界)。
    • r_neck: float (—)(颈缩风险指数)。
    • We: float (—);De: float (—);Re: float (—)(附录A定义)。
    • band_amp: dict{ f_band: [f1,f2], gain: float (—) }(波动放大带)。
    • stable: bool;triggers: list[str](如 "necking", "rate_hardening", "slip_jump")。
  4. 核心计算要点
    • 线性化沿 gamma(ell):设扰动 delta(lambda),离散谱判据 g_max = max_eig( J_lin )。
    • 颈缩阈:当 ( d T_fil / d lambda ) < 0 区域占比超阈则 r_neck ↑。
    • 以局部 tau_rel 评估 We = tau_rel * s_mean,De = tau_rel * ( v_mean / L_char )。
    • 结合第7章谱口径,以 S_xx(f) 估计带宽放大 gain。

VIII. I10-4 calibrate_kinematics

  1. 目的
    执行 Mx-11(时基与几何标定)与部分 Mx-12 的运动学校准,输出 CalReport。
  2. 签名
    calibrate_kinematics( trace:any, sensors:list, timebase:dict ) -> CalReport。
  3. 输出 CalReport: dict
    • timebase: { alpha: float (s), beta: float };delta_tb: float (s)(映射残差)。
    • geo: { d_ell: float (m), scale_v: float (—), scale_A: float (—) }。
    • fit: { rmse_v: float (m/s), rmse_A: float (m^2), corr_vA: float (—) }。
    • ok: bool;errors: list[str];provenance: dict。
  4. 校准流程摘要
    • 以参考脉冲对齐 ts = alpha + beta * tau_mono;最小化 delta_tb。
    • 准直与比例标定 v、A,输出缩放因子与残差。
    • 生成 provenance(设备 ID、日期、操作者、软件指纹)。

IX. I10-5 emit_metrics_drawing

  1. 目的
    汇总并发布第7、8、9、10、11章所需指标,形成标准指标报文 MetricsReport。
  2. 签名
    emit_metrics_drawing( state:dict ) -> MetricsReport。
  3. 输出 MetricsReport: dict
    • window: { t0: float (s, ts), t1: float (s, ts) }。
    • kinematics: { v_mean: float (m/s), s_mean: float (1/s), lambda_mean: float (—) }。
    • tension: { T_mean: float (N), T_rms: float (N) }。
    • stability: { g_max: float (1/s), r_neck: float (—), stable: bool }。
    • spectrum: { ENBW: float (Hz), var_T: float (N^2), bands: list }。
    • conservation: { eps_mass: float (—), eps_norm: float (—) }。
    • TS: { hb: bool, latency: float (s), bp: float (—), slo_pass: bool }。

X. 并发、调度与可观测性契约


XI. 错误枚举与严重级别


XII. 参考伪代码与状态机片段

  1. 更新状态(离散守恒 + 构成)
    • 计算 J^n = rho^n * A^n * v^n。
    • rho_L^{n+1} = rho_L^{n} - dt * ( d/dell ) ( J^{n} )(迎风或 TVD 格式)。
    • s^{n+1} = ( d/dt ) ( ln( lambda^{n+1} ) );T_fil^{n+1} = K_el * ( lambda^{n+1} - 1 ) + K_vis * s^{n+1}。
    • 评估 eps_mass,若超阈则记 E_CONSERVATION_FAIL。
    • 调用 compute_instability_metrics 决定 stable 与 E_UNSTABLE_STEP。
  2. 失稳评估(谱 + 斜率判据)
    • 以第7章口径计算 S_TT(f);选取带宽 [f1,f2],得 gain。
    • 若存在 ( d T_fil / d lambda ) < 0 的空间片段且 gain > gain_thr,则置 r_neck ↑。

XIII. 计量与校核钩子


XIV. 接口安全与合规模块


XV. 版本迁移与兼容策略


XVI. 快速索引与交叉引用


版权与许可(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/