Files
MCM/A题/数值分析检验/Response/1.md
2026-02-16 21:52:26 +08:00

5.7 KiB

{ "model_name": "MODEL_SPEC", "version": "1.0", "status": "frozen", "states": [ { "name": "z", "unit": "dimensionless", "bounds": [0, 1], "description": "State of Charge" }, { "name": "v_p", "unit": "V", "bounds": [null, null], "description": "Polarization voltage" }, { "name": "T_b", "unit": "K", "bounds": [0, null], "description": "Battery temperature" }, { "name": "S", "unit": "dimensionless", "bounds": [0, 1], "description": "State of Health" }, { "name": "w", "unit": "dimensionless", "bounds": [0, 1], "description": "Radio tail activation level" } ], "inputs": [ { "name": "L", "unit": "dimensionless", "bounds": [0, 1], "description": "Screen brightness" }, { "name": "C", "unit": "dimensionless", "bounds": [0, 1], "description": "Processor load" }, { "name": "N", "unit": "dimensionless", "bounds": [0, 1], "description": "Network activity" }, { "name": "Ψ", "unit": "dimensionless", "bounds": [0, 1], "description": "Signal quality" }, { "name": "T_a", "unit": "K", "bounds": [null, null], "description": "Ambient temperature" } ], "parameters": [ { "name": "P_bg", "unit": "W", "description": "Background power" }, { "name": "P_scr0", "unit": "W", "description": "Screen baseline power" }, { "name": "k_L", "unit": "W", "description": "Screen scaling coefficient" }, { "name": "gamma", "unit": "dimensionless", "description": "Screen power exponent" }, { "name": "P_cpu0", "unit": "W", "description": "CPU baseline power" }, { "name": "k_C", "unit": "W", "description": "CPU scaling coefficient" }, { "name": "eta", "unit": "dimensionless", "description": "CPU power exponent" }, { "name": "P_net0", "unit": "W", "description": "Network baseline power" }, { "name": "k_N", "unit": "W", "description": "Network scaling coefficient" }, { "name": "epsilon", "unit": "dimensionless", "description": "Signal guard constant" }, { "name": "kappa", "unit": "dimensionless", "description": "Signal penalty exponent" }, { "name": "k_tail", "unit": "W", "description": "Radio tail power coefficient" }, { "name": "tau_up", "unit": "s", "description": "Radio activation time constant" }, { "name": "tau_down", "unit": "s", "description": "Radio decay time constant" }, { "name": "C1", "unit": "F", "description": "Polarization capacitance" }, { "name": "R1", "unit": "Ohm", "description": "Polarization resistance" }, { "name": "hA", "unit": "W/K", "description": "Convective heat transfer coefficient" }, { "name": "C_th", "unit": "J/K", "description": "Thermal capacitance" }, { "name": "E0", "unit": "V", "description": "Standard potential" }, { "name": "K", "unit": "V", "description": "Polarization constant" }, { "name": "A", "unit": "V", "description": "Exponential zone amplitude" }, { "name": "B", "unit": "dimensionless", "description": "Exponential zone time constant" }, { "name": "R_ref", "unit": "Ohm", "description": "Reference internal resistance" }, { "name": "E_a", "unit": "J/mol", "description": "Activation energy" }, { "name": "R_g", "unit": "J/(molK)", "description": "Gas constant" }, { "name": "T_ref", "unit": "K", "description": "Reference temperature" }, { "name": "eta_R", "unit": "dimensionless", "description": "Aging resistance factor" }, { "name": "Q_nom", "unit": "Ah", "description": "Nominal capacity" }, { "name": "alpha_Q", "unit": "1/K", "description": "Temperature capacity coefficient" }, { "name": "V_cut", "unit": "V", "description": "Cutoff voltage" }, { "name": "z_min", "unit": "dimensionless", "description": "SOC singularity guard" }, { "name": "Q_eff_floor", "unit": "Ah", "description": "Minimum capacity floor" } ], "equations": [ "P_scr = P_scr0 + k_L * L^gamma", "P_cpu = P_cpu0 + k_C * C^eta", "P_net = P_net0 + k_N * N / (Ψ + epsilon)^kappa + k_tail * w", "P_tot = P_bg + P_scr + P_cpu + P_net", "z_eff = max(z, z_min)", "V_oc = E0 - K * (1/z_eff - 1) + A * exp(-B * (1 - z))", "R0 = R_ref * exp((E_a / R_g) * (1/T_b - 1/T_ref)) * (1 + eta_R * (1 - S))", "Q_eff = max(Q_nom * S * (1 - alpha_Q * (T_ref - T_b)), Q_eff_floor)", "Delta = (V_oc - v_p)^2 - 4 * R0 * P_tot", "I = (V_oc - v_p - sqrt(Delta)) / (2 * R0)", "V_term = V_oc - v_p - I * R0", "dz/dt = -I / (3600 * Q_eff)", "dv_p/dt = I/C1 - v_p / (R1 * C1)", "dT_b/dt = (I^2 * R0 + I * v_p - hA * (T_b - T_a)) / C_th", "sigma_N = min(1, N)", "tau_N = (sigma_N >= w) ? tau_up : tau_down", "dw/dt = (sigma_N - w) / tau_N" ], "guards": { "z_min": "z_eff = max(z, z_min)", "Q_eff_floor": "Q_eff = max(Q_calc, Q_eff_floor)", "clamp_rules": [ "z = clamp(z, 0, 1)", "S = clamp(S, 0, 1)", "w = clamp(w, 0, 1)" ] }, "events": { "gV": "V_term(t) - V_cut", "gz": "z(t)", "gDelta": "Delta(t)", "termination_logic": "Terminate at t = min(t | gV(t) <= 0 OR gz(t) <= 0 OR gDelta(t) <= 0)", "termination_reasons": [ "V_CUTOFF", "SOC_ZERO", "DELTA_ZERO" ] }, "tte_definition": { "formula": "TTE = t* - t0", "interpolation": "t* = t_{n-1} + (t_n - t_{n-1}) * (0 - g(t_{n-1})) / (g(t_n) - g(t_{n-1}))", "tie_breaking": "Earliest t* across all event functions; if identical, priority: DELTA_ZERO > V_CUTOFF > SOC_ZERO" }, "numerics": { "method": "RK4_nested_CPL", "dt_symbol": "dt", "stage_recompute_current": true }, "validation": { "dimension_check": [ "P_tot [W]", "V_term [V]", "I [A]", "dz/dt [1/s]", "dT_b/dt [K/s]" ], "monotonicity_check": "If I >= 0, then dz/dt must be <= 0", "feasibility_check": "Delta must be >= 0; if Delta < 0 at any evaluation, trigger DELTA_ZERO event" } }