Skip to content

Research data figures for additive manufacturing (R04.1) and materials testing (R05.1) - #59

Merged
andreachiocca merged 1 commit into
masterfrom
claude/research-figures-am-testing
Nov 6, 2026
Merged

andreachiocca merged 1 commit into
masterfrom
claude/research-figures-am-testing

Conversation

@andreachiocca

Copy link
Copy Markdown
Owner

Preview (once the preview check succeeds):

FIG. R04.1: Rosenthal map of metal AM (chapter 03)

The figure plots 254 literature operating conditions for SLM and LMD in the dimensionless $\tilde U$–$\tilde P$ plane of Moda, Chiocca et al., Materials & Design 223 (2022) 110991. It is the analogue of the article's Fig. 5, and the data come from the updated workbook (revision 5).

What it shows:

  • point colour gives the alloy family, point shape gives the process;
  • dashed lines are aspect-ratio isolines (Eq. 12);
  • the white curve is the boundary $R=\bar R$ (Eq. 22), with the feasible region shaded above it;
  • chips filter by family and process.

Interaction. Selecting a point draws its melt pool seen from above. The outline is the exact isotherm of Eq. (2), written in closed polar form as $r=W_0(Ry(1+\cos\theta))/(1+\cos\theta)$. The panel also lists $U$, $P$, $\bar R$, $Ry$, $A_r$ and the source, with its DOI where the workbook has one.

Generator. scripts/generate_rosenthal_map.py reads sheet Parametri:

  • it recomputes $\tilde U$ and $\tilde P$ from the raw columns (Eqs. 20–21) and fails if they disagree with the workbook;
  • it keeps the workbook's own selection, i.e. the rows that have U* and P*;
  • it leaves out EBM, as the article does.

Dropped rows are counted in the JSON: 3 without a process, 24 EBM, 6 incomplete, 55 outside the workbook's selection.

Tests. tests/test_rosenthal_map.py checks, in pure Python:

  • $Ry=\tilde P\tilde U$;
  • Eqs. (6) and (12) against the exact isotherm;
  • the tips $X^\pm$ (Eqs. 9, 10);
  • that every outline point satisfies Eq. (2);
  • the boundary and isolines;
  • the chapter binding and the i18n keys.

Note on the cited accuracies. The maximum deviation of Eq. (12) from the exact isotherm is 2.009 % (at $Ry\approx0.32$), and that of Eq. (6) is 0.7265 % (at $Ry\approx1.5$). The values quoted from Wang et al. are 1.994 % and 0.7236 %. Both were cross-checked with a 30-digit mpmath solution. The test bounds are set accordingly.

FIG. R05.1: hybrid SPR joints in fatigue (chapter 04)

The figure shows 45 fatigue tests at $R=0.1$ on Al 5005 / Fe P05 self-piercing-riveted joints, with and without Terokal 4497 adhesive. The data come from the outputs of the manuscript in preparation; the tests were run within the PRIN project.

Three views:

  • force amplitude: lap-shear and coach-peel joints form two separate populations, about 10× apart, so no curve is drawn;
  • Rupp structural stress, rivet only: median S–N curve with its ±2s band, band ratio ×2.33;
  • Rupp structural stress, rivet + adhesive: band ratio ×2.04.

Points animate between the views. Colour gives the geometry, fill marks the adhesive and shape gives the thickness stack.

Generator and tests. scripts/generate_spr_fatigue.py only collects fatigue_assessment_output, and checks that the stored S–N intercept, slope and SD are the least-squares fit of the same points. tests/test_spr_fatigue.py repeats those checks.

One raw-data inconsistency, reported and not corrected. In Data/FATICA/LAP/2_15_NO_GLUE/2_15_NO.txt, row 5 reads $F_{max}=2860$, $F_{min}=286$, $F_a=1400$, $F_m=1573$ N. $F_a$ and the stress column are consistent with $F_{max}\approx3111$ N, while $F_{max}$, $F_{min}$ and $F_m$ give $F_a=1287$ N. The article's structural stress uses 1400 N, and the figure keeps it until the author resolves the row. The test lists it as the only known exception.

Other changes

  • Both figures sit in their chapter through figures in _data/research_areas.json.
  • CLAUDE.md and the roadmap are updated. Neither figure has a figure_sources.yml pin: their inputs are files from the author, not a repository.

Verification (local)

  • unittest, the Ruby checks, the production build and all page verifiers pass.
  • Browser checks match the master baseline: the only errors come from the CDNs blocked in this environment.
  • Screenshots checked at 1280 and 375 px, EN and IT, with no horizontal overflow.

Generated by Claude Code

…ng chapters

FIG. R04.1 (chapter 03): Rosenthal map of metal AM. 254 SLM/LMD operating
conditions from the literature workbook of Moda et al., Materials & Design
223 (2022) 110991 (revision 5), in the dimensionless velocity-power plane
with the aspect-ratio isolines and the R = R_ boundary. Selecting a point
draws its exact melt-pool isotherm, written in closed form with the
Lambert W function. U~ and P~ are recomputed from the raw columns and
checked against the workbook. EBM rows are left out, as in the article.

FIG. R05.1 (chapter 04): fatigue of hybrid self-piercing-riveted
aluminium-steel joints. It shows 45 tests against the force amplitude and
against the Rupp-type structural stress of the manuscript in preparation,
in its rivet-only and rivet + adhesive variants, with each S-N curve and
its +/-2s band. One raw-data row with an inconsistent force amplitude is
reported and kept as in the article's outputs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KzHgFgeEYmpqcsxvvbphUy
@andreachiocca
andreachiocca merged commit 704f620 into master Nov 6, 2026
4 checks passed

This branch was previously deployed

1 inactive deployment
website-preview-AC — 82e8b7cd Deployed Nov 6, 2026 by andreachiocca via preview #124
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants