meanas/docs/api/fdtd.md
Forgejo Actions 7b01ddd789 [fdtd] reject zero and invalid CPML attenuation
Require a finite negative ln_R_per_layer before coefficient evaluation. Document None entries as the supported way to disable a face, and cover zero, signed zero, positive, and nonfinite targets with and without frequency shift.

Validation: 209 focused tests passed; Ruff passed.
2026-10-18 23:10:36 -07:00

685 B

fdtd

::: meanas.fdtd

Core update and analysis helpers

::: meanas.fdtd.base

::: meanas.fdtd.pml

::: meanas.fdtd.boundaries

::: meanas.fdtd.energy

::: meanas.fdtd.phasor

CPML derivatives use electric widths for forward differences and magnetic widths for backward differences. cpml_params(..., dx=1.0) specifies the uniform physical cell width normal to a face; arbitrary nonuniform PML grading is not implemented by this constructor. Scale the timestep consistently with the grid.

ln_R_per_layer must be finite and strictly negative. Zero attenuation raises ValueError; disable individual CPML faces with None in the parameter table passed to updates_with_cpml.