wavelength ¤
Analysis-owned matched boundaries for normalized optical DC characterization.
Classes:
| Name | Description |
|---|---|
WavelengthBench | A compiled matched-boundary bench and the excitation instance for each selected port. |
Functions:
| Name | Description |
|---|---|
build_wavelength_bench | Clone the source topology, attach matched-port fixtures and compile the bench. |
wavelength_scattering | Run independent port excitations with wavelength continuation. |
WavelengthBench ¤
Bases: NamedTuple
A compiled matched-boundary bench and the excitation instance for each selected port.
build_wavelength_bench ¤
build_wavelength_bench(
circuit: Any, compile_fn: Callable, selected: tuple[str, ...], z0: float
) -> WavelengthBench
Clone the source topology, attach matched-port fixtures and compile the bench.
The bench depends only on the circuit's source topology and models, the selected ports and z0; parameter values are runtime inputs of the solves.
Source code in circulax/wavelength.py
wavelength_scattering ¤
wavelength_scattering(
circuit: Any,
bench_for: Callable[[tuple[str, ...], float], WavelengthBench],
*,
ports: Sequence[str],
wavelengths: Array,
amplitude: float,
amplitude_unit: str,
params: Mapping[str, Any] | None,
z0: float,
wl_param: str
) -> dict[str, Any]
Run independent port excitations with wavelength continuation.
Optical discipline and wave normalization are declared by the caller; no classification is inferred from solver dtype. For SAX optical models the reference is z0=1 and amplitude_unit identifies sqrt(W) or sqrt(mW). bench_for(selected, z0) supplies the (cached) compiled matched-boundary bench.