[scpml] share face construction between grid builders
Delegate uniform-grid PML faces to stretch_with_scpml, using physical-thickness scaling and electric-center/magnetic-edge samples. Cover disabled axes, touching faces, real profiles, and final stretch caps. Validation: 200 focused tests passed; Ruff passed.
This commit is contained in:
parent
7e407dd1ac
commit
553cdf948c
4 changed files with 52 additions and 18 deletions
|
|
@ -27,3 +27,10 @@ stretching can produce above-light-line PML artifacts. The cap is not a general
|
|||
spectral guarantee, and weaker absorption can increase boundary reflections.
|
||||
Check domain size, PML thickness, strength, mode localization, and residuals.
|
||||
The general scattering profile remains uncapped by default.
|
||||
|
||||
`uniform_grid_scpml` builds unit widths by applying `stretch_with_scpml` to
|
||||
both faces of each enabled axis. Both builders divide imaginary grading by
|
||||
physical layer thickness and sample electric widths at cell centers and
|
||||
magnetic widths at cell edges. This corrects the uniform builder's previous
|
||||
thickness-independent strength and reversed E/H sample offsets; retune existing
|
||||
uniform-builder profiles using domain/PML convergence checks.
|
||||
|
|
|
|||
Loading…
Reference in a new issue