Skip to content

Add heat-source calibration and prepared for AdditiveFOAM 2.0.0 - #103

Open
colemanjs wants to merge 8 commits into
mainfrom
Calibration
Open

Add heat-source calibration and prepared for AdditiveFOAM 2.0.0#103
colemanjs wants to merge 8 commits into
mainfrom
Calibration

Conversation

@colemanjs

@colemanjs colemanjs commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

AdditiveFOAM 2.0.0 release scope

This PR adds the projected heat-source calibration workflow and makes steps toward repository-side
preparation for AdditiveFOAM 2.0.0 on OpenFOAM 14.

Heat-source models

  • Adds the tabulated heat-source model with bilinear profile integration, second-moment beam
    characterization, and area-equivalent D4Sigma.
  • Adds tabulatedProfileInfo and updates primesToAdditiveFoam to report consistent profile metrics.
  • Updates the projected Gaussian, tabulated, and nLight AFX models to use the documented nSlope/
    nIntercept axial closure.
  • Uses one shared axial projection for the nLight AFX core and ring while preserving their
    independently normalized power fractions.
  • Applies projected heat sources below the beam plane and makes their integration bounds consistent
    with one-sided normalization.
  • Preserves an explicitly configured Kelly aspectRatioSwitch and applies etaMin as a lower bound
    over the Kelly absorption curve.

Calibration workflow

  • Adds calibrateHeatSource, an adaptive Bayesian calibration workflow with resumable simulation
    caching, posterior fitting, bootstrap uncertainty, and PDF/CSV reporting.
  • Adds an SS316L calibration tutorial using a measured 109.69-micron Gaussian beam profile and a 20-
    micron minimum transient source depth.
  • Derives tabulated-source lateral dimensions and D4Sigma directly from the supplied beam-profile
    table. Users provide minimumDepth instead of lateral dimensions.

Release and tutorial updates

  • Sets the release version to 2.0.0 and documents the OpenFOAM-14 requirement.
  • Adds pinned dependencies for the optional Python calibration and plotting utilities, supporting
    Python 3.10 through 3.12.
  • Standardizes the AdditiveFOAM tutorials to eight MPI ranks.
  • Moves the reusable nLight AFX mode configuration to $ADDITIVEFOAM_ETC/heatSources/nLightAFX- 1000.cfg and removes the redundant tutorial-local copy.
  • Updates release copyrights and resolves remaining repository whitespace errors.

User-facing upgrade notes

  • Replace projected-depth coefficients A and B with nSlope and nIntercept.
  • For tabulated sources, replace the old dimensions entry with minimumDepth.
  • Source OpenFOAM 14 before sourcing AdditiveFOAM and rebuild with ./Allwmake.
  • Python dependencies are required only for calibration and plotting utilities.

  - apply projected heat sources only below the beam plane
  - align source bounds with one-sided normalization
  - rename source bounds to sourceMin and sourceMax
  - preserve the configured Kelly aspect-ratio switch
  - apply etaMin as a lower bound on the Kelly curve
  - safely evaluate Kelly at zero aspect ratio
  - restore PRIMES profile output precision
  - update related documentation
@colemanjs colemanjs changed the title bayesian calibration for projected heat source models Add heat-source calibration and finalize AdditiveFOAM 2.0.0 Aug 18, 2026
  - derive model-specific integration bounds from profileTol
  - synchronize heat-source dimensions, normalization, and shape state
  - preserve partial-time-step power at the end of scan paths
  - restrict transient depth calculations to one-sided source support
  - reconstruct the PRIMES calculation ROI and report D4Sigma statistics
  - correct refinement updates, MRF flux handling, boundary initialization,
    and exact thermodynamic-path node bracketing
  - update tutorials and release documentation for the 2.0.0 interfaces
@colemanjs colemanjs changed the title Add heat-source calibration and finalize AdditiveFOAM 2.0.0 Add heat-source calibration and prepared for AdditiveFOAM 2.0.0 Aug 21, 2026
  - integrate one-dimensional local posteriors deterministically
  - propagate stratified posterior samples through the robust global fit
  - update calibration configuration, reporting, documentation, and dependencies
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.

1 participant