sax.models module#
SAX Default Models
- straight(*, wl=1.55, wl0=1.55, neff=2.34, ng=3.4, length=10.0, loss=0.0)[source]#
A simple straight waveguide model.
- Parameters:
wl (FloatArrayND | float) – wavelength in microns.
wl0 (float) – reference wavelength in microns.
neff (float) – effective index.
ng (float) – group index.
length (float) – length of the waveguide in microns.
loss (float) – loss in dB/cm.
- Return type:
SDict
- coupler(*, coupling=0.5)[source]#
a simple coupler model
- Parameters:
coupling (float) –
- Return type:
SDict
- unitary(num_inputs=None, num_outputs=None, ports=None, *, jit=True, reciprocal=True, diagonal=False)[source]#
A unitary model.
- Parameters:
num_inputs (Optional[int]) – number of input ports.
num_outputs (Optional[int]) – number of output ports.
ports (Optional[Tuple[str, ...]]) – tuple of input and output ports.
jit – whether to jit the model.
reciprocal – whether the model is reciprocal.
diagonal – whether the model is diagonal.
- Return type:
Model
- copier(num_inputs=None, num_outputs=None, ports=None, *, jit=True, reciprocal=True, diagonal=False)[source]#
A copier model.
- Parameters:
num_inputs (Optional[int]) – number of input ports.
num_outputs (Optional[int]) – number of output ports.
ports (Optional[Tuple[str, ...]]) – tuple of input and output ports.
jit – whether to jit the model.
reciprocal – whether the model is reciprocal.
diagonal – whether the model is diagonal.
- Return type:
Model
- passthru(num_links=None, ports=None, *, jit=True, reciprocal=True)[source]#
A passthru model.
- Parameters:
num_links (Optional[int]) – number of links.
ports (Optional[Tuple[str, ...]]) – tuple of input and output ports.
jit – whether to jit the model.
reciprocal – whether the model is reciprocal.
- Return type:
Model