Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Fitting-free diagnosis of conduction-model breakdown in LPBF

Analysis code for Fitting-free diagnosis of conduction-model breakdown in laser powder bed fusion. A moving-source conduction model is evaluated with the absorptivity fixed from independent data, then inverted against each measured depth to locate where surface conduction stops accounting for the pool. No finite-element or CFD solver is used.

Install

pip install numpy scipy pandas scikit-learn

Data

The benchmark data are public but are not redistributed here. Download them and place the files in data/ under the names below.

File in data/ Source DOI
in718_amb2022_03.csv NIST AM-Bench AMB2022-03 — IN718 single-track depth, width, in-situ laser coupling 10.18434/mds2-2716
in625_ammt_14cases.csv NIST — IN625 single-track cross-sections 10.18434/mds2-2923, 10.18434/mds2-3830
ss316l_bare_210.csv Hofmann et al., Mater. Des. — 316L bare-plate single tracks 10.1016/j.matdes.2026.115459
ti64_absorptivity.json NIST A-AMB2022-01 — Ti-6Al-4V time-resolved absorptance 10.18434/mds2-2525

Required columns:

  • in718_amb2022_03.csvcase, P_W, v_mmps, D4sigma_um, depth_mean_um, depth_sd_um, width_mean_um, width_sd_um, aspect_d_halfw, coupling_ss, coupling_ss_sd
  • in625_ammt_14cases.csvcase, P_W, v_mm_s, spot_D4sigma_um, d_meas_um, w_meas_um
  • ss316l_bare_210.csvidx, P, v, d_laser_mm, t_powder, d_meas, w_meas, aspect (bare-plate subset, t_powder == 0)
  • ti64_absorptivity.json{"SPOT": {"P", "eta_cond", "eta_key", "sd_cond", "sd_key"}, "SCAN": {"P", "v", "eta_ss", "sd_ss"}}, time-window means of the instantaneous absorptance

Absorptivity inputs for IN625 and 316L come from the closed-form relation of Ye et al. (Adv. Eng. Mater. 2019), with the flat-surface values 0.27 and 0.34 from their Table 1. Temperature-dependent IN718 properties are from Denlinger et al. (2016), Table 2. Both are tabulated in the module.

Run

python amb_diagnosis.py

Writes results/ — per-condition predictions and inversions, the paper's tables, and summary.json. Roughly 20 minutes single-core; the 210-condition inversion and the anisotropy sweep dominate.

Layout

amb_diagnosis.py is a single module.

  • depth_um, halfwidth_um — Eagar–Tsai moving Gaussian surface source. The liquidus isotherm is located by root-finding rather than on a grid, so the boundary carries no discretization error. chi scales the through-thickness diffusivity and is the anisotropic-transport surrogate.
  • invert_A — absorptivity required to reproduce a measured depth. Returns a value at or below unity (conduction sufficient), above unity (non-physical), or nan (no solution on the search interval).
  • closed_form_A, beta_king — absorptivity input and normalized enthalpy.
  • table3, table4, delta_beta, multivariable, ml_benchmark — the paper's tables.
  • anisotropy_sweep, beam_sensitivity, property_sensitivity, grid_convergence, monotonicity, keq_distribution — the robustness analyses.

Stochastic results

The random forest and the neural network vary at the one-percentage-point level with the random seed, so multivariable and ml_benchmark average over seeds and return [mean, standard deviation]. Everything else is deterministic.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages