kqcircuits.simulations.single_element_simulation

kqcircuits.simulations.single_element_simulation.get_single_element_sim_class(element_class: Element, ignore_ports: list[str] | None = None, transformation_from_center: Callable[[Cell], DTrans] | None = None, partition_region_function: Callable[[Simulation], list[PartitionRegion]] | None = None, sim_junction_type: str = 'Sim', deembed_cross_sections: dict[str] | None = None) type[Simulation][source]

Formulates a simulation class containing a single cell of a given Element class

Parameters:
  • element_class – an Element class for which a simulation class is returned

  • ignore_ports – If list of strings is given, simulation ports will not be created for the given refpoints in the simulation class.

  • transformation_from_center – If None, simulated element is placed in the middle of simulation’s box. Otherwise should be a function that takes an element cell as argument and returns a DTrans object. The returned transformation is applied to the element cell after placing it in the middle of simulation’s box. The function should not cause any side-effects, i.e. change the cell parameters

  • partition_region_function – optional. Function that the simulation instance will use to define partition regions, which may look up instances parameters and refpoints to derive the regions.

  • deembed_cross_sections – optional dictionary for cross-section simulation that can be used for deembeding. The naming convention in the dictionary is deembed_cross_sections[port_refpoint]=cross_section_name, where cross_section_name is the name given to the correction cuts. For example, see simulation.epr.smooth_capacitor.py, deembed_cross_sections[‘port_a’]=’port_amer’.

../_images/kqcircuits.simulations.single_element_simulation.png