目录 / 文档-技术白皮书 / 10-EFT.WP.Core.Tension v1.0
I. 总览与版本
- 目标:规范 gamma(ell)、网格/网络、物性、载荷/边界、动力学与到达时数据之交换格式,保证与 S72-*、Mx-7*、I70-* 接口一致。
- 版本标识
- schema = "EFT.Core.Tension/1.0"
- unit_system = "SI"(长度 m,质量 kg,时间 s,力 N,压强 Pa)
- 全局主键
- uuid(RFC4122)、hash_sha256(二进制资源校验)
- created_at、modified_at(ISO 8601)
- 跨卷锚点
n_eff,c_ref,T_arr,S_xx(f) 与《Core.Density》《Core.Sea》《Core.Threads》对齐。
II. 坐标系与计量元数据
- 坐标系字段
- frame.name(如 "world")、frame.axes = ["x","y","z"]、frame.right_handed = true
- frame.origin = [x0,y0,z0]、frame.orientation_quat = [qw,qx,qy,qz]
- 度量与测度
- metric.base = "euclid" | "user";若 "user",需提供 metric.ds2_expr 与参数。
- 显式测度元:沿线 d ell,曲面 dA,体积 dV。记录
- arc_length_rule = "polyline" | "spline"
- area_rule = "tri"(三角片)或 "quad"(四边片)
- 单位与量纲
- units.length = "m",units.mass = "kg",units.time = "s"
- units.force = "N",units.pressure = "Pa",units.surface_tension = "N/m"
III. 几何对象:线元 Path
- 基本字段
- path.id,path.name,path.metric(继承 II)
- nodes = [ {id, x, y, z}, ... ](按弧长有序)
- segments = [ [id_i, id_j], ... ]
- 弧长与切向
- 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 求解所需导数。
- ell[0] = 0;若 metric.base = "euclid" 且 arc_length_rule = "polyline",则
- 线性物理场绑定
- section.A,section.rho_m,section.E(与 rho_l = rho_m * A 一致)
- tension.T_fil_init(初值或常量),damping = {a,b}(Rayleigh)
- 离散负载
q_distributed = [ {ell, value}, ... ](单位 N/m),支持 interp = "linear" | "cubic"
IV. 几何对象:面元 Surface/Membrane
- 基本字段
- surface.id,surface.name,vertices = [ {id,x,y,z}, ... ]
- faces = [ [v1,v2,v3], ... ](或 quad)
- boundary_loops = [ [v_a,...], ... ]
- 膜参数与曲率
- sigma_s(可常量或纹理字段 per_face/per_vertex)
- 可选 kappa1, kappa2(预计算曲率)
- 压差接口:delta_p_bc(用于 S72-3 : Δp = sigma_s * ( kappa1 + kappa2 ))
V. 拓扑与网络(连接/分叉)
- 网络图
- graph.nodes = [ {id, x,y,z, type="junction|terminal"} ]
- graph.edges = [ {id, path_ref, n1, n2, orientation=+1|-1} ]
- 结点约束与外力
- node_bc = [ {node_id, type="dirichlet|neumann|robin", data:{...}} ]
- 平衡验算:S72-7 : ∑ T_i * t_hat_i + f_ext = 0
- 接口阻抗
- 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. 材料与物性表
- 线元材料卡 mat_line
E,rho_m,A,loss = {a,b},limits = {T_fil_max, strain_max} - 膜材料卡 mat_surface
sigma_s,rho_s(面密度,可缺省),bending_mod(若考虑弯曲) - 标准字段
source(数据来源),lot(批次),temperature(K),humidity(%)
VII. 载荷与边界条件
- 端部/结点载荷
point_loads = [ {node_id, f = [Fx,Fy,Fz]} ](单位 N) - 沿线分布载荷
q(ell,t) 采用片段化表:segments:[ {ell0, ell1, law:"const|linear|table", params:{...}} ] - 边界条件
- 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. 动力学数据与谱数据
- 时域数据集
- timeseries.fs(Hz),timeseries.t0(s),channels = ["u","du_dt","force",...]
- y = [ [t0, v0_1, v0_2,...], [t1, v1_1,...], ... ]
- 频域数据集(与《Core.Sea》一致)
S_xx(f):freqs = [f_k],S = [S_k],单位按传感器定义 - 模态识别辅助
peaks = [ {f_n, zeta_n, conf}, ... ],供 estimate_tension_from_modes 使用
IX. 到达时与校准数据
- 到达时记录
- T_arr 两口径同时存储:
- T_arr_const = ( 1 / c_ref ) * ( ∫ n_eff d ell )
- T_arr_general = ( ∫ ( n_eff / c_ref ) d ell )
- 一致性:delta_form = | T_arr_const - T_arr_general |(单位 s)
- T_arr 两口径同时存储:
- 相关字段
- n_eff_profile = [ {ell, n_eff}, ... ],c_ref(m/s)
- calibration.note(过程元数据),trace_ref(时序索引)
X. 离散化与数值控制
- 网格与时间步
- Δell(m),Δt(s),order.space = 1|2|4,order.time = 1|2
- 稳定性:S72-12 : Δt ≤ CFL * ( Δell / c_max ),存 CFL 与 c_max
- 阻尼与能量核查
- damping = {a,b};能量:
E_total(t) = ( ∫ ( T_fil * (∂_ell u)^2 / 2 ) d ell ) + ( ∫ ( rho_l * (∂_t u)^2 / 2 ) d ell ) - 记录 ΔE_rel(相对漂移)
- damping = {a,b};能量:
XI. 文件容器与交换格式
- 容器
*.eft.json(主描述)、/geom/*.ply|*.stl(几何)、/series/*.csv(时序)、/spectra/*.csv(谱) - JSON 约定
UTF-8,无注释;数值字段 SI 单位;数组按弧长或时间递增。 - CSV 约定
首行表头,逗号分隔;时间列名 t_s,弧长列名 ell_m。
XII. 字段校核与一致性规则
- 单位守恒:T_fil 用 N,sigma_s 用 N/m,sigma_ij 用 Pa。
- 几何闭合:segments 应覆盖 nodes,无悬孤节点。
- 波速一致:若提供 T_fil,rho_l,L_gamma,T_arr,应满足 c = L_gamma / T_arr 与 c = sqrt( T_fil / rho_l ) 在容差内一致。
- 无损接口:R_ref + T_trans = 1。
- 采样一致:len(y) * Δt 与时间戳跨度一致;fs ≈ 1 / Δt。
- 两口径到达时差:delta_form 应小于项目设定阈值。
XIII. 最小 JSON 示例(线元 + 载荷 + 离散化)
XIV. CSV 表头示例
- 时序 series/displacement.csv
t_s,u_m(单通道位移)或 t_s,u_m,du_dt_mps,force_N(多通道) - 谱 spectra/Sxx.csv
f_Hz,Sxx(与《Core.Sea》一致) - 弧长场 series/q_line.csv
ell_m,q_N_per_m
XV. 网络与接口 JSON 片段
XVI. 到达时与校准 JSON 片段
XVII. 字段—方程对照(用于机读校核)
- L_gamma ↔ L_gamma = ( ∫ 1 d ell )
- rho_l ↔ rho_l = rho_m * A
- wave.c ↔ S72-6 : c = sqrt( T0 / rho_l )
- dyn.balance ↔ S72-5 : rho_l ∂_tt u = ∂_ell( T_fil ∂_ell u ) + q
- surface.delta_p ↔ S72-3 : Δp = sigma_s * ( kappa1 + kappa2 )
- contact.theta_c ↔ S72-4 : sigma_sv = sigma_sl + sigma_lv * cos(theta_c)
- junction.scattering ↔ S72-9, S72-10, S72-11
XVIII. 最终校验清单
- 几何序一致(ell 递增),边界闭合,法向与切向可导出。
- 单位一致且与 unit_system 匹配。
- R_ref + T_trans = 1(无损假设)与能量核查 ΔE_rel 在阈内。
- Δt 满足 S72-12;fs ≈ 1 / Δt。
- T_arr 两口径差 delta_form 记录并小于阈值。
- 所有外部资源(几何、时序、谱)与主 JSON 通过 uuid/hash_sha256 一致绑定。
版权与许可(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/