Returns list of two terms when ‘dims’ is given as a scalar or list.

class kqcircuits.simulations.partition_region.PartitionRegion(name='part', region=None, z=None, face=None, vertical_dimensions=None, metal_edge_dimensions=None)[source]

Bases: object

Class to enable partitioning of simulation geometry into sub-regions

  • name – Suffix of the partition layers. Must not end with a number.

  • region – Area to which the partition region is limited. Can be given as pya.DBox, pya.DPolygon, or list of pya.DPolygons. Use None to cover full domain.

  • z – Lower and upper bound for the partition region as scalar or list. Use None to cover full height.

  • face – The face name to which the partition region is applied. If this is used, the vertical_dimensions and metal_edge_dimensions are applied.

  • vertical_dimensions – Vertical dimensions of the partition region on face as scalar or list. The terms in the list correspond to expansion dimensions into directions of substrate and vacuum, respectively. Scalar means the substrate and vacuum expansions are equal. This is applied only if face is given.

  • metal_edge_dimensions – Lateral dimensions to limit the partition region next to the metal edges. If given as list, the terms correspond to expansions into directions of gap and metal, respectively. If given as scalar, the gap and metal expansions are equal. Use None to disable the metal edge limitation. This is applied only if face is given.

limit_box(bottom, top, box, dbu)[source]

Limits the region and z-levels into simulation dimensions.

  • bottom – bottom of the simulation domain.

  • top – top of the simulation domain.

  • box – lateral dimensions of simulation domain as pya.DBox.

  • dbu – layout database unit

limit_face(z, sign, metal_region, etch_region, dbu)[source]

Limits the region and z-levels on face. Function limit_box should be called once before this.

  • z – z-level of the face

  • sign – 1 if substrate is below vacuum, -1 otherwise

  • metal_region – metallization area as pya.Region

  • etch_region – area where metal is etched away as pya.Region

  • dbu – layout database unit