pyModeSolver.ModeSolverResults.ModeSolverResults
- class pyModeSolver.ModeSolverResults.ModeSolverResults
Bases:
SimResultsMode Solver Results class.
Methods
ExportAsF3DFile([filename, field, lam_idx, mode])Exports Hx, Hy, Hz, Ex, Ey, Ez for all the wavelengths and modes.
ExportNeff([filename, mode])Exports the effective index for the specified mode to a text file determined by filename.
ExportNg([filename, mode])Exports the group index for the specified mode to a text file determined by filename.
GetNeff()Returns the effective index as an array (m,n) where m is the number of modes and n is the number of wavelengths
PlotIndex([index_type, modes, show_imag, ...])Plots effective or group index at a given mode
PlotMode([field, lam, mode, plot_type, ...])Plots the field component for a given mode at a given wavelength
PlotPermittivity([profile, lam, plot_type, ...])Plots permittivity distribution for x, y or z at a given cross section
Polarity([wavelength])loadHDF5(filename)This method loads results from an HDF5 file.
Attributes
The modal fields.
The permittivity grid in the cross section.
The modal effective refractive index.
The group effective index.
- ExportAsF3DFile(filename: str = './field', field: str | list[str] = 'all', lam_idx: int | str | list[int] = 'all', mode: int | str | list[int] = 'all')
Exports Hx, Hy, Hz, Ex, Ey, Ez for all the wavelengths and modes. Support to selected fields, wavelength and modes is pending.
- Parameters:
filename (str, optional) – Export file name without extension. Defaults to ‘./field’.
field (str | list[str], optional) – Fields to be exported. Defaults to ‘all’.
lam_idx (int | str | list[int], optional) – Wavelengths to be exported. Defaults to ‘all’.
mode (int | str | list[int], optional) – Modes to be exported. Defaults to ‘all’.
- ExportNeff(filename: str = './neff', mode: int | list[int] | str = -1)
Exports the effective index for the specified mode to a text file determined by filename.
- Parameters:
filename (str, optional) – Filename without extention. Defaults to “./neff”.
mode (int | list[int], optional) – Mode index to be exported. Defaults to -1, the mode with the highest real neff. “all” export all modes. An integer select that particular mode starting from 0. A list of ints, select multiple modes. Otherwise: -1.
- ExportNg(filename: str = './neff.txt', mode: int | list[int] = -1)
Exports the group index for the specified mode to a text file determined by filename.
- Parameters:
filename (str, optional) – Filename without extention. Defaults to “./neff”.
mode (int | list[int], optional) – Mode index to be exported. Defaults to -1, the mode with the highest real neff. “all” export all modes. An integer select that particular mode starting from 0. A list of ints, select multiple modes. Otherwise: -1.
- GetNeff()
Returns the effective index as an array (m,n) where m is the number of modes and n is the number of wavelengths
- PlotIndex(index_type: Literal['neff', 'ng'] = 'neff', modes: list[int] = [0], show_imag: bool = False, width: float = 4, height: float = 4, show=True)
Plots effective or group index at a given mode
- Parameters:
index_type (Literal['neff','ng'], optional) – Effective or group index. Defaults to ‘neff’.
modes (list, optional) – Mode numbers to plot. Defaults to [0].
show_imag (bool, optional) – Enables imaginary plot for the index. Defaults to True.
width (float, optional) – Width of the plot. Defaults to 6.
height (float, optional) – Height of the plot. Defaults to 3.
- PlotMode(field: Literal['Ex', 'Ey', 'Ez', 'Hx', 'Hy', 'Hz'] = 'Hx', lam: float = 1.55, mode: int = 0, plot_type: Literal['real', 'imag', 'mag', 'phase', 'power', 'polar', 'cartesian'] = 'mag', width: float = 4, height: float = 4, show=True)
Plots the field component for a given mode at a given wavelength
- Parameters:
field (Literal['Ex','Ey','Ez','Hx','Hy','Hz']) – Field component to plot. Defaults to Hx.
lam (float, optional) – Wavelength in um. Defaults to 1.55.
mode (int, optional) – Mode Number. Defaults to 0.
plot_type (Literal['real','imag','mag','phase','power','polar','cartesian'], optional) – Plot type. Defaults to ‘mag’.
width (float, optional) – Width of the plot. Defaults to 4.
height (float, optional) – Height of the plot. Defaults to 4.
- PlotPermittivity(profile: Literal['EPS_X', 'EPS_Y', 'EPS_Z'] = 'EPS_X', lam: float = 1.55, plot_type: Literal['real', 'imag', 'mag', 'phase', 'power', 'polar', 'cartesian'] = 'real', width: float = 4, height: float = 4, show=True)
Plots permittivity distribution for x, y or z at a given cross section
- Parameters:
profile (Literal['EPS_X','EPS_Y','EPS_Z'], optional) – Profile to plot. Defaults to ‘EPS_X’.
lam (float, optional) – Cut position. Defaults to 1.55 um. The value will be rounded to the closest position
plot_type (Literal['real','imag','mag','phase','power','polar','cartesian'], optional) – Plot type. Defaults to ‘real’.
width (float, optional) – Width of the plot. Defaults to 4.
height (float, optional) – Height of the plot. Defaults to 4.
- Raises:
ValueError – If cut type is not x,y or z
- property fields: NXdata
The modal fields.
The data is ecapsulated using an NXdata object.
- Return type:
- property material_grid: NXdata
The permittivity grid in the cross section.
Its data is ecapsulated using an NXdata object.
- Return type: