Use the bar below to search through all publically available RAIMAD components. You can filter by package name and/or tag.
Please note, RAIMAD packages, just like all python packages, can run arbitrary code on your computer.
A rectangle defined by length and width.
| Option | Type | Description | Default | 
|---|---|---|---|
| length | <class 'float'> | Length of rectangle | <Empty> | 
| width | <class 'float'> | Width of rectangle | <Empty> | 
A rectangle defined by two points and a thickness.
| Option | Type | Description | Default | 
|---|---|---|---|
| p1 | rai.typing.Point | First point | <Empty> | 
| p2 | rai.typing.Point | Second point | <Empty> | 
| width | <class 'float'> | Thickness | <Empty> | 
A polygon that approximates a circle.
| Option | Type | Description | Default | 
|---|---|---|---|
| radius | <class 'float'> | Circle radius | <Empty> | 
| num_points | <class 'int'> | Number of points | 200 | 
Annular Sector. A polygon approximating an annular sector, or, in working men's terms, a "pizza crust". An ansec is defined by two radii and two angles: the inner radius r1, the outter radius r2, the starting angle theta1 and the end angle theta2. Helper functions are available to construct ansecs from different measurements.
| Option | Type | Description | Default | 
|---|---|---|---|
| r1 | <class 'float'> | Inner radius | <Empty> | 
| r2 | <class 'float'> | Outter radius | <Empty> | 
| theta1 | <class 'float'> | Angle 1 | <Empty> | 
| theta2 | <class 'float'> | Angle 2 | <Empty> | 
A polygon that you can defined on-the fly. #TODO add example
| Option | Type | Description | Default | 
|---|---|---|---|
| points | typing.Sequence[tuple[float, float] | tuple[str, tuple[float, float]]] | A list of points for the polygon | <Empty> | 
A sample component.
| Option | Type | Description | Default | 
|---|---|---|---|
| nose_length | <class 'float'> | Length of nose | 10 | 
| eye_size | <class 'float'> | Eye radius | 2 | 
Frowney A sad example component
| Option | Type | Description | Default | 
|---|---|---|---|
| happiness | <class 'float'> | Happiness, from -10 to 10 | -8 | 
| eye_size | <class 'float'> | Eye radius | 5 | 
A smiley face component
| Option | Type | Description | Default | 
|---|---|---|---|
| happiness | <class 'float'> | Happiness, from -10 to 10 | 8 | 
| eye_size | <class 'float'> | Eye radius | 5 | 
Test Pattern This is another example component inspired by Leon's work with test patterns for ebeam.
| Option | Type | Description | Default | 
|---|---|---|---|
| num_rects | <class 'int'> | Number of rectangles on each side | 20 | 
| rect_width | <class 'float'> | Width of each rectangle on left side | 10 | 
| rect_length | <class 'float'> | Length of each of rectangle on left side | 25 | 
| gap_width | <class 'float'> | Width of gap between each rectangle on left side | 10 | 
| abberation | <class 'float'> | Scale of right side compared to left (a value of 1 = same size) | 1.5 | 
Test Patterns Test component consisting of multiple test patterns in differnet positions.
| Option | Type | Description | Default | 
|---|
None
| Option | Type | Description | Default | 
|---|---|---|---|
| length | <class 'float'> | length of segment | <Empty> | 
| signal_width | <class 'float'> | width of signal line | <Empty> | 
| gap_width | <class 'float'> | width of gaps between signal line and gnd lines | <Empty> | 
| gnd_width | <class 'float'> | width of gnd lines | <Empty> | 
| resist_margin | <class 'float'> | shrink width of resist on either side of segment by this much | <Empty> | 
None
| Option | Type | Description | Default | 
|---|---|---|---|
| signal_width | <class 'float'> | width of signal line | <Empty> | 
| gap_width | <class 'float'> | width of gaps between signal line and gnd lines | <Empty> | 
| gnd_width | <class 'float'> | width of gnd lines | <Empty> | 
| resist_margin | <class 'float'> | shrink width of resist on either side of segment by this much | <Empty> | 
| bend_radius | <class 'float'> | Radius from bend center to middle of signal line | <Empty> | 
| dtheta | <class 'float'> | Arc length of bend (radians) | <Empty> | 
Tapered CPW (positive image). Adapted from cpw:CPWSegment |----- l ------| __ _ __-- | | __-- | | gr1 _ __-- __| |_ gl1 | | ___--- | wr1 _| |___--- ____ |_ wl1 _| _____----- | | sl | | | | _| |_____ | | sr wl2 _| ___ -----____| |_ sl2 | | ---___ | wr2 _| |__ ---__ |_ --__ | | --__ | | gr2 --__| |_
| Option | Type | Description | Default | 
|---|---|---|---|
| l | <class 'float'> | length of segment | 50 | 
| sl | <class 'float'> | width of signal line on the left | 10 | 
| sr | <class 'float'> | width of signal line on the right | 12 | 
| wl1 | <class 'float'> | width of top gap on the left | 10 | 
| wr1 | <class 'float'> | width of top gap on the right | 12 | 
| gl1 | <class 'float'> | width of top ground line on the left | 10 | 
| gr1 | <class 'float'> | width of top ground line on the right | 12 | 
| wl2 | float | None | width of bottom gap on the left (None to use wl1) | None | 
| wr2 | float | None | width of bottom gap on the right (None to use wr1) | None | 
| gl2 | float | None | width of bottom ground line on the left (None to use gl1) | None | 
| gr2 | float | None | width of bottom ground line on the right (None to use gr1) | None | 
None
| Option | Type | Description | Default | 
|---|---|---|---|
| length | <class 'float'> | length of segment | <Empty> | 
| signal_width | <class 'float'> | width of signal line | <Empty> | 
| gap_width | <class 'float'> | width of gaps between signal line and gnd lines | <Empty> | 
None
| Option | Type | Description | Default | 
|---|---|---|---|
| signal_width | <class 'float'> | width of signal line | <Empty> | 
| gap_width | <class 'float'> | width of gaps between signal line and gnd lines | <Empty> | 
| bend_radius | <class 'float'> | Radius from bend center to middle of signal line | <Empty> | 
| dtheta | <class 'float'> | Arc length of bend (radians) | <Empty> | 
Generate 2D polygons of symbols. Contains Letters: A-Z (small letters are capitalized) Numbers: 0-9 And a selection op special symbols Inspired by the KLayout font
| Option | Type | Description | Default | 
|---|---|---|---|
| string | <class 'str'> | Text displayed by the function | RAIText | 
| scale | <class 'float'> | Size scaling of the text | 1 | 
Merges all elements in a rai.Compo layer into a new compo (fuses overlapping elements together) compo: rai.Compo layer: str
| Option | Type | Description | Default | 
|---|---|---|---|
| compo | <class 'raimad.compo.Compo'> | the subject compo | <Circle at [0;31m╵ [0;31m╚ [0;36m╦ [0;36m┴ [0;32m∞ [0;31m╭ [0;31m▚ [0m > | 
| layer | <class 'str'> | Specifies the layer of the subject compo | root | 
Layer_Merge: creates a single layer rai.Compo of the union between compo layers A and B (A OR B) compo_1: rai.Compo compo_2: rai.Compo layer_1: str layer_2: str
| Option | Type | Description | Default | 
|---|---|---|---|
| compo_1 | <class 'raimad.compo.Compo'> | Specifies the first compo | <Manual Proxy at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m╵ [0;36m═ [0m with <Identity Transform> of RectLW at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m╦ [0;36m╩ [0m > | 
| compo_2 | <class 'raimad.compo.Compo'> | Specifies the second compo | <Manual Proxy at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m┴ [0;36m╔ [0m with <Transform Move (+1.00, +1.00) > of RectLW at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m╷ [0;36m╝ [0m > | 
| layer_1 | <class 'str'> | Specifies the layer of the first compo | root | 
| layer_2 | <class 'str'> | Specifies the layer of the second compo | root | 
Layer_Difference: creates a single layer rai.Compo of the difference between compo layers A and B (A NOT B) Creates a component reflecting the difference of layers A an B (A and not B) compo_1: rai.Compo compo_2: rai.Compo layer_1: str layer_2: str
| Option | Type | Description | Default | 
|---|---|---|---|
| compo_1 | <class 'raimad.compo.Compo'> | Specifies the first compo | <Manual Proxy at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34mo [0;31m/ [0m with <Identity Transform> of RectLW at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m∞ [0;31m\ [0m > | 
| compo_2 | <class 'raimad.compo.Compo'> | Specifies the second compo | <Manual Proxy at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m: [0;31m┬ [0m with <Transform Move (+1.00, +1.00) > of RectLW at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m8 [0;31m╰ [0m > | 
| layer_1 | <class 'str'> | Specifies the layer of the first compo | root | 
| layer_2 | <class 'str'> | Specifies the layer of the second compo | root | 
Layer_Intersection: creates a single layer rai.Compo of the intersection between compo layers A and B (A AND B) compo_1: rai.Compo compo_2: rai.Compo layer_1: str layer_2: str
| Option | Type | Description | Default | 
|---|---|---|---|
| compo_1 | <class 'raimad.compo.Compo'> | Specifies the first compo | <Manual Proxy at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m▼ [0;35m◀ [0m with <Identity Transform> of RectLW at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m▲ [0;35m▶ [0m > | 
| compo_2 | <class 'raimad.compo.Compo'> | Specifies the second compo | <Manual Proxy at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34mx [0;35m● [0m with <Transform Move (+1.00, +1.00) > of RectLW at [0;31m╵ [0;31m╚ [0;36m╦ [0;35m: [0;36m╚ [0;34m▚ [0;35m■ [0m > | 
| layer_1 | <class 'str'> | Specifies the layer of the first compo | root | 
| layer_2 | <class 'str'> | Specifies the layer of the second compo | root | 
A rudimentary ruler shape
| Option | Type | Description | Default | 
|---|---|---|---|
| width | <class 'float'> | width of the standard bars | 10 | 
| length | <class 'float'> | length of the standard bar | 50 | 
| gap | <class 'float'> | size of the gap between two bars | 10 | 
| number_of_bars | <class 'int'> | total number of bars, needs to be odd (due to center bar) | 11 | 
| zero_bar_ratio | <class 'float'> | ratio of the length of the center bar (zero-bar) and standard bar | 1.4 | 
| indicator_bar_ratio | <class 'float'> | ratio of the length of the indicator bars and standard bar | 1.2 | 
| indicator_number | <class 'int'> | occurrance of the indicator bar, every Nth bar is an indicator bar | 5 | 
A marker measure misaligment between two layers along one axis Requires: RAIText
| Option | Type | Description | Default | 
|---|---|---|---|
| pitch | <class 'float'> | the distance between the heart of two bars in the first ruler | 0.4 | 
| delta_pitch | <class 'float'> | the pitch difference between the two rulers | 0.005 | 
| bar_length | <class 'float'> | length of the bar | 1.2 | 
| number_of_bars | <class 'int'> | total number of bars in one ruler, needs to be odd due to center bar | 41 | 
| layer_list | <class 'list'> | list of layer names used for label | ['Vernier_1', 'Vernier_2'] | 
| labels | <class 'bool'> | states whether to make labels or not | True | 
Standard marker used to quantify e-beam misalignments. Vernier for two orthogonal axis
| Option | Type | Description | Default | 
|---|---|---|---|
| layer_list | <class 'list'> | contains the layer names of the two sides of the vernier pattern | ['layer1', 'layer2'] | 
Standard marker used during optical alignment using mask alligner. The patern has a standard shape
| Option | Type | Description | Default | 
|---|---|---|---|
| layer_list | <class 'list'> | List of the layer names of the two layers | ['layer1', 'layer2'] | 
| label | <class 'str'> | label on top right of marker | 1 | 
A generator that builds components representing Logos. These are added manually. Current list TIFUUN, TIFUUN_icon, DESHIMA, DESHIMA_icon, SRON_old, TU_Delft, SRON
| Option | Type | Description | Default | 
|---|---|---|---|
| Logo | <class 'str'> | Name or identifier of the logo | TIFUUN | 
Sample component to play around with the TL class
| Option | Type | Description | Default | 
|---|
None
| Option | Type | Description | Default | 
|---|
Two halves of the MSL structure joined together with a signal line
| Option | Type | Description | Default | 
|---|
via-less MSL test chip draft.
| Option | Type | Description | Default | 
|---|
This class provides a wafer as a base. The wafer is centred around 0,0. One can provide the length of each flat as well as its corresponding angles (w.r.t. the bottom) as a list The standard diameter is 100 mm (1e5 um) The standard flat is 32.5 mm at the bottom
| Option | Type | Description | Default | 
|---|---|---|---|
| diameter | <class 'float'> | specifies the diameter of the | 10000.0 | 
| flats | <class 'list'> | specifies the length of the flats | [3250.0] | 
| flat_angle | <class 'list'> | degrees, specifies the angle of the normal of the flat. | [0] | 
Inverts one layer of a compo enclosed within another compo. Use the rev_inner variable to change the walking order around the inner compo. (If it "fills" the inner compo)
| Option | Type | Description | Default | 
|---|---|---|---|
| outer_compo | <class 'raimad.compo.Compo'> | outer Compo that that encloses the inner compos | <Manual Proxy at [0;31m╵ [0;31m╚ [0;36m╦ [0;32m╯ [0;35m═ [0;35m╷ [0;35m┬ [0m with <Identity Transform> of RectLW at [0;31m╵ [0;31m╚ [0;36m╦ [0;32m╯ [0;35m═ [0;35m╵ [0;35m╰ [0m > | 
| inner_compos | <class 'raimad.compo.Compo'> | inner Compo to in enclosed by the outer compo | <Manual Proxy at [0;31m╵ [0;31m╚ [0;36m╦ [0;32m╯ [0;35m═ [0;35m╰ [0;31m▚ [0m with <Identity Transform> of Circle at [0;31m╵ [0;31m╚ [0;36m╦ [0;32m╯ [0;35m═ [0;35m┴ [0;35m┴ [0m > | 
| outer_layer | <class 'str'> | specified layer-name of the outer compo | root | 
| inner_layer | <class 'str'> | specified layer-name of the inner compo | root | 
| rev_inner | <class 'bool'> | reverses the order in which the inner compo contour is followed (clockwise or anti-clockwise) | False | 
Inverts one layer of a compo enclosed within another compo. Use the reverse variable to change the walking order around the inner compo. (If it "fills" the inner compo) Note: the reverse option reverses the order of the inner path; in case there are multiple objects in the inner compo, all elements are treated the same.
| Option | Type | Description | Default | 
|---|---|---|---|
| outer_compo | <Empty> | outer Compo that that encloses the inner compos | <Empty> | 
| inner_compos | <Empty> | inner Compo to in enclosed by the outer compo | <Empty> | 
| outer_layer | <class 'str'> | specified layer-name of the outer compo | root | 
| inner_layer | <class 'str'> | specified layer-name of the inner compo | root | 
| reverse | <class 'bool'> | reverses the order in which the inner compo contour is followed (clockwise or anti-clockwise) | False | 
A rudimentary ruler shape
| Option | Type | Description | Default | 
|---|---|---|---|
| meander_width | <class 'float'> | height of the inductor stucture | 10 | 
Parralel Place Capacitor KID used for measurement of dielectric materials
| Option | Type | Description | Default | 
|---|---|---|---|
| meander_width | <class 'float'> | height of the inductor stucture | 50 | 
| coupler_distance | <class 'float'> | Distance between top op coupler and GND close to readoutline | 15 | 
DC chip structure used to probe the resistance of a 'wide' line with relatively large length. Allows for an inverted "pads" layer by changing the 'inverse_pads' variable.
| Option | Type | Description | Default | 
|---|---|---|---|
| total_width | <class 'float'> | total width of the DC structure | 400 | 
| bridge_length | <class 'float'> | length of the freestanding bridge arm of the DC structure | 200 | 
| bridge_width | <class 'float'> | width of the bridge line | 10 | 
| inverse_pads | <class 'bool'> | States whether to invert the layer containing the pads (changing polarity) | False | 
| bridge_layer | <class 'str'> | Uses the given string to use in the DC structure label | bridge | 
DC chip structure used to probe the resistance of a 'narrow' line with relatively small length on top of a slab of non-conductive material." Allows for an inverted "pads" layer by changing the 'inverse_pads' variable.
| Option | Type | Description | Default | 
|---|---|---|---|
| inverse_pads | <class 'bool'> | States whether to invert the layer containing the pads (changing polarity) | False | 
| bridge_layer | <class 'str'> | Uses the given string to use in the DC structure label | bridge | 
| bridge_length | <class 'float'> | length of the freestanding bridge line | 8 | 
| bridge_width | <class 'float'> | width of the bridge line | 0.1 | 
| total_width | <class 'float'> | total width of one side of the DC structure | 400 | 
| step_length | <class 'float'> | the length of the steps connecting the pads with the central bridge | 8.5 | 
| step_width | <class 'float'> | the width of the steps connecting the pads with the central bridge | 1 | 
| slab | <class 'bool'> | states whether to generate a slab underneath the bridge of an intermediate layer | True | 
| slab_length | <class 'float'> | states the length of the slab | 20 | 
| slab_width | <class 'float'> | states the width of the slab | 13 | 
| margin | <class 'float'> | states how far the steps are positioned w.r.t. each other. A larger margin is a larger spacing | 0.75 | 
DC chip structure used to probe the resistance of a 'narrow' line with relatively small length. Allows for an inverted "pads" layer by changing the 'inverse_pads' variable.
| Option | Type | Description | Default | 
|---|---|---|---|
| inverse_pads | <class 'bool'> | States whether to invert the layer containing the pads (changing polarity) | False | 
| bridge_layer | <class 'str'> | Uses the given string to use in the DC structure label | bridge | 
| bridge_length | <class 'float'> | length of the freestanding bridge line | 8 | 
| bridge_width | <class 'float'> | width of the bridge line | 0.1 | 
| total_width | <class 'float'> | total width of one side of the DC structure | 400 | 
| step_length | <class 'float'> | the length of the steps connecting the pads with the central bridge | 8.5 | 
| step_width | <class 'float'> | the width of the steps connecting the pads with the central bridge | 1 | 
| margin | <class 'float'> | states how far the steps are positioned w.r.t. each other. A larger margin is a larger spacing | 0.75 | 
Standard bondpad object, used as a point to wire bond a chip to the chip holder. Customizable dimensions of the bondpad. Allows for a bonding material layer on top of the bondpad. Can be used for both CPW ("trench" mode) and microstrip bondpad
| Option | Type | Description | Default | 
|---|---|---|---|
| slope_length | <class 'float'> | length of the slope from the pad to the smallest width / to the connecting line | 50 | 
| line_width | <class 'float'> | the width of the connecting line | 2 | 
| pad_trench_width | <class 'float'> | the width of the trench surrounding the pad | 20 | 
| line_trench_width | <class 'float'> | the width of the trench near the smalles point | 1 | 
| pad_size | <class 'float'> | the size of the pad | 40 | 
| mode | <class 'str'> | specifies CPW ('trench') or microstrip mode | trench | 
Alignment tool, used for aligning a mask with the flat of a wafer
| Option | Type | Description | Default | 
|---|---|---|---|
| flat_length | <class 'float'> | total lenght of the wafer flat alligner | 1500 | 
| number_of_knots | <class 'int'> | number of knots (wide rectangular linepiece) along the aligner | 4 | 
Alignment tool, used for aligning a mask with the contour of a wafer using a ruler-shaped object
| Option | Type | Description | Default | 
|---|---|---|---|
| knot_spacing | <class 'float'> | Spacing between the hearts of each knot (line widening) | 50 | 
| back_length | <class 'float'> | Total length of the base of the ruler | 350 | 
| back_height | <class 'float'> | Width of the base of the ruler | 30 |