Физреализм v2: скин/близость (Доуэлл), трение+воздух, паспортные импульсные токи ключей
- physics/ac_resistance.py: R_AC обмотки по Доуэллу на частоте импульса 1/sqrt(LC) — для толстого провода во многих слоях потери в разы выше DC - трение о трубку (0.35·m·g) + аэродинамика (0.5·rho·Cd·A·v^2) во всей динамике: CPU ОДУ разряда, подлёт к датчику (с событием остановки), GPU numpy-путь, fused cupy-ядро, аналитический coast GPU-sweep'а - SwitchSpec.pulse_current_a: паспортные ITSM/IDM/ICM из даташитов вместо generic-множителей; отчёт теперь различает превышение продолжительного рейтинга (норма для импульса) и импульсного предела (отбраковка) — фикс вводившего в заблуждение флага switch_current_over_limit - КПД теперь может быть слегка отрицательным (трение съело больше, чем добавила слабая катушка) — это честно - MODEL_VERSION -> gausse-physics-v2 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -39,7 +39,9 @@ def test_run_detail_has_full_physics_and_distances(tmp_path):
|
||||
assert "inter_stage_gaps_m" in detail
|
||||
assert "coil_center_positions_m" in detail
|
||||
stage0 = detail["stages"][0]
|
||||
assert "electrical" in stage0 and "wire_resistance_ohm" in stage0["electrical"]
|
||||
assert "electrical" in stage0 and "wire_resistance_ac_ohm" in stage0["electrical"]
|
||||
# v2: скин/близость — AC-сопротивление обмотки выше DC
|
||||
assert stage0["electrical"]["wire_ac_resistance_factor"] >= 1.0
|
||||
assert "winding" in stage0 and "total_turns" in stage0["winding"]
|
||||
assert "sensor_to_coil_distance_m" in stage0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user