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) –

  • wl0 (float) –

  • neff (float) –

  • ng (float) –

  • length (float) –

  • loss (float) –

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]#
Parameters:
  • num_inputs (Optional[int]) –

  • num_outputs (Optional[int]) –

  • ports (Optional[Tuple[str, ...]]) –

Return type:

Model

copier(num_inputs=None, num_outputs=None, ports=None, *, jit=True, reciprocal=True, diagonal=False)[source]#
Parameters:
  • num_inputs (Optional[int]) –

  • num_outputs (Optional[int]) –

  • ports (Optional[Tuple[str, ...]]) –

Return type:

Model

passthru(num_links=None, ports=None, *, jit=True, reciprocal=True)[source]#
Parameters:
  • num_links (Optional[int]) –

  • ports (Optional[Tuple[str, ...]]) –

Return type:

Model

get_models(copy=True)[source]#
Parameters:

copy (bool) –