Skip to content

Expose per-absorber PML coordinate stretch - #99

Merged
yonghakim merged 1 commit into
mainfrom
codex/fdtd-pml-kappa
Oct 23, 2026
Merged

yonghakim merged 1 commit into
mainfrom
codex/fdtd-pml-kappa

Conversation

@yonghakim

@yonghakim yonghakim commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

The general FDTD PML previously fixed its peak real coordinate stretch at 2. Add an explicit static PML(kappa_max=...) setting so boundary studies can select a profile without mutating module globals. The setting reaches the field coefficients, incident columns, exact reflection predictor and prepared identity.

The default remains 2. Default job bytes and plan hashes are preserved; existing grazing criteria and numerical tolerances are unchanged. Diagnostics scope the measured stabilizing-loss table to its tested stretch, and the English/Korean guide explains thickness, clearance and decay convergence.

Validation:

  • Related 16-file run: 804 passed, three failures. The new stretch's continuum check now uses finer grids at the same physical depth and original tolerance; that file plus the tracked-path docs check passed on rerun (242 tests).
  • One remaining local baseline failure: the existing conical frozen-plan hash is cfb9ea12..., rather than ae4479b0.... Unmodified base 83cbc34 produces the identical mismatch in this environment; no golden was changed. The base commit's remote CI is green.
  • Quick profile: 17 passed in a checkout-local editable environment. The initial shared environment lacked installed distribution metadata; the dedicated environment resolves that setup failure without changing shared packages.
  • English/Korean Sphinx builds with warnings as errors and Ruff passed. Default job bytes/plan hashes, independent kernel returns, continuum refinement, NumPy/JAX/Torch derivatives and reuse guards are covered.
  • Two representative long-time grating replays (T2560/T6400) exactly match earlier saved signals and all 57 scattering channels; the frozen modal analysis also matches. These same-machine replays do not establish general passivity. Existing grid/material/boundary and external-solver controls were reused, not rerun.

No numerical thresholds, goldens or default profile values changed. CUDA was not run locally; required CI remains the integration gate.

Co-authored-by: Codex <noreply@openai.com>
@yonghakim
yonghakim marked this pull request as ready for review October 23, 2026 15:50
@yonghakim
yonghakim merged commit 051bcae into main Oct 23, 2026
65 checks passed
@yonghakim
yonghakim deleted the codex/fdtd-pml-kappa branch October 23, 2026 16:12
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