LOManalysis#
- class LOManalysis(design: QDesign | None = None, renderer_name: str | None = None)[source]#
Performs Lumped Oscillator Model analysis on a simulated or user-provided capacitance matrix.
- Default Setup:
- junctions (Dict)
Lj (float): Junction inductance (in nH)
Cj (float): Junction capacitance (in fF)
freq_readout (float): Coupling readout frequency (in GHz).
- freq_bus (Union[list, float]): Coupling bus frequencies (in GHz).
freq_bus can be a list with the order they appear in the capMatrix.
- Data Labels:
lumped_oscillator (pd.DataFrame): Lumped oscillator result at the last simulation pass
- lumped_oscillator_all (dict): of pd.DataFrame. Lumped oscillator resulting
at every pass of the simulation
Initialize the Lumped Oscillator Model analysis.
- Parameters:
design (QDesign) – Pointer to the main qiskit-metal design. Used to access the QRenderer. Defaults to None.
renderer_name (str, optional) – Which renderer to use. Valid entries: ‘q3d’. Defaults to None.
Attributes
- data_labels = ['lumped_oscillator', 'lumped_oscillator_all']#
Default data labels.
- default_setup = {'freq_bus': [6.0, 6.2], 'freq_readout': 7.0, 'junctions': {'Cj': 2, 'Lj': 12}}#
Default setup.
- logger#
Returns the logger.
- lumped_oscillator#
Getter
- Returns:
Lumped oscillator result at the last simulation pass.
- Return type:
dict
- lumped_oscillator_all#
Getter
- Returns:
- each line corresponds to a simulation pass number
and the remainder of the data is the respective lump oscillator information.
- Return type:
pd.DataFrame
- setup#
Dictionary intended to be used to modify the analysis behavior.
- Returns:
Current setup.
- Return type:
Dict
- Type:
Getter
- supported_data#
Set that contains the names of the variables supported from the analysis.
- Returns:
list of supported variable names.
- Return type:
set
- Type:
Getter
Methods
- clear_data(data_name: str | list | None = None)#
Clear data. Can optionally specify one or more labels to delete those labels and data.
- Parameters:
data_name (Union[str, list], optional) – Can list specific labels to clean. Defaults to None.
- get_data(data_name: str | None = None)#
Retrieves the analysis module data. Returns None if nothing is found.
- Parameters:
data_name (str, optional) – Label to query for data. If not specified, the entire dictionary is returned. Defaults to None.
- Returns:
The data associated with the label, or the entire list of labels and data.
- Return type:
Any
- get_data_labels() list #
Retrieves the list of data labels currently set. Returns None if nothing is found.
- Returns:
list of data names
- Return type:
list
- load_simulation_data(data_name: str, data)[source]#
Load simulation data for the following analysis. This will override any data found
- Parameters:
data_name (str) – name of the variable
data (Any) – simulation output
- plot_convergence(*args, **kwargs)[source]#
Plots alpha and frequency versus pass number, as well as convergence of delta (in %).
It accepts the same inputs as run_lom(), to allow regenerating the LOM results before plotting them.
- plot_convergence_chi(*args, **kwargs)[source]#
Plot convergence of chi and g, both in MHz, as a function of pass number.
It accepts the same inputs as run_lom(), to allow regenerating the LOM results before plotting them.
- print_run_args()#
Prints the args and kwargs that were used in the last run() of this Analysis instance.
- run(*args, **kwargs)[source]#
Executes sequentially the system capacitance simulation (if a renderer was provided at creation of this object) and lom extraction by executing the methods LumpedElementsSim.run_sim(*args, **kwargs) and LOManalysis.run_lom(). For input parameter, see documentation for LumpedElementsSim.run_sim().
- Returns:
Pass numbers (keys) and respective lump oscillator information (values).
- Return type:
(dict)
- run_lom()[source]#
Executes the lumped oscillator extraction from the capacitance matrix, and based on the setup values.
- Returns:
Pass numbers (keys) and their respective capacitance matrices (values).
- Return type:
dict
- run_sweep(*args, **kwargs)#
User requests sweeper based on arguments from Sweeper.run_sweep().
- save_run_args(**kwargs)#
Intended to be used to store the kwargs passed to the run() method, for repeatability and for later identification of the QAnalysis instance.
- set_data(data_name: str, data: Any)#
Stores data in a structure for later retrieval. Could be output, intermediate or even input data. Current implementation uses Dict()
- Parameters:
data_name (str) – Label for the data. Used a storage key.
data (Any) – Free format
- setup_update(section: str | None = None, **kwargs)#
Intended to modify multiple setup settings at once, while retaining previous settings. If you intend to change a single setting, the better way is: setup.setting1 = value.
- Parameters:
section (str) – Setup section that contains the setup keys to update.