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

附录B 数据与几何格式


I. 总览与版本

  1. 目标:规范 gamma(ell)、网格/网络、物性、载荷/边界、动力学与到达时数据之交换格式,保证与 S72-*、Mx-7*、I70-* 接口一致。
  2. 版本标识
    • schema = "EFT.Core.Tension/1.0"
    • unit_system = "SI"(长度 m,质量 kg,时间 s,力 N,压强 Pa)
  3. 全局主键
    • uuid(RFC4122)、hash_sha256(二进制资源校验)
    • created_at、modified_at(ISO 8601)
  4. 跨卷锚点
    n_eff,c_ref,T_arr,S_xx(f) 与《Core.Density》《Core.Sea》《Core.Threads》对齐。

II. 坐标系与计量元数据

  1. 坐标系字段
    • frame.name(如 "world")、frame.axes = ["x","y","z"]、frame.right_handed = true
    • frame.origin = [x0,y0,z0]、frame.orientation_quat = [qw,qx,qy,qz]
  2. 度量与测度
    • metric.base = "euclid" | "user";若 "user",需提供 metric.ds2_expr 与参数。
    • 显式测度元:沿线 d ell,曲面 dA,体积 dV。记录
      1. arc_length_rule = "polyline" | "spline"
      2. area_rule = "tri"(三角片)或 "quad"(四边片)
  3. 单位与量纲
    • units.length = "m",units.mass = "kg",units.time = "s"
    • units.force = "N",units.pressure = "Pa",units.surface_tension = "N/m"

III. 几何对象:线元 Path

  1. 基本字段
    • path.id,path.name,path.metric(继承 II)
    • nodes = [ {id, x, y, z}, ... ](按弧长有序)
    • segments = [ [id_i, id_j], ... ]
  2. 弧长与切向
    • ell[0] = 0;若 metric.base = "euclid" 且 arc_length_rule = "polyline",则
      ell[i] = ell[i-1] + || x_i - x_{i-1} ||
    • 可选存储 t_hat[i] 与 kappa[i] 以缓存 S72-5、Mx-73 求解所需导数。
  3. 线性物理场绑定
    • section.A,section.rho_m,section.E(与 rho_l = rho_m * A 一致)
    • tension.T_fil_init(初值或常量),damping = {a,b}(Rayleigh)
  4. 离散负载
    q_distributed = [ {ell, value}, ... ](单位 N/m),支持 interp = "linear" | "cubic"

IV. 几何对象:面元 Surface/Membrane

  1. 基本字段
    • surface.id,surface.name,vertices = [ {id,x,y,z}, ... ]
    • faces = [ [v1,v2,v3], ... ](或 quad)
    • boundary_loops = [ [v_a,...], ... ]
  2. 膜参数与曲率
    • sigma_s(可常量或纹理字段 per_face/per_vertex)
    • 可选 kappa1, kappa2(预计算曲率)
    • 压差接口:delta_p_bc(用于 S72-3 : Δp = sigma_s * ( kappa1 + kappa2 ))

V. 拓扑与网络(连接/分叉)

  1. 网络图
    • graph.nodes = [ {id, x,y,z, type="junction|terminal"} ]
    • graph.edges = [ {id, path_ref, n1, n2, orientation=+1|-1} ]
  2. 结点约束与外力
    • node_bc = [ {node_id, type="dirichlet|neumann|robin", data:{...}} ]
    • 平衡验算:S72-7 : ∑ T_i * t_hat_i + f_ext = 0
  3. 接口阻抗
    • junction.impedance = {Z_local, freq_dep:false|true, model:"table|rational"}
    • 透射/反射输出:{r_amp,t_amp,R_ref,T_trans},满足 R_ref + T_trans = 1

VI. 材料与物性表


VII. 载荷与边界条件

  1. 端部/结点载荷
    point_loads = [ {node_id, f = [Fx,Fy,Fz]} ](单位 N)
  2. 沿线分布载荷
    q(ell,t) 采用片段化表:segments:[ {ell0, ell1, law:"const|linear|table", params:{...}} ]
  3. 边界条件
    • Dirichlet:u = u_bar;Neumann:t = sigma · n_hat;Robin:alpha*u + beta*t = g
    • 字段统一:bc = {type, location:"node|edge|face|path_end", data:{...}}

VIII. 动力学数据与谱数据

  1. 时域数据集
    • timeseries.fs(Hz),timeseries.t0(s),channels = ["u","du_dt","force",...]
    • y = [ [t0, v0_1, v0_2,...], [t1, v1_1,...], ... ]
  2. 频域数据集(与《Core.Sea》一致)
    S_xx(f):freqs = [f_k],S = [S_k],单位按传感器定义
  3. 模态识别辅助
    peaks = [ {f_n, zeta_n, conf}, ... ],供 estimate_tension_from_modes 使用

IX. 到达时与校准数据

  1. 到达时记录
    • T_arr 两口径同时存储:
      1. T_arr_const = ( 1 / c_ref ) * ( ∫ n_eff d ell )
      2. T_arr_general = ( ∫ ( n_eff / c_ref ) d ell )
    • 一致性:delta_form = | T_arr_const - T_arr_general |(单位 s)
  2. 相关字段
    • n_eff_profile = [ {ell, n_eff}, ... ],c_ref(m/s)
    • calibration.note(过程元数据),trace_ref(时序索引)

X. 离散化与数值控制

  1. 网格与时间步
    • Δell(m),Δt(s),order.space = 1|2|4,order.time = 1|2
    • 稳定性:S72-12 : Δt ≤ CFL * ( Δell / c_max ),存 CFL 与 c_max
  2. 阻尼与能量核查
    • damping = {a,b};能量:
      E_total(t) = ( ∫ ( T_fil * (∂_ell u)^2 / 2 ) d ell ) + ( ∫ ( rho_l * (∂_t u)^2 / 2 ) d ell )
    • 记录 ΔE_rel(相对漂移)

XI. 文件容器与交换格式


XII. 字段校核与一致性规则


XIII. 最小 JSON 示例(线元 + 载荷 + 离散化)

JSON json
{
  "schema": "EFT.Core.Tension/1.0",
  "unit_system": "SI",
  "frame": { "name": "world", "axes": [ "x", "y", "z" ], "right_handed": true },
  "metric": { "base": "euclid", "arc_length_rule": "polyline" },
  "path": {
    "id": "P1",
    "name": "string-A",
    "nodes": [ { "id": "n0", "x": 0.0, "y": 0.0, "z": 0.0 }, { "id": "n1", "x": 1.0, "y": 0.0, "z": 0.0 } ],
    "segments": [ [ "n0", "n1" ] ],
    "section": { "A": 1e-06, "rho_m": 7850.0, "E": 200000000000.0 },
    "tension": { "T_fil_init": 100.0 },
    "damping": { "a": 0.0, "b": 0.0 }
  },
  "loads": {
    "q_distributed": [ { "ell": 0.5, "value": 0.1 } ],
    "point_loads": [ { "node_id": "n1", "f": [ 0.0, 1.0, 0.0 ] } ]
  },
  "bc": [
    {
      "type": "dirichlet",
      "location": "path_end",
      "data": { "node_id": "n0", "u_bar": [ 0, 0, 0 ] }
    },
    {
      "type": "dirichlet",
      "location": "path_end",
      "data": { "node_id": "n1", "u_bar": [ 0, 0, 0 ] }
    }
  ],
  "discretization": { "Delta_ell": 0.01, "Delta_t": 0.0005, "CFL": 0.9, "c_max": 100.0 }
}

XIV. CSV 表头示例


XV. 网络与接口 JSON 片段

JSON json
{
  "graph": {
    "nodes": [
      { "id": "J1", "x": 0, "y": 0, "z": 0, "type": "junction" },
      { "id": "T1", "x": 1, "y": 0, "z": 0, "type": "terminal" },
      { "id": "T2", "x": 0, "y": 1, "z": 0, "type": "terminal" }
    ],
    "edges": [
      { "id": "E1", "path_ref": "P1", "n1": "J1", "n2": "T1", "orientation": 1 },
      { "id": "E2", "path_ref": "P2", "n1": "J1", "n2": "T2", "orientation": 1 }
    ]
  },
  "junctions": [
    {
      "node_id": "J1",
      "impedance": { "Z_local": 0.05, "freq_dep": false },
      "scattering": { "r_amp": -0.2, "t_amp": 0.8, "R_ref": 0.04, "T_trans": 0.96 }
    }
  ]
}

XVI. 到达时与校准 JSON 片段

JSON json
{
  "calibration": {
    "L_gamma_m": 1.0,
    "rho_l_kg_per_m": 0.00785,
    "c_ref_mps": 1500.0,
    "n_eff_profile": [ { "ell": 0.0, "n_eff": 1.0 }, { "ell": 1.0, "n_eff": 1.0 } ],
    "T_arr_const_s": 0.000667,
    "T_arr_general_s": 0.000667,
    "delta_form_s": 0.0,
    "checks": { "c_from_toa_mps": 1499.25, "c_from_mech_mps": 1499.25, "ratio_c": 0.9997 }
  }
}

XVII. 字段—方程对照(用于机读校核)


XVIII. 最终校验清单


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