diff --git a/pylabrobot/resources/eppendorf/plates.py b/pylabrobot/resources/eppendorf/plates.py index a7ae51444e..b8feb05517 100644 --- a/pylabrobot/resources/eppendorf/plates.py +++ b/pylabrobot/resources/eppendorf/plates.py @@ -99,6 +99,35 @@ def Eppendorf_96_wellplate_250ul_Vb(name: str, with_lid: bool = False) -> Plate: ), ) +def Eppendorf_96_wellplate_250ul_Vb_semiskirted(name: str, with_lid: bool = False) -> Plate: + """ + Eppendorf cat. no.: 0030129334 + - part of the twin.tec(R) product line. + """ + return Plate( + name=name, + size_x=123.7, + size_y=82.2, + size_z=29.4, + model="Eppendorf_96_wellplate_250ul_Vb_semiskirted", + plate_type="semiskirted", + ordered_items=create_ordered_items_2d( + Well, + num_items_x=12, + num_items_y=8, + dx=12.4, + dy=9.6, + dz=0.81, + item_dx=9, + item_dy=9, + size_x=5.48, + size_y=5.48, + size_z=19.5, + bottom_type=WellBottomType.V, + material_z_thickness=0.6, + cross_section_type=CrossSectionType.CIRCLE + ) + ) def Eppendorf_96_wellplate_250ul_Vb_L(name: str, with_lid: bool = False) -> Plate: # https://github.com/PyLabRobot/pylabrobot/issues/252 diff --git a/pylabrobot/resources/hamilton/plate_carriers.py b/pylabrobot/resources/hamilton/plate_carriers.py index 7bab43595c..3a72158b81 100644 --- a/pylabrobot/resources/hamilton/plate_carriers.py +++ b/pylabrobot/resources/hamilton/plate_carriers.py @@ -268,6 +268,7 @@ def PLT_CAR_L5PCR(name: str) -> PlateCarrier: ], resource_size_x=127.0, resource_size_y=86.0, + resource_size_z=0, name_prefix=name, ), model="PLT_CAR_L5PCR", diff --git a/pylabrobot/resources/ml_star/plate_carriers.py b/pylabrobot/resources/ml_star/plate_carriers.py index e13dbc022e..f8ece1a288 100644 --- a/pylabrobot/resources/ml_star/plate_carriers.py +++ b/pylabrobot/resources/ml_star/plate_carriers.py @@ -1,3 +1,689 @@ -raise NotImplementedError( - "pylabrobot.resources.ml_star is deprecated. Please use pylabrobot.resources.hamilton instead." +from pylabrobot.resources.carrier import ( + Coordinate, + PlateCarrier, + PlateHolder, + create_homogeneous_resources, ) + + +def PLT_CAR_L4_HHS_ALT_A00(name: str) -> PlateCarrier: + """Carrier with 4 Hamilton Heater Shakers 3.0mm with AutoLys adapters""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=83.7, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(14.25, 14.75, 83.0), + Coordinate(14.25, 134.75, 83.0), + Coordinate(14.25, 254.75, 83.0), + Coordinate(14.25, 374.75, 83.0), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4_HHS-ALT_A00", + ) + + +def PLT_CAR_L5_ALT_A00(name: str) -> PlateCarrier: + """Deep well carrier with five AutoLys tube racks""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.0, 9.5, 75.5), + Coordinate(4.0, 105.5, 75.5), + Coordinate(4.0, 201.5, 75.5), + Coordinate(4.0, 297.5, 75.5), + Coordinate(4.0, 393.5, 75.5), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L5_ALT_A00", + ) + + +def PLT_CAR_L4HD(name: str) -> PlateCarrier: + """ """ + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.1, 36.1, 118.25), + Coordinate(4.1, 146.1, 118.25), + Coordinate(4.1, 256.1, 118.25), + Coordinate(4.1, 366.1, 118.25), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4HD", + ) + + +def PLT_CAR_L5AC(name: str) -> PlateCarrier: + """ """ + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.0, 8.5, 86.15), + Coordinate(4.0, 104.5, 86.15), + Coordinate(4.0, 200.5, 86.15), + Coordinate(4.0, 296.5, 86.15), + Coordinate(4.0, 392.5, 86.15), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L5AC", + ) + + +def PLT_CAR_L5AC_A00(name: str) -> PlateCarrier: + """Carrier for 5 deep well 96 Well PCR Plates + Hamilton cat. no.: 182090 + """ + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.0, 8.5, 86.15), + Coordinate(4.0, 104.5, 86.15), + Coordinate(4.0, 200.5, 86.15), + Coordinate(4.0, 296.5, 86.15), + Coordinate(4.0, 392.5, 86.15), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + pedestal_size_z=-4.74, + ), + model="PLT_CAR_L5AC_A00", + ) + + +def PLT_CAR_L5FLEX_AC(name: str) -> PlateCarrier: + """Plate carrier with 5 adjustable (height) portrait positions for archive plates""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 8.5, 89.1), + Coordinate(15.25, 104.5, 89.1), + Coordinate(15.25, 200.5, 89.1), + Coordinate(15.25, 296.5, 89.1), + Coordinate(15.25, 392.5, 89.1), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L5FLEX_AC", + ) + + +def PLT_CAR_L5FLEX_AC_A00(name: str) -> PlateCarrier: + """Plate carrier with 5 adjustable (height) portrait positions for archive plates""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 8.5, 89.1), + Coordinate(15.25, 104.5, 89.1), + Coordinate(15.25, 200.5, 89.1), + Coordinate(15.25, 296.5, 89.1), + Coordinate(15.25, 392.5, 89.1), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L5FLEX_AC_A00", + ) + + +def PLT_CAR_L5FLEX_MD_A00(name: str) -> PlateCarrier: + """Plate carrier with 5 adjustable (height) positions for MTP""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 8.5, 115.8), + Coordinate(15.25, 104.5, 115.8), + Coordinate(15.25, 200.5, 115.8), + Coordinate(15.25, 296.5, 115.8), + Coordinate(15.25, 392.5, 115.8), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + pedestal_size_z=-4.8, + ), + model="PLT_CAR_L5FLEX_MD_A00", + ) + + +def PLT_CAR_L5MD(name: str) -> PlateCarrier: + """ """ + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.0, 8.5, 111.75), + Coordinate(4.0, 104.5, 111.75), + Coordinate(4.0, 200.5, 111.75), + Coordinate(4.0, 296.5, 111.75), + Coordinate(4.0, 392.5, 111.75), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + pedestal_size_z=6.55, + ), + model="PLT_CAR_L5MD", + ) + + +def PLT_CAR_L5MD_A00(name: str) -> PlateCarrier: + """Carrier for 5 96/384-Well Plates. pn: 182365/02""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.0, 8.5, 111.75), + Coordinate(4.0, 104.5, 111.75), + Coordinate(4.0, 200.5, 111.75), + Coordinate(4.0, 296.5, 111.75), + Coordinate(4.0, 392.5, 111.75), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + pedestal_size_z=6.55, + ), + model="PLT_CAR_L5MD_A00", + ) + + +def PLT_CAR_L5PCR(name: str) -> PlateCarrier: + """ """ + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.0, 8.5, 107.5), + Coordinate(4.0, 104.5, 107.5), + Coordinate(4.0, 200.5, 107.5), + Coordinate(4.0, 296.5, 107.5), + Coordinate(4.0, 392.5, 107.5), + ], + resource_size_x=127.0, + resource_size_y=86.0, + pedestal_size_z=0, + name_prefix=name, + ), + model="PLT_CAR_L5PCR", + ) + + +def PLT_CAR_L5PCR_A00(name: str) -> PlateCarrier: + """Plate carrier for 5 PCR landscape plates [revision 00]""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(5.0, 9.5, 109.2), + Coordinate(5.0, 105.5, 109.2), + Coordinate(5.0, 201.5, 109.2), + Coordinate(5.0, 297.5, 109.2), + Coordinate(5.0, 393.5, 109.2), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L5PCR_A00", + ) + + +def PLT_CAR_L5PCR_A01(name: str) -> PlateCarrier: + """Plate carrier for 5 PCR landscape plates [revision 01]""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(5.0, 9.5, 109.2), + Coordinate(5.0, 105.5, 109.2), + Coordinate(5.0, 201.5, 109.2), + Coordinate(5.0, 297.5, 109.2), + Coordinate(5.0, 393.5, 109.2), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L5PCR_A01", + ) + + +def PLT_CAR_P3AC_A00(name: str) -> PlateCarrier: + """Carrier for 3 96 Deep Well Plates (portrait). PN: 182065""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(43.85, 37.5, 86.15), + Coordinate(43.85, 183.5, 86.15), + Coordinate(43.85, 329.5, 86.15), + ], + resource_size_x=86.0, + resource_size_y=127.0, + name_prefix=name, + pedestal_size_z=6.55, # same as PLT_CAR_L5MD_A00 + ), + model="PLT_CAR_P3AC_A00", + ) + + +def PLT_CAR_P3AC_A01(name: str) -> PlateCarrier: + """Carrier for 3 96 Deep Well Plates (portrait)""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(44.1, 37.5, 85.9), + Coordinate(44.1, 183.5, 85.9), + Coordinate(44.1, 329.5, 85.9), + ], + resource_size_x=86.0, + resource_size_y=127.0, + name_prefix=name, + pedestal_size_z=6.55, # same as PLT_CAR_L5MD_A00 + ), + model="PLT_CAR_P3AC_A01", + ) + + +def PLT_CAR_P3HD(name: str) -> PlateCarrier: + """ """ + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(43.9, 27.05, 117.65), + Coordinate(43.9, 173.05, 117.65), + Coordinate(43.9, 319.05, 117.65), + ], + resource_size_x=86.0, + resource_size_y=127.0, + name_prefix=name, + ), + model="PLT_CAR_P3HD", + ) + + +def PLT_CAR_P3MD(name: str) -> PlateCarrier: + """ """ + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(44.1, 37.5, 111.5), + Coordinate(44.1, 183.5, 111.5), + Coordinate(44.1, 329.5, 111.5), + ], + resource_size_x=86.0, + resource_size_y=127.0, + name_prefix=name, + ), + model="PLT_CAR_P3MD", + ) + + +def PLT_CAR_P3MD_A00(name: str) -> PlateCarrier: + """Carrier for 3 96/384-Well Plates (Portrait)""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(44.1, 37.5, 111.5), + Coordinate(44.1, 183.5, 111.5), + Coordinate(44.1, 329.5, 111.5), + ], + resource_size_x=86.0, + resource_size_y=127.0, + name_prefix=name, + ), + model="PLT_CAR_P3MD_A00", + ) + + +def PLT_CAR_P3MD_A01(name: str) -> PlateCarrier: + """Carrier for 3 96/384-Well Plates (Portrait)""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(44.1, 37.5, 111.5), + Coordinate(44.1, 183.5, 111.5), + Coordinate(44.1, 329.5, 111.5), + ], + resource_size_x=86.0, + resource_size_y=127.0, + name_prefix=name, + ), + model="PLT_CAR_P3MD_A01", + ) + + +def PLT_CAR_L5AC_P_A00(name: str) -> PlateCarrier: + """Carrier with pin for 5 Hamilton 96 Deep Well Plates""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.0, 8.5, 86.15), + Coordinate(4.0, 104.5, 86.15), + Coordinate(4.0, 200.5, 86.15), + Coordinate(4.0, 296.5, 86.15), + Coordinate(4.0, 392.5, 86.15), + ], + resource_size_x=126.8, + resource_size_y=85.8, + name_prefix=name, + ), + model="PLT_CAR_L5AC_P_A00", + ) + + +def PLT_CAR_P3LI_A00(name: str) -> PlateCarrier: + """Carrier for 3 Limbro Plates portrait""" + return PlateCarrier( + name=name, + size_x=112.5, + size_y=497.0, + size_z=130.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(2.5, 12.2, 111.6), + Coordinate(2.5, 166.6, 111.6), + Coordinate(2.5, 321.6, 111.6), + ], + resource_size_x=109.0, + resource_size_y=152.0, + name_prefix=name, + pedestal_size_z=0, + ), + model="PLT_CAR_P3LI_A00", + ) + + +def PLT_CAR_L4ST_B00(name: str) -> PlateCarrier: + """Stack carrier with 4 empty plate stacks for 5 plates""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=90.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 52.0, 18.0), + Coordinate(15.25, 159.0, 18.0), + Coordinate(15.25, 266.0, 18.0), + Coordinate(15.25, 373.0, 18.0), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4ST_B00", + ) + + +def PLT_CAR_L4ST_B00_4x5_Nunc96(name: str) -> PlateCarrier: + """Stack carrier with 4 stacks, preloaded with 5 Nunc 96 plates per stack""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=90.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 52.0, 18.0), + Coordinate(15.25, 159.0, 18.0), + Coordinate(15.25, 266.0, 18.0), + Coordinate(15.25, 373.0, 18.0), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4ST_B00_4x5_Nunc96", + ) + + +def PLT_CAR_L4ST_C00(name: str) -> PlateCarrier: + """Stack carrier with 4 empty plate stacks for 4 plates on a platform""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=140.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 52.0, 86.0), + Coordinate(15.25, 159.0, 86.0), + Coordinate(15.25, 266.0, 86.0), + Coordinate(15.25, 373.0, 86.0), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4ST_C00", + ) + + +def PLT_CAR_L4ST_HIGH_A00(name: str) -> PlateCarrier: + """Stack carrier with 4 stacks for 5 plates on a platform""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=140.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 52.0, 73.0), + Coordinate(15.25, 159.0, 73.0), + Coordinate(15.25, 266.0, 73.0), + Coordinate(15.25, 373.0, 73.0), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4ST_HIGH_A00", + ) + + +def PLT_CAR_L4ST_HIGH_A00_4x5_Nunc96(name: str) -> PlateCarrier: + """Stack carrier with 4 stacks, preloaded with 5 Nunc 96 plates per stack (on a platform)""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=140.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 52.0, 73.0), + Coordinate(15.25, 159.0, 73.0), + Coordinate(15.25, 266.0, 73.0), + Coordinate(15.25, 373.0, 73.0), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4ST_HIGH_A00_4x5_Nunc96", + ) + + +def PLT_CAR_L4ST_LOW_A00(name: str) -> PlateCarrier: + """Stack carrier with 4 stacks for 9 plates (platform removed)""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=140.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 52.0, 18.0), + Coordinate(15.25, 159.0, 18.0), + Coordinate(15.25, 266.0, 18.0), + Coordinate(15.25, 373.0, 18.0), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4ST_LOW_A00", + ) + + +def PLT_CAR_L4ST_LOW_A00_4x9_Nunc96(name: str) -> PlateCarrier: + """Stack carrier with 4 stacks, preloaded with 9 Nunc 96 plates per stack""" + return PlateCarrier( + name=name, + size_x=157.5, + size_y=497.0, + size_z=140.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(15.25, 52.0, 18.0), + Coordinate(15.25, 159.0, 18.0), + Coordinate(15.25, 266.0, 18.0), + Coordinate(15.25, 373.0, 18.0), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L4ST_LOW_A00_4x9_Nunc96", + ) + + +def PLT_CAR_L5_DWP(name: str) -> PlateCarrier: + """Carrier with Molded Corner Locators for 5 Deep Well Plates (93522-01)""" + return PlateCarrier( + name=name, + size_x=135.0, + size_y=497.0, + size_z=100.0, + sites=create_homogeneous_resources( + klass=PlateHolder, + locations=[ + Coordinate(4.1, 8.2, 82.1), + Coordinate(4.1, 104.2, 82.1), + Coordinate(4.1, 200.2, 82.1), + Coordinate(4.1, 296.2, 82.1), + Coordinate(4.1, 392.1, 82.1), + ], + resource_size_x=127.0, + resource_size_y=86.0, + name_prefix=name, + ), + model="PLT_CAR_L5_DWP", + ) diff --git a/pylabrobot/resources/nest/plates.py b/pylabrobot/resources/nest/plates.py index fce1731399..6ca0c49e7f 100644 --- a/pylabrobot/resources/nest/plates.py +++ b/pylabrobot/resources/nest/plates.py @@ -172,3 +172,43 @@ def nest_12_troughplate_15000uL_Vb(name: str) -> Plate: **well_kwargs, ), ) + +def nest_1_troughplate_195000uL_Vb(name: str) -> Plate: + """part no 360103. 96 tiny holes, but one container.""" + well_length = 127.76 - (14.38 - 9 / 2) * 2 # from datasheet + well_width = 85.48 - (11.24 - 9 / 2) * 2 # from datasheet + well_kwargs = { + "size_x": well_width, + "size_y": well_length, + "size_z": 26.85, # from datasheet + "bottom_type": WellBottomType.V, + # an approximation: the trapezoid at the bottom is not fully defined in the datasheet + "compute_height_from_volume": lambda liquid_volume: compute_height_from_volume_rectangle( + liquid_volume=liquid_volume, well_length=well_length, well_width=well_width + ), + "compute_volume_from_height": lambda liquid_height: compute_volume_from_height_rectangle( + liquid_height=liquid_height, well_length=well_length, well_width=well_width + ), + "material_z_thickness": 31.4 - 26.85 - 3.55, # from datasheet + } + + return Plate( + name=name, + size_x=127.76, # from datasheet + size_y=85.48, # from datasheet + size_z=31.4, # from datasheet + lid=None, + model=nest_1_troughplate_195000uL_Vb.__name__, + ordered_items=create_ordered_items_2d( + Well, + num_items_x=1, + num_items_y=1, + dx=14.38 - 9 / 2, # from datasheet + dy=11.24 - 9 / 2, # from datasheet + dz=3.55, # from datasheet + item_dx=9.0, # from datasheet + item_dy=9.0, # from datasheet + **well_kwargs, + ), + ) +