xq_poa_x module

Extracts PoA parameters for a given quantity.

  • quantity_a -> area related quantitiy

  • quantity_x -> x related quantity (see docstring below)

  • quantity_corner -> corner related quantity

Author: Markus Müller | Markus.Mueller3@tu-dresden.de Author: Mario Krattenmacher | Mario.Krattenmacher@semimod.de

class DMT.extraction.xq_poa_x.XQPoX(pfunc, ptex, *args, afunc=None, atex=None, **kwargs)[source]

Bases: XQPoaBilinearFull

XQPoX is a subclass of XQPoaBilinearFull and implements the separation of any quantity vs. an area and another area/peri quantity X, e.g. A_BCx.

XPoa can perform a separation of the emitter window area vs. any quantity X that can be written as a function of (dut.length, dut.width).
(1) quantity(op) = quantity_a(op) * area + quantity_x * X + quantity_corner
at different operating points, depending on the parameter that are passed to this object.
Parameters:
same as XQPoaBilinearFull, but:
pfunccallable()(dut.length, dut.width, mcard)

A callable function that returns some quantity P as a function of (dut.length, dut.width).

ptexstr

String that will be used for plotting the quantity P returned by pfunc.

afunccallable()(dut.length, dut.width, mcard)

A callable function that returns some quantity A as a function of (dut.length, dut.width).

atexstr

String that will be used for plotting the quantity A returned by pfunc.

fit(line, paras_model)[source]

Set the y-values, using one quantity_a for each line and one quantity_p for all lines.

classmethod get_area(length=None, width=None, **kwargs)[source]
get_cols_poa_full()[source]
get_description()[source]

Return a tex description of this XStep. Used for generating the documentation. If not implemented, there is no description for this XStep in the documentation.

classmethod get_effective_area(length, width, dlE, dbE, gamma_l=None, gamma_b=None, gamma_c=None, **kwargs)[source]
classmethod get_effective_perimeter(length=None, width=None, dlE=None, dbE=None, gamma_l=None, gamma_b=None, xfunc=None, **kwargs)[source]
classmethod get_perimeter(length=None, width=None, **kwargs)[source]
get_plot_along_area(op=None, num=None)[source]

Return an array of the quantity along length or width, at width or length with an delta at an operating point and a fit line

get_tex()[source]

Return a tex Representation of the Model that is beeing fitted. This can then be displayed in the UI.

init_data_reference()[source]

Same as XQPoaBilinearFull, but we add the XFuncs value, too.

main_plot(mcard=None)[source]

Overwrite main plot.

plot_quantity_AEdrawn_a_low()[source]
plot_quantity_AEdrawn_b_mid()[source]
plot_quantity_AEdrawn_c_high()[source]
plot_quantity_bE_a_low()[source]
plot_quantity_bE_b_mid()[source]
plot_quantity_bE_c_high()[source]
plot_quantity_density_separated()[source]
plot_quantity_lE_a_low()[source]
plot_quantity_lE_b_mid()[source]
plot_quantity_lE_c_high()[source]
plot_quantity_separated()[source]

Plot quantity as a function of operating point meas vs fit for multiple geometries for all analyzed duts

quantity_poa(l_E0, b_E0, x, area, *, quantity_per_area=None, quantity_per_x=None, **_kwargs)[source]

full bilinear scaling equation of a quantity

Parameters:
l_E0, b_E0float !==DRAWN TODO:RENAME!!!!!!!!!!!!!!!!!
dlE, dbEfloat
quantity_per_area, quantity_per_width, quantity_per_length, quantity_cornerfloat
Returns:
quantity_poanp.ndarray
scaling_plot(mcard=None)[source]

Plots Q/A vs P/A with actual lengths and widths

set_initial_guess_line(composition, line)[source]

For this simple linear extraction the starting guess need not be very clever. Just assume that quantity_p=0.

staticMetaObject = PySide6.QtCore.QMetaObject("XQPoX" inherits "XQPoaBilinearFull": )[source]
write_back_results()[source]

Write back the results obtained by this QStep into dut_ref.