somersalo module
Produce the Somersalo plots.
Numerical implementation of the work from Somersalo et al. [SYOPS98].
- somersalo_base_plot(xlim=(0.0, 3.5), ylim_one_point=(7.4, 9.2), ylim_two_point=(9.1, 11.0), **fig_kw)[source]
Create base figure and axes for Somersalo.
- Parameters:
xlim (
tuple[float,float], default:(0.0, 3.5)) – Limits for the x axis. The default matches the figure from Somersalo’s paper.ylim_one_point (
tuple[float,float], default:(7.4, 9.2)) – Limits for the one-point (left) y axis. The default matches the figure from Somersalo’s paper.ylim_two_point (
tuple[float,float], default:(9.1, 11.0)) – Limits for the two-point (right) y axis. The default matches the figure from Somersalo’s paper.fig_kw – Other keyword arguments passed to the Figure constructor.
- Return type:
- Returns:
Figure, left and right Axis.
- webdplotdigitizerpoints_to_data(log_power, x_0, x_1, y_0, y_1)[source]
Fit the webplot points and compute Somersalo curve.
- _one_point_analytical(log_power, order)[source]
Compute one-point multipactor bands of order
order.Note
For now, use data manually extracted from Somersalo’s fig.
- _two_point_analytical(log_power, order)[source]
Compute two-point multipactor bands of order
order.Note
For now, use data manually extracted from Somersalo’s fig.
- plot_somersalo_analytical(points, log_power, orders, ax, **plot_kw)[source]
Compute and plot single Somersalo plot, several orders.
- _somersalo_coordinates(powers_kw, d_mm, freq_ghz, z_ohm, mp_test_name)[source]
Convert measured data to coordinates for Somersalo plot.
- plot_somersalo_measured(mp_test_name, susceptibility_df, ax1, ax2, **plot_kw)[source]
Plot the data on Somersalo plot.
- somersalo_scaling_law(reflected, p_tw)[source]
Compute \(P_{MW} = f(P_{TW}, R)\).
Somersalo et al. [SYOPS98] link the mixed wave (\(MW\)) forward power with the traveling wave (\(TW\)) forward power through reflection coefficient \(R\).
\[P_\mathrm{MW} \sim \frac{1}{(1 + R)^2}P_\mathrm{TW}\]
- fit_somersalo_scaling(df_low, full_output, plot, axes=None, ls='--', p_col='lower', freq_mhz=None, **fit_plot_kw)[source]
Fit the Somersalo scaling law over measurements.
- Parameters:
df_low (
DataFrame) – DataFrame holding reflection coefficient and forward power. We take the proper columns by looking for'ReflectionCoefficient'and'ForwardPower'column names.full_output (
bool) – To ask for more detailed information on the fit process.plot (
bool) – To plot the fitted scaling law or not.axes (
Axes|None, default:None) – Axes on which scaling law will be drawn. If not provided, a new Axe will be created.ls (
str, default:'--') – Linestyle for the fit line.p_col (
str, default:'lower') – Subset of the column name holding lower threshold.freq_mhz (
str|None, default:None) – Label added to the legend. This string already has an unit.
- Return type:
- Returns:
Holds the fitted Somersalo scaling law.