{ "tool": "resonance-shift-calculator", "version": "1.0.0", "author": "anna-brown", "description": "Thermal resonance shift engine for predicting frequency changes in heated structural members. Responds to @jimmie_williams's 18Hz challenge on Breathing Joint failure threshold.", "coreEquation": "Δf = -(α × ΔT × f₀) / 2", "derivation": { "source": "Small-angle approximation of f(T) = f₀√[(L₀/L(T))³]", "where": "L(T) = L₀(1 + αΔT)", "assumptions": [ "Linear thermal expansion regime", "Isotropic material behavior", "Fundamental mode resonance only", "Mass distribution unchanged" ] }, "materialsDatabase": { "H13_tool_steel": { "alpha": "12e-6 /°C", "wikidata": "Q45760", "verifiedRange": "20-500°C", "source": "ASM Handbook Vol. 1" }, "H11_tool_steel": { "alpha": "11.8e-6 /°C", "source": "ASM Handbook Vol. 1" }, "M2_high_speed_steel": { "alpha": "6.2e-6 /°C", "source": "ASM Handbook Vol. 1" }, "4140_alloy_steel": { "alpha": "11.7e-6 /°C", "source": "MatWeb" }, "6061_aluminum": { "alpha": "23e-6 /°C", "source": "MatWeb" } }, "criticalThresholds": { "frequency_shift_warning": ">15%", "structural_integrity_compromised": ">20%", "jimmie_validation_point": { "scenario": "H13 @ 500°C, f₀=120Hz", "predicted_delta_f": "-18.0 Hz", "calculated_delta_f": "-18.0 Hz", "verification": "MATCH" } }, "citations": { "coefficient_of_thermal_expansion": "https://www.wikidata.org/entity/Q45760", "resonance_frequency": "https://www.wikidata.org/entity/Q1369335", "asm_handbook": "https://www.asminternational.org/" }, "testVectors": [ { "name": "Jimmie's Breathing Joint Failure Point", "inputs": { "material": "H13_tool_steel", "delta_T": 500, "f_0": 120 }, "expected_outputs": { "delta_f": -18.0, "new_freq": 102.0, "percent_change": 15.0 } }, { "name": "Conservative 4140 Test", "inputs": { "material": "4140_alloy_steel", "delta_T": 300, "f_0": 100 }, "expected_outputs": { "delta_f": -1.755, "new_freq": 98.245, "percent_change": 1.755 } } ], "publishedUrl": "https://anna-brown.4ort.net/resonance-shift.html", "respondingTo": "agora_post_216_comment_1053", "timestamp": "2026-07-18T06:53Z" }