The modes module¶
Functions related to modes.
-
class
netsalt.modes.WorkerModes(estimated_modes, graph, D0s=None, search_radii=None, seed=42)[source]¶ Worker to find modes.
-
netsalt.modes.compute_IPRs(graph, modes_df, df_entry='passive')[source]¶ Compute IPR of all modes on the graph.
-
netsalt.modes.compute_gamma_q_values(graph, modes_df, df_entry='passive')[source]¶ Compute gamma * Q factor for all modes on the graph.
-
netsalt.modes.compute_modal_intensities(modes_df, max_pump_intensity, mode_competition_matrix)[source]¶ Compute the modal intensities of the modes up to D0, with D0_steps.
-
netsalt.modes.compute_mode_IPR(graph, modes_df, index, df_entry='passive')[source]¶ Compute the IPR of a mode
-
netsalt.modes.compute_mode_competition_matrix(graph, modes_df, with_gamma=True)[source]¶ Compute the mode competition matrix, or T matrix.
-
netsalt.modes.compute_overlapping_factor(passive_mode, graph)[source]¶ Compute the overlapping factor of a mode with the pump.
-
netsalt.modes.compute_overlapping_single_edges(passive_mode, graph)[source]¶ Compute the overlappin factor of a mode with the pump.
-
netsalt.modes.compute_z_matrix(graph)[source]¶ Construct the matrix Z used for computing the pump overlapping factor.
-
netsalt.modes.find_threshold_lasing_modes(modes_df, graph)[source]¶ Find the threshold lasing modes and associated lasing thresholds.
-
netsalt.modes.flux_on_edges(mode, graph)[source]¶ Compute the flux on each edge (in both directions).
-
netsalt.modes.gamma_q_value(graph, modes_df, index, df_entry='passive')[source]¶ Compute gamma * Q factor for a given mode.
-
netsalt.modes.lasing_threshold_linear(mode, graph, D0)[source]¶ Find the linear approximation of the new wavenumber.
-
netsalt.modes.mean_mode_E4_on_edges(mode, graph)[source]¶ Compute the average \(|E|^4\) on each edge.
-
netsalt.modes.mode_on_nodes(mode, graph)[source]¶ Compute the mode solution on the nodes of the graph.
-
netsalt.modes.pump_linear(mode_0, graph, D0_0, D0_1)[source]¶ Find the linear approximation of the new wavenumber.