Skip to content

port_modes

port_modes(
port: str
| photonforge.Port
| photonforge.FiberPort
| photonforge.PortSpec
| tidy3d.components.mode.mode_solver.ModeSolver
| collections.abc.Sequence[
str
| photonforge.Port
| photonforge.FiberPort
| photonforge.PortSpec
| tidy3d.components.mode.mode_solver.ModeSolver
],
frequencies: collections.abc.Sequence[float] = (),
mesh_refinement: float | None = None,
group_index: bool = False,
impedance: bool = False,
technology: photonforge.Technology | None = None,
task_name: str | None = None,
remote_path: str = 'Mode Solver',
verbose: bool = True,
show_progress: bool = True,
) -> (
tidy3d.components.mode.mode_solver.ModeSolver
| list[tidy3d.components.mode.mode_solver.ModeSolver]
| tuple[tidy3d.components.mode.mode_solver.ModeSolver, object]
| tuple[list[tidy3d.components.mode.mode_solver.ModeSolver], list]
)

Compute the port modes using Tidy3D’s mode solver.

Args

  • port: Port or port specification to solver for modes. A Tidy3D ModeSolver instance can also be used. A sequence of any of those solves all entries in a single batch.
  • frequencies: Sequence of frequency values for the mode solver. Not required if a ModeSolver instance is used as ‘port’.
  • mesh_refinement: Minimal number of mesh elements per wavelength used for mode solving.
  • group_index: Flag indicating whether the mode solver should include group index computation.
  • impedance: Flag indicating whether the mode impedances should also be computed and returned.
  • technology: Technology specification for the port.
  • task_name: Name for the Tidy3D task. In a batch, an index suffix is appended to each task name.
  • remote_path: Remote folder for the task.
  • verbose: Flag controlling solver verbosity.
  • show_progress: Flag to control whether to show solver progress.

Returns

Mode solver object with calculated data, or a list of them if ‘port’ is a sequence. If impedance == True, the calculated impedances are also returned (None for optical modes), as a single value or a list, matching ‘port’.

Note

If a ModeSolver instance is used as ‘port’, arguments ‘frequency’, ‘mesh_refinement’, ‘group_index’, and ‘technology’ have no effect.