Skip to content

Releases: dfieser/ultrafast-laser-ttm-py

0.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 14:43

Fixed

  • The per-pulse inversion maximum of depth_profile (invMaxPerPulse_K) no longer spikes to exactly 256 K or 512 K late in a train, and no longer climbs in 0.5 to 2 K steps. The peak refinement fitted its parabola in absolute time, as the MATLAB reference does, and lost the result to floating-point cancellation a millisecond into a run. The fit now runs in time relative to the middle sample (physics.refine_peak). The golden fixtures still pass.
  • The samples inside the first 100 ns of each inter-pulse coast were under-resolved whenever the coast Fourier number exceeded 0.5, by up to half at 1 MHz. Ndiff is now a floor in surface_point and depth_profile, as it always was in radial_profile; the count used is returned as NdiffUsed. The end-of-period residual is unchanged to a few millikelvin and every fixture passes at its tolerance. scanning_beam keeps the exact count.
  • laserttm describe no longer fails on a cp1252 Windows console.

Added

  • nPulses fires a chosen number of pulses; simDuration then only ends the last coast and defaults to nPulses / f_rep. Runs shorter than one period are allowed. validate_config warns when simDuration is a fractional number of periods.
  • Depth snapshots are taken at exactly the requested snapshotDelays, so dense lists stay distinct. profileSnapshotPulses chooses the pulses whose residual depth profile is kept, with profileSnapshotTimes_s alongside. The radial view adds crossSections_C, the radius-by-depth map after every snapshot pulse, and lateralDiffusionRatio with a configurable lateralDiffusionWarnRatio.
  • scanning_beam returns Celsius twins Tpeak_map_C, Tsurf_C, peakT_history_C, the beam position per pulse in beamX_m, and surface maps kept at mapSnapshotPulses.
  • Every array results key declares its axes (dims), shown by describe and checked by the test suite for every gating combination.
  • Uniform envelope keys in every solver: diagnostics (each warning with a code, level, message and suggestion), Tmelt_C, meltDetected, meltPulse, pulseEnergy_J, peakFluence_J_m2, absorbedFluence_J_m2, peakTl_C. surface_point adds per-pulse peaks.
  • The tungsten preset carries a single-shot ablation threshold of 0.44 J/cm^2; above_ablation is raised by runs and by validate_config, and ablationThreshold overrides it.
  • Run controls: writeReport, reportHistory, verbose; showProgress: False also silences the per-pulse console lines.
  • validate_config returns derived pulse-train quantities and keeps its estimate when an unrelated key is wrong; the estimate scales with the pulse width, includes the history table when written, and reports the first-call kernel warm-up. The CLI prints these numbers.

Changed

  • enableRadialProfile defaults to False.
  • Golden inversion values, cross-solver agreement, and a steady-state regression grep are now tests.

0.3.2

Choose a tag to compare

@github-actions github-actions released this 03 Sep 16:27

Full Changelog: 0.3.1...0.3.2

0.3.1

Choose a tag to compare

@github-actions github-actions released this 03 Sep 16:19

Full Changelog: 0.3.0...0.3.1

0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 15:41

Full Changelog: 0.2.1...0.3.0

0.2.1

Choose a tag to compare

@github-actions github-actions released this 02 Sep 18:21

Full Changelog: 0.2.0...0.2.1

0.2.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 14:52

Full Changelog: 0.1.23...0.2.0

0.1.23

Choose a tag to compare

@github-actions github-actions released this 02 Sep 14:11

Full Changelog: 0.1.22...0.1.23

0.1.22

Choose a tag to compare

@github-actions github-actions released this 02 Sep 13:51

Full Changelog: 0.1.21...0.1.22

0.1.21

Choose a tag to compare

@github-actions github-actions released this 02 Sep 13:28

Full Changelog: 0.1.20...0.1.21

0.1.20

Choose a tag to compare

@github-actions github-actions released this 01 Sep 19:19

Full Changelog: 0.1.19...0.1.20