Skip to content

Batch Workflows

dfieser edited this page Aug 21, 2026 · 1 revision

Batch Workflows

The runners in scripts/batch/ repeat solver runs over a list of cases and collect organized outputs. They exist for parameter sweeps: power, repetition rate, spot size, pulse width, or material.

All runners follow the same pattern:

  1. Edit the cases array near the top of the script. Each case is a struct whose fields match the solver config fields (see Solver Reference), plus a label used in folder names.
  2. Run the script.
  3. Open the generated batch folder under outputs/, which contains one folder per case and a batch_summary.txt comparing them.

Shared helpers (struct merging, label sanitizing) live in src/RepoUtils.m, so the runners stay thin.

Batch_Depth_Profile.m

Depth-solver-only sweep. One Depth_Profile_Solver run per case.

Output layout:

outputs/
  Batch_TTM_1D_<timestamp>/
    Case_01__<label>/   depth solver report
    Case_02__<label>/
    batch_summary.txt

Use it for questions like "how does residual heating scale with repetition rate at fixed power."

Batch_Multi_Solver_Study.m

Coordinated study across four solvers per case: depth profile, radial profile, single-pulse visualizer, and inversion quantifier. Case structs support optional sub-structs caseDepth and caseRadial for fields that should apply to only one solver.

Output layout:

outputs/
  Batch_Multi_Solver_<timestamp>/
    Case_01__<label>/
      Solver_Depth/
      Solver_Radial/
      Solver_SinglePulse/
      Solver_Inversion/
    batch_summary.txt

The shipped case list is a spot-size sweep (50 to 300 um at 50 W, 10 MHz) you can replace wholesale.

Batch_Inversion_Analysis.m

Runs Depth_Profile_Solver plus Inversion_Quantifier per case and writes a comparative summary of inversion behavior across cases, alongside batch_parameters.txt recording the sweep definition.

Output layout:

outputs/
  Batch_Inversion_<timestamp>/
    batch_parameters.txt
    batch_summary.txt
    Case_01__<label>/Solver_Inversion/   report + figures

Batch_Depth_and_Radial_Profile.m

Legacy compatibility alias kept so older notes and commands still work. New sweeps should start from Batch_Multi_Solver_Study.m.

Practical notes

  • Batch runs multiply single-case runtimes. Time one representative case first, then size the sweep.
  • Keep makePlots off inside large sweeps unless you need per-case figures; saveFigures = true writes them without stealing focus.
  • Generated batch folders belong under outputs/, which stays out of version control.
  • Keep the runners generic. Manuscript-specific or one-off experiment automation belongs outside the public repository (see CONTRIBUTING.md).

Clone this wiki locally