gplugins.tidy3d.write_sparameters

gplugins.tidy3d.write_sparameters#

gplugins.tidy3d.write_sparameters(component: Component, layer_stack: LayerStack | None = None, material_mapping: dict[str, Any] = {'si': Medium(name='Si', frequency_range=None, allow_gain=False, nonlinear_spec=None, modulation_spec=None, heat_spec=None, type='Medium', permittivity=12.0409, conductivity=0.0), 'sin': Medium(name='SiN', frequency_range=None, allow_gain=False, nonlinear_spec=None, modulation_spec=None, heat_spec=None, type='Medium', permittivity=4.0, conductivity=0.0), 'sio2': Medium(name='SiO2', frequency_range=None, allow_gain=False, nonlinear_spec=None, modulation_spec=None, heat_spec=None, type='Medium', permittivity=2.1609, conductivity=0.0)}, extend_ports: float = 0.5, port_offset: float = 0.2, pad_xy_inner: float = 2.0, pad_xy_outer: float = 2.0, pad_z_inner: float = 0.0, pad_z_outer: float = 0.0, dilation: float = 0.0, wavelength: float = 1.55, bandwidth: float = 0.2, num_freqs: int = 21, min_steps_per_wvl: int = 30, center_z: float | str | None = None, sim_size_z: float = 4.0, port_size_mult: float | tuple[float, float] = (4.0, 3.0), run_only: tuple[tuple[str, int], ...] | None = None, element_mappings: tuple[tuple[tuple[tuple[str, int], tuple[str, int]], tuple[tuple[str, int, tuple[str, int]]]], ...] = (), extra_monitors: tuple[Any, ...] | None = None, mode_spec: ModeSpec = ModeSpec(num_modes=1, target_neff=None, num_pml=(0, 0), filter_pol='te', angle_theta=0.0, angle_phi=0.0, precision='single', bend_radius=None, bend_axis=None, track_freq='central', group_index_step=False, type='ModeSpec'), boundary_spec: BoundarySpec = BoundarySpec(x=Boundary(plus=PML(name=None, type='PML', num_layers=12, parameters=PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)), minus=PML(name=None, type='PML', num_layers=12, parameters=PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)), type='Boundary'), y=Boundary(plus=PML(name=None, type='PML', num_layers=12, parameters=PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)), minus=PML(name=None, type='PML', num_layers=12, parameters=PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)), type='Boundary'), z=Boundary(plus=PML(name=None, type='PML', num_layers=12, parameters=PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)), minus=PML(name=None, type='PML', num_layers=12, parameters=PMLParams(sigma_order=3, sigma_min=0.0, sigma_max=1.5, type='PMLParams', kappa_order=3, kappa_min=1.0, kappa_max=3.0, alpha_order=1, alpha_min=0.0, alpha_max=0.0)), type='Boundary'), type='BoundarySpec'), symmetry: tuple[Literal[0, -1, 1], Literal[0, -1, 1], Literal[0, -1, 1]] = (0, 0, 0), run_time: float = 1e-12, shutoff: float = 1e-05, folder_name: str = 'default', dirpath: Path | str = PosixPath('/home/runner/.gdsfactory/sparameters'), verbose: bool = True, plot_simulation_layer_name: str | None = None, plot_simulation_port_index: int = 0, plot_simulation_z: float | None = None, plot_simulation_x: float | None = None, plot_mode_index: int | None = 0, plot_mode_port_name: str | None = None, plot_epsilon: bool = False, filepath: Path | str | None = None, overwrite: bool = False, **kwargs) dict[str, ndarray][source]#

Writes the S-parameters for a component.

Parameters:
  • component – gdsfactory component to write the S-parameters for.

  • layer_stack – The layer stack for the component. If None, uses active pdk layer_stack.

  • material_mapping – A mapping of material names to Tidy3DMedium instances. Defaults to material_name_to_medium.

  • extend_ports – The extension length for ports.

  • port_offset – The offset for ports. Defaults to 0.2.

  • pad_xy_inner – The inner padding in the xy-plane. Defaults to 2.0.

  • pad_xy_outer – The outer padding in the xy-plane. Defaults to 2.0.

  • pad_z_inner – The inner padding in the z-direction. Defaults to 0.0.

  • pad_z_outer – The outer padding in the z-direction. Defaults to 0.0.

  • dilation – Dilation of the polygon in the base by shifting each edge along its normal outwards direction by a distance;

  • wavelength – The wavelength for the ComponentModeler. Defaults to 1.55.

  • bandwidth – The bandwidth for the ComponentModeler. Defaults to 0.2.

  • num_freqs – The number of frequencies for the ComponentModeler. Defaults to 21.

  • min_steps_per_wvl – The minimum number of steps per wavelength for the ComponentModeler. Defaults to 30.

  • center_z – The z-coordinate for the center of the ComponentModeler. If None, the z-coordinate of the component is used. Defaults to None.

  • sim_size_z – simulation size um in the z-direction for the ComponentModeler. Defaults to 4.

  • port_size_mult – The size multiplier for the ports in the ComponentModeler. Defaults to (4.0, 3.0).

  • run_only – The run only specification for the ComponentModeler. Defaults to None.

  • element_mappings – The element mappings for the ComponentModeler. Defaults to ().

  • extra_monitors – The extra monitors for the ComponentModeler. Defaults to None.

  • mode_spec – The mode specification for the ComponentModeler. Defaults to td.ModeSpec(num_modes=1, filter_pol=”te”).

  • boundary_spec – The boundary specification for the ComponentModeler. Defaults to td.BoundarySpec.all_sides(boundary=td.PML()).

  • symmetry (tuple[Symmetry, Symmetry, Symmetry], optional) – The symmetry for the simulation. Defaults to (0,0,0).

  • run_time – The run time for the ComponentModeler.

  • shutoff – The shutoff value for the ComponentModeler. Defaults to 1e-5.

  • folder_name – The folder name for the ComponentModeler in flexcompute website. Defaults to “default”.

  • dirpath – Optional directory path for writing the Sparameters. Defaults to “~/.gdsfactory/sparameters”.

  • verbose – Whether to print verbose output for the ComponentModeler. Defaults to True.

  • plot_simulation_layer_name – Optional layer name to plot. Defaults to None.

  • plot_simulation_port_index – which port index to plot. Defaults to 0.

  • plot_simulation_z – which z coordinate to plot. Defaults to None.

  • plot_simulation_x – which x coordinate to plot. Defaults to None.

  • plot_mode_index – which mode index to plot. Defaults to 0.

  • plot_mode_port_name – which port name to plot. Defaults to None.

  • filepath – Optional file path for the S-parameters. If None, uses hash of simulation.

  • overwrite – Whether to overwrite existing S-parameters. Defaults to False.

  • kwargs – Additional keyword arguments for the tidy3d Simulation constructor.