docs(data): MIL-HDBK-5J citations for aerospace alloys (#166)#205
Merged
Conversation
Cite-only attachment of MIL-HDBK-5J (2003, PD-USGov) primary tables to existing aerospace alloy entries in metals.toml, per #166. No new materials, no new property fields, no temperature curves — single room-temperature design values only, with verified page numbers. Per-property `_sources` entries added (license="PD-USGov"): - stainless.s17_4PH (H900 condition, sheet/strip/plate, S-basis): density, tensile_strength (190 ksi=1310 MPa), yield_strength (170 ksi=1172 MPa). Table 2.6.9.0(b), p.2-197. - titanium.grade5 (Ti-6Al-4V bar AMS 4928, annealed, S-basis): density (0.160 lb/in^3=4.428 g/cm^3), tensile_strength (135 ksi=931 MPa, TOML 950 = conventional rounding), yield_strength (125 ksi=862 MPa, TOML 880 = same). Table 5.4.1.0(c1), p.5-54. - aluminum.a2024 (sheet/plate AMS 4037, T3/T351): density only (0.100 lb/in^3=2.768 g/cm^3). Table 3.2.3.0(b1), p.3-69. - aluminum.a7075 (sheet/plate AMS 4045, T6/T62): density (0.101 lb/in^3=2.796 g/cm^3) and youngs_modulus (10.3e3 ksi=71.0 GPa). Table 3.7.6.0(b1), p.3-371. UTS/yield citations were NOT attached for 6061-T6, 7075-T6, 7075-T73, or 2024 strength fields because the existing TOML values are typical or AMS-minimum datasheet numbers, not MIL-HDBK-5J A/B-basis design allowables (off by 5-15%). Adding a misleading citation would be a bug; per #166's "never invent a value" rule, those properties retain the `_default` placeholder until a future PR aligns the values to a specific MIL-HDBK-5J table cell or cites a different primary source. Out of scope (no existing TOML entries — Phase 5 territory per #166): 15-5PH stainless, Inconel 625/718, magnesium AZ91, beryllium. MMPDS-02+ off-limits status confirmed in docs/data-policy.md (lines 97-99, added in #199/PR #202); no edit needed. Page numbers verified 2026-05-07 against the official MIL-HDBK-5J PDF (everyspec.com, MILHBK5J.pdf, 1733 pp.) — section numbers and page numbers cross-checked against both the ToC and the actual section bodies, since several sections shifted between MIL-HDBK-5H (1998) and MIL-HDBK-5J (2003). Notably 5J's section 2.6.9 is 17-4PH and 2.6.7 is 15-5PH, while 5H assigned them differently. Validation: TOML parses, license gate passes, tests/test_sources.py + tests/test_toml_integrity.py pass, full suite 691 passed/18 skipped, ruff clean. Closes #166.
6 tasks
7 tasks
gerchowl
added a commit
that referenced
this pull request
May 6, 2026
Add two new entries to `src/pymat/data/metals.toml` under the existing `[nickel]` family node, following the MIL-HDBK-5J citation pattern landed in PR #205 (#166). Both alloys are aerospace-grade Ni-base superalloys — 625 (solid-solution strengthened, AMS 5599 sheet, annealed) and 718 (precipitation-hardened, AMS 5596 sheet, solution-treated and aged). MIL-HDBK-5J (PD-USGov, 2003-01-31, everyspec.com PDF) primary tables: - Inconel 625: §6.3.3 Table 6.3.3.0(b) p.6-35 — A-basis Ftu/Fty (L), density, E, Poisson, elongation. AMS 5599 sheet/plate, annealed. - Inconel 718: §6.3.5 Table 6.3.5.0(b) p.6-52 — A-basis Ftu/Fty (LT), density, E, Poisson, elongation. AMS 5596 sheet/plate, STA per spec. Special Metals Inc. public technical bulletins (proprietary-reference-only, single-value extraction permitted by docs/data-policy.md): - SMC-063 (INCONEL alloy 625) — melting range, k, Cp, alpha, resistivity - SMC-045 (INCONEL alloy 718) — melting range, k, Cp, alpha, resistivity `_CATEGORY_BASES["metals"]` updated so `from pymat import inconel625` and `inconel718` resolve via lazy-load. Closes #125, #126.
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cite-only attachment of MIL-HDBK-5J (2003, PD-USGov) primary tables to existing aerospace alloy entries in
src/pymat/data/metals.toml, per #166. No values changed; this PR only annotates existing values that already match MIL-HDBK-5J's primary design tables. The 1733-page handbook is freely available on everyspec.com (PD-USGov); MMPDS-02+ (Battelle commercial successor) remains off-limits perdocs/data-policy.md.Single room-temperature values only — no temperature curves (those ride the
*_curveschema from #148, in a follow-up).Per-material citations attached
stainless.s17_4PHmechanical.density,mechanical.tensile_strength,mechanical.yield_strengthtitanium.grade5mechanical.density,mechanical.tensile_strength,mechanical.yield_strengthaluminum.a2024mechanical.densityaluminum.a7075mechanical.density,mechanical.youngs_modulusAll citations use
kind = "handbook",license = "PD-USGov",ref = "mil-hdbk-5j:p<page>". Eachnoterecords the spec/temper/condition, the table cell value (in original ksi units), the SI conversion, the basis (A/B/S/typical), and the verification date.Materials NOT cited (and why)
aluminum.a6061/a6061.T6strengthaluminum.a7075.T6/T73strengthaluminum.a2024strengthnickel.inconelXXXkeys exist;nickelis pure Ni. Phase 5.magnesiumcategory in metals.toml. Phase 5.berylliumcategory. Phase 5.MMPDS-02+ off-limits status
Already documented in
docs/data-policy.mdlines 97-99 (added under #199 / PR #202).CONTRIBUTING.mdreferencesdocs/data-policy.mdfor off-limits sources (line 244-248). No edit needed in this PR.Page-number verification
The 1733-page MIL-HDBK-5J PDF was downloaded from everyspec.com and inspected. Notable findings:
note.Judgment calls
a6061.T6.mil_a_basiscarrying the design allowable.Test plan
python -c "import tomllib; tomllib.loads(open('src/pymat/data/metals.toml').read())"— TOML parsespython scripts/check_licenses.py— license gate passes (7 TOML files scanned)uv run pytest tests/test_toml_integrity.py tests/test_sources.py -v— 43 passeduv run pytest— 691 passed, 18 skippeduv run ruff check . && uv run ruff format --check .— cleanmat.stainless.s17_4PH.source_of("mechanical.tensile_strength")returns Source(kind="handbook", ref="mil-hdbk-5j:p2-197", license="PD-USGov"); same fortitanium.grade5,aluminum.a7075,aluminum.a2024.Closes #166.