kqcircuits.simulations.cross_section_simulation
- class kqcircuits.simulations.cross_section_simulation.CrossSectionSimulation(layout, **kwargs)[source]
Bases:
object
Class for co-planar waveguide cross-section simulations.
This class is intended to be subclassed by a specific simulation implementation; The subclass should implement the method ‘build’ which defines the simulation geometry and material properties.
Layer names in cross-section geometry don’t need to obey KQC default layers. The layers use following name coding: - Layer name ‘vacuum’ is reserved for vacuum material. The vacuum layer can be left empty; then the empty space inside the ‘box’ is automatically filled with vacuum. - All layers that include word ‘signal’ are considered as signal metals. Different signal layers are considered as separate signals so that the result matrices has row and column for each signal layer. The order of signals is the same as where they are introduced by calling ‘get_sim_layer’ function. - All layers that include word ‘ground’ are considered as ground metal. - Any other layer is considered as dielectric. The permittivity can be set using the ‘set_permittivity’ function.
Initialize a CrossSectionSimulation.
The initializer parses parameters, creates a top cell, and then calls self.build to create the simulation geometry.
- Parameters:
layout – the layout on which to create the simulation
- Keyword Arguments:
**kwargs – Any parameter can be passed as a keyword argument.
- LIBRARY_NAME = None
- classmethod get_schema(noparents=False, abstract_class=None)
Returns the combined parameters of the class “cls” and all its ancestor classes.
- Parameters:
noparents – If True then only return the parameters of “cls”, not including ancestors.
abstract_class – Return parameters up to this abstract class if specified.
- abstract build()[source]
Build simulation geometry.
This method is to be overridden, and the overriding method should create the geometry to be simulated.
- register_cell_layers_as_sim_layers()[source]
Takes all layers that contain any geometry and registers them as simulation layers
This method resets the internal simulation layer dictionary.
- get_sim_layer(layer_name)[source]
Returns layer of given name. If layer doesn’t exist, a new layer is created.
london_penetration_depth (List) - London penetration depth is implemented for one signal simulation only, default=
0.0
, unit=m
xsection_source_class (None) - Class from which the simulation was generated using the XSection tool. Used to get the schema., default=
None
ignore_process_layers (Boolean) - Ignores automatic function call of process_layers, default=
False
box (Shape) - Boundary box, default=
(0,0;10000,10000)
name (String) - Name of the simulation, default=
Simulation
extra_json_data (None) - This field may be used to store ‘virtual’ parameters useful for your simulations, default=
None