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.
24 lines
685 B
Markdown
24 lines
685 B
Markdown
# 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`.
|