Skip to content

Commit 1afbbdc

Browse files
authored
Merge branch 'main' into fix_pdf
2 parents 64484e4 + 2f5dbb4 commit 1afbbdc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1109
-1402
lines changed

.pre-commit-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ repos:
4141
- tomli
4242

4343
- repo: https://github.com/pre-commit/pre-commit-hooks
44-
rev: v4.5.0
44+
rev: v4.6.0
4545
hooks:
4646
- id: debug-statements
4747
- id: trailing-whitespace

_unittest/test_01_3dlayout_edb.py

+15-4
Original file line numberDiff line numberDiff line change
@@ -186,13 +186,24 @@ def test_03C_voids(self):
186186

187187
def test_04_add_mesh_operations(self):
188188
self.aedtapp.create_setup("HFSS")
189-
setup1 = self.aedtapp.mesh.assign_length_mesh("HFSS", "PWR", "GND")
190-
setup2 = self.aedtapp.mesh.assign_skin_depth("HFSS", "PWR", "GND")
189+
setup1 = self.aedtapp.mesh.assign_length_mesh(
190+
"HFSS",
191+
"PWR",
192+
"GND",
193+
)
194+
setup2 = self.aedtapp.mesh.assign_skin_depth(
195+
"HFSS",
196+
"PWR",
197+
"GND",
198+
)
191199
assert setup1
192200
assert setup2
193201
setup1.props["RestrictElem"] = False
194202
assert setup1.update()
195-
assert self.aedtapp.mesh.delete_mesh_operations("HFSS", setup1.name)
203+
assert self.aedtapp.mesh.delete_mesh_operations(
204+
"HFSS",
205+
setup1.name,
206+
)
196207

197208
def test_05_change_property(self):
198209
ports = self.aedtapp.create_ports_on_component_by_nets(
@@ -381,7 +392,7 @@ def test_23_dissolve_element(self):
381392
comp = self.aedtapp.modeler.components["D1"]
382393
pins = {name: pin for name, pin in comp.pins.items() if name in ["D1-1", "D1-2", "D1-7"]}
383394
self.aedtapp.dissolve_component("D1")
384-
comp = self.aedtapp.modeler.create_components_on_pins(list(pins.keys()))
395+
comp = self.aedtapp.modeler.create_component_on_pins(list(pins.keys()))
385396
nets = [
386397
list(pins.values())[0].net_name,
387398
list(pins.values())[1].net_name,

_unittest/test_01_Design.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,17 @@ def test_app(self):
3838
assert self.aedtapp
3939

4040
def test_01_designname(self):
41-
self.aedtapp.design_name = "myname"
42-
assert self.aedtapp.design_name == "myname"
41+
# TODO: Remove subsequent dependence on string "myname"
42+
design_names = ["myname", "design2"]
43+
self.aedtapp.design_name = design_names[0] # Change the design name.
44+
assert self.aedtapp.design_name == design_names[0]
45+
self.aedtapp.insert_design(design_names[1]) # Insert a new design
46+
assert self.aedtapp.design_name == design_names[1]
47+
self.aedtapp.design_name = design_names[0] # Change current design back.
48+
assert len(self.aedtapp.design_list) == 2 # Make sure there are still 2 designs.
49+
assert self.aedtapp.design_list[0] in design_names # Make sure the name is correct.
50+
self.aedtapp.delete_design(design_names[1]) # Delete the 2nd design
51+
assert len(self.aedtapp.design_list) == 1
4352

4453
def test_01_version_id(self):
4554
assert self.aedtapp.aedt_version_id

_unittest/test_05_Mesh.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def test_03_assign_surface_mesh_manual(self):
6161
udp = self.aedtapp.modeler.Position(20, 20, 0)
6262
coax_dimension = 200
6363
o = self.aedtapp.modeler.create_cylinder(self.aedtapp.PLANE.XY, udp, 3, coax_dimension, 0, "surface_manual")
64-
surface = self.aedtapp.mesh.assign_surface_mesh_manual(o.id, 1e-6, aspect_ratio=3, meshop_name="Surface_Manual")
64+
surface = self.aedtapp.mesh.assign_surface_mesh_manual(o.id, 1e-6, aspect_ratio=3, name="Surface_Manual")
6565
assert "Surface_Manual" in [i.name for i in self.aedtapp.mesh.meshoperations]
6666
assert surface.props["SurfDev"] == 1e-6
6767
surface.props["SurfDev"] = 1e-05
@@ -123,7 +123,7 @@ def test_06_curvature_extraction(self):
123123
def test_07_maxwell_mesh(self, add_app):
124124
m3d = add_app(application=Maxwell3d)
125125
o = m3d.modeler.create_box([0, 0, 0], [10, 10, 10], name="Box_Mesh")
126-
rot = m3d.mesh.assign_rotational_layer(o.name, meshop_name="Rotational", total_thickness="5mm")
126+
rot = m3d.mesh.assign_rotational_layer(o.name, total_thickness="5mm", name="Rotational")
127127
assert rot.props["Number of Layers"] == "3"
128128
rot.props["Number of Layers"] = 1
129129
assert str(rot.props["Number of Layers"]) == m3d.odesign.GetChildObject("Mesh").GetChildObject(
@@ -135,14 +135,14 @@ def test_07_maxwell_mesh(self, add_app):
135135
rot.name
136136
).GetPropValue("Total Layer Thickness")
137137

138-
edge_cut = m3d.mesh.assign_edge_cut(o.name, meshop_name="Edge")
138+
edge_cut = m3d.mesh.assign_edge_cut(o.name, name="Edge")
139139
assert edge_cut.props["Layer Thickness"] == "1mm"
140140
edge_cut.props["Layer Thickness"] = "2mm"
141141
assert edge_cut.props["Layer Thickness"] == m3d.odesign.GetChildObject("Mesh").GetChildObject(
142142
edge_cut.name
143143
).GetPropValue("Layer Thickness")
144144

145-
dens = m3d.mesh.assign_density_control(o.name, maxelementlength=10000, meshop_name="Density")
145+
dens = m3d.mesh.assign_density_control(o.name, maximum_element_length=10000, name="Density")
146146
assert dens.props["RestrictMaxElemLength"]
147147

148148
assert dens.props["MaxElemLength"] == 10000

_unittest/test_21_Circuit.py

+8-9
Original file line numberDiff line numberDiff line change
@@ -677,22 +677,21 @@ def test_41_assign_excitations(self, add_app):
677677
port.reference_node = "NoNet"
678678
port.reference_node = "Z"
679679

680-
assert c.excitation_objets
680+
assert c.excitation_objects
681681

682682
setup = c.create_setup()
683683

684-
c.excitations["Port3"].enabled_sources = ["PowerTest"]
685-
assert len(c.excitations["Port3"].enabled_sources) == 1
684+
c.excitation_objects["Port3"].enabled_sources = ["PowerTest"]
685+
assert len(c.excitation_objects["Port3"].enabled_sources) == 1
686686
setup1 = c.create_setup()
687687
setup2 = c.create_setup()
688-
c.excitations["Port3"].enabled_analyses = {"PowerTest": [setup.name, setup2.name]}
689-
assert c.excitations["Port3"].enabled_analyses["PowerTest"][0] == setup.name
688+
c.excitation_objects["Port3"].enabled_analyses = {"PowerTest": [setup.name, setup2.name]}
689+
assert c.excitation_objects["Port3"].enabled_analyses["PowerTest"][0] == setup.name
690690

691-
c.excitations["Port3"].name = "PortTest"
691+
c.excitation_objects["Port3"].name = "PortTest"
692692
assert "PortTest" in c.excitations
693-
assert "PortTest" in c.excitation_names
694-
c.excitations["PortTest"].delete()
695-
assert len(c.excitation_objets) == 0
693+
c.excitation_objects["PortTest"].delete()
694+
assert len(c.excitation_objects) == 0
696695
self.aedtapp.save_project()
697696
c = add_app(application=Circuit, design_name="sources")
698697
assert c.sources

_unittest/test_22_Circuit_DynamicLink.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,9 @@ def test_07_create_page_port_and_interface_port(self):
176176
"Port_remove",
177177
[hfss3Dlayout_pin2location["J3B2.2.USBH2_DN_CH"][0], hfss3Dlayout_pin2location["J3B2.2.USBH2_DN_CH"][1]],
178178
)
179-
self.aedtapp.excitations[portname.name].delete()
179+
self.aedtapp.excitation_objects[portname.name].delete()
180180

181-
assert "Port_remove" not in self.aedtapp.excitation_names
181+
assert "Port_remove" not in self.aedtapp.excitations
182182

183183
@pytest.mark.skipif(is_ironpython or is_linux, reason="Skipped because Desktop is crashing")
184184
def test_08_assign_excitations(self):

_unittest/test_27_Maxwell2D.py

+7-5
Original file line numberDiff line numberDiff line change
@@ -420,15 +420,15 @@ def test_31_cylindrical_gap(self):
420420
for x in self.aedtapp.mesh.meshoperations[:]
421421
if x.type == "Cylindrical Gap Based" or x.type == "CylindricalGap"
422422
]
423-
assert self.aedtapp.mesh.assign_cylindrical_gap("Band", meshop_name="cyl_gap_test")
423+
assert self.aedtapp.mesh.assign_cylindrical_gap("Band", name="cyl_gap_test")
424424
assert not self.aedtapp.mesh.assign_cylindrical_gap(["Band", "Region"])
425425
assert not self.aedtapp.mesh.assign_cylindrical_gap("Band")
426426
[
427427
x.delete()
428428
for x in self.aedtapp.mesh.meshoperations[:]
429429
if x.type == "Cylindrical Gap Based" or x.type == "CylindricalGap"
430430
]
431-
assert self.aedtapp.mesh.assign_cylindrical_gap("Band", meshop_name="cyl_gap_test", band_mapping_angle=2)
431+
assert self.aedtapp.mesh.assign_cylindrical_gap("Band", name="cyl_gap_test", band_mapping_angle=2)
432432

433433
def test_32_control_program(self):
434434
user_ctl_path = "user.ctl"
@@ -545,14 +545,16 @@ def test_35_solution_types_setup(self, add_app):
545545
def test_36_design_excitations_by_type(self):
546546
coils = self.aedtapp.excitations_by_type["Coil"]
547547
assert coils
548-
assert len(coils) == len([bound for bound in self.aedtapp.design_excitations if bound.type == "Coil"])
548+
assert len(coils) == len([bound for bound in self.aedtapp.excitation_objects.values() if bound.type == "Coil"])
549549
currents = self.aedtapp.excitations_by_type["Current"]
550550
assert currents
551-
assert len(currents) == len([bound for bound in self.aedtapp.design_excitations if bound.type == "Current"])
551+
assert len(currents) == len(
552+
[bound for bound in self.aedtapp.excitation_objects.values() if bound.type == "Current"]
553+
)
552554
wdg_group = self.aedtapp.excitations_by_type["Winding Group"]
553555
assert wdg_group
554556
assert len(wdg_group) == len(
555-
[bound for bound in self.aedtapp.design_excitations if bound.type == "Winding Group"]
557+
[bound for bound in self.aedtapp.excitation_objects.values() if bound.type == "Winding Group"]
556558
)
557559

558560
def test_37_boundaries_by_type(self):

_unittest/test_28_Maxwell3D.py

+7-9
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ def test_24_create_edge_cut(self):
267267
assert self.aedtapp.mesh.assign_edge_cut(["Coil"])
268268

269269
def test_24_density_control(self):
270-
assert self.aedtapp.mesh.assign_density_control(["Coil"], maxelementlength="2mm", layerNum="3")
270+
assert self.aedtapp.mesh.assign_density_control(["Coil"], maximum_element_length="2mm", layers_number="3")
271271

272272
def test_24_density_control(self):
273273
assert self.aedtapp.mesh.assign_rotational_layer(["Coil"])
@@ -783,37 +783,35 @@ def test_49_cylindrical_gap(self, cyl_gap):
783783
for x in cyl_gap.mesh.meshoperations[:]
784784
if x.type == "Cylindrical Gap Based" or x.type == "CylindricalGap"
785785
]
786-
assert cyl_gap.mesh.assign_cylindrical_gap("Band", meshop_name="cyl_gap_test")
786+
assert cyl_gap.mesh.assign_cylindrical_gap("Band", name="cyl_gap_test")
787787
assert not cyl_gap.mesh.assign_cylindrical_gap(["Band", "Inner_Band"])
788788
assert not cyl_gap.mesh.assign_cylindrical_gap("Band")
789789
[
790790
x.delete()
791791
for x in cyl_gap.mesh.meshoperations[:]
792792
if x.type == "Cylindrical Gap Based" or x.type == "CylindricalGap"
793793
]
794-
assert cyl_gap.mesh.assign_cylindrical_gap(
795-
"Band", meshop_name="cyl_gap_test", clone_mesh=True, band_mapping_angle=1
796-
)
794+
assert cyl_gap.mesh.assign_cylindrical_gap("Band", name="cyl_gap_test", band_mapping_angle=1, clone_mesh=True)
797795
[
798796
x.delete()
799797
for x in cyl_gap.mesh.meshoperations[:]
800798
if x.type == "Cylindrical Gap Based" or x.type == "CylindricalGap"
801799
]
802-
assert cyl_gap.mesh.assign_cylindrical_gap("Band", meshop_name="cyl_gap_test", clone_mesh=False)
800+
assert cyl_gap.mesh.assign_cylindrical_gap("Band", name="cyl_gap_test", clone_mesh=False)
803801
[
804802
x.delete()
805803
for x in cyl_gap.mesh.meshoperations[:]
806804
if x.type == "Cylindrical Gap Based" or x.type == "CylindricalGap"
807805
]
808806
assert cyl_gap.mesh.assign_cylindrical_gap("Band")
809807
assert not cyl_gap.mesh.assign_cylindrical_gap(
810-
"Band", meshop_name="cyl_gap_test", clone_mesh=True, band_mapping_angle=7
808+
"Band", name="cyl_gap_test", band_mapping_angle=7, clone_mesh=True
811809
)
812810
assert not cyl_gap.mesh.assign_cylindrical_gap(
813-
"Band", meshop_name="cyl_gap_test", clone_mesh=True, band_mapping_angle=2, moving_side_layers=0
811+
"Band", name="cyl_gap_test", band_mapping_angle=2, clone_mesh=True, moving_side_layers=0
814812
)
815813
assert not cyl_gap.mesh.assign_cylindrical_gap(
816-
"Band", meshop_name="cyl_gap_test", clone_mesh=True, band_mapping_angle=2, static_side_layers=0
814+
"Band", name="cyl_gap_test", band_mapping_angle=2, clone_mesh=True, static_side_layers=0
817815
)
818816

819817
def test_50_objects_segmentation(self, cyl_gap):

_unittest/test_98_Icepak.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ def test_31_automatic_mesh_pcb(self):
397397

398398
def test_32_automatic_mesh_3d(self):
399399
self.aedtapp.set_active_design("IcepakDesign1")
400-
assert self.aedtapp.mesh.automatic_mesh_3D(accuracy2=1)
400+
assert self.aedtapp.mesh.automatic_mesh_3D(accuracy=1)
401401

402402
def test_33_create_source(self):
403403
self.aedtapp.modeler.create_box([0, 0, 0], [20, 20, 20], name="boxSource")
@@ -1039,9 +1039,9 @@ def test_56_mesh_priority(self):
10391039
custom_x_resolution=400,
10401040
custom_y_resolution=500,
10411041
)
1042-
assert self.aedtapp.mesh.add_priority(entity_type=1, obj_list=self.aedtapp.modeler.object_names, priority=2)
1042+
assert self.aedtapp.mesh.add_priority(entity_type=1, objects=self.aedtapp.modeler.object_names, priority=2)
10431043
assert self.aedtapp.mesh.add_priority(
1044-
entity_type=2, comp_name=self.aedtapp.modeler.user_defined_component_names[0], priority=1
1044+
entity_type=2, component=self.aedtapp.modeler.user_defined_component_names[0], priority=1
10451045
)
10461046

10471047
def test_57_update_source(self):
@@ -1354,11 +1354,11 @@ def test_68_mesh_priority_3d_comp(self, add_app):
13541354
design_name="IcepakDesign1",
13551355
subfolder=test_subfolder,
13561356
)
1357-
assert app.mesh.add_priority(entity_type=2, comp_name="IcepakDesign1_1", priority=3)
1357+
assert app.mesh.add_priority(entity_type=2, component="IcepakDesign1_1", priority=3)
13581358

1359-
assert app.mesh.add_priority(entity_type=2, comp_name="all_2d_objects1", priority=2)
1359+
assert app.mesh.add_priority(entity_type=2, component="all_2d_objects1", priority=2)
13601360

1361-
assert app.mesh.add_priority(entity_type=2, comp_name="all_3d_objects1", priority=2)
1361+
assert app.mesh.add_priority(entity_type=2, component="all_3d_objects1", priority=2)
13621362

13631363
app.close_project(name="3d_comp_mesh_prio_test", save_project=False)
13641364

examples/02-HFSS/HFSS_Choke.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@
180180
mesh_operation_cylinder = hfss.modeler.create_cylinder(
181181
"XY", cylinder_position, ground_radius, cylinder_height, numSides=36, name="mesh_cylinder"
182182
)
183-
hfss.mesh.assign_length_mesh([mesh_operation_cylinder], maxlength=15, maxel=None, meshop_name="choke_mesh")
183+
hfss.mesh.assign_length_mesh([mesh_operation_cylinder], maximum_length=15, maximum_elements=None, name="choke_mesh")
184184

185185

186186
###############################################################################

examples/03-Maxwell/Maxwell2D_DCConduction.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
# ~~~~~~~~~~~~~~~~~~~~~
100100
# 3mm on the conductor
101101

102-
m2d.mesh.assign_length_mesh(["ANSYS_LOGO_2D_3"], meshop_name="conductor", maxlength=3, maxel=None)
102+
m2d.mesh.assign_length_mesh(["ANSYS_LOGO_2D_3"], maximum_length=3, maximum_elements=None, name="conductor")
103103

104104
##################################################################################
105105
# Create simulation setup and enable expression cache

examples/03-Maxwell/Maxwell2D_Electrostatic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@
137137
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138138
# Assign a surface mesh to the rectangle.
139139

140-
M2D.mesh.assign_surface_mesh_manual(names=['Ground'], surf_dev=0.001)
140+
M2D.mesh.assign_surface_mesh_manual(objects=['Ground'], surface_deviation=0.001)
141141

142142
##################################################################################
143143
# Create, validate and analyze the setup

examples/03-Maxwell/Maxwell2D_PMSynchronousMotor.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -540,9 +540,9 @@ def create_cs_magnets(pm_id, cs_name, point_direction):
540540
# ~~~~~~~~~~~~~~~~~~~~~~
541541
# Create the mesh operations.
542542

543-
M2D.mesh.assign_length_mesh(id_coils, isinside=True, maxlength=3, maxel=None, meshop_name="coils")
544-
M2D.mesh.assign_length_mesh(stator_id, isinside=True, maxlength=3, maxel=None, meshop_name="stator")
545-
M2D.mesh.assign_length_mesh(rotor_id, isinside=True, maxlength=3, maxel=None, meshop_name="rotor")
543+
M2D.mesh.assign_length_mesh(id_coils, inside_selection=True, maximum_length=3, maximum_elements=None, name="coils")
544+
M2D.mesh.assign_length_mesh(stator_id, inside_selection=True, maximum_length=3, maximum_elements=None, name="stator")
545+
M2D.mesh.assign_length_mesh(rotor_id, inside_selection=True, maximum_length=3, maximum_elements=None, name="rotor")
546546

547547
##########################################################
548548
# Turn on eddy effects

examples/03-Maxwell/Maxwell3D_Choke.py

+4-12
Original file line numberDiff line numberDiff line change
@@ -176,18 +176,10 @@
176176
# Create the mesh operation.
177177

178178
mesh = m3d.mesh
179-
mesh.assign_skin_depth(
180-
names=[first_winding_list[0], second_winding_list[0], third_winding_list[0]],
181-
skindepth=0.20,
182-
triangulation_max_length="10mm",
183-
meshop_name="skin_depth",
184-
)
185-
mesh.assign_surface_mesh_manual(
186-
[first_winding_list[0], second_winding_list[0], third_winding_list[0]],
187-
surf_dev=None,
188-
normal_dev="30deg",
189-
meshop_name="surface_approx",
190-
)
179+
mesh.assign_skin_depth(objects=[first_winding_list[0], second_winding_list[0], third_winding_list[0]], skin_depth=0.20,
180+
triangulation_max_length="10mm", name="skin_depth")
181+
mesh.assign_surface_mesh_manual([first_winding_list[0], second_winding_list[0], third_winding_list[0]],
182+
surface_deviation=None, normal_dev="30deg", name="surface_approx")
191183

192184
###############################################################################
193185
# Create boundaries

examples/03-Maxwell/Maxwell3D_Team3_bath_plate.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9898
# Add a mesh refinement to the ladder plate.
9999

100-
m3d.mesh.assign_length_mesh("LadderPlate", maxlength=3, maxel=None, meshop_name="Ladder_Mesh")
100+
m3d.mesh.assign_length_mesh("LadderPlate", maximum_length=3, maximum_elements=None, name="Ladder_Mesh")
101101

102102
################################################################################
103103
# Draw search coil and assign excitation

examples/04-Icepak/Icepak_Example.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
# ~~~~~~~~~~~~~~~~~~~
7373
# Assign a mesh region to the heat sink and CPU.
7474

75-
mesh_region = ipk.mesh.assign_mesh_region(objectlist=["HEAT_SINK", "CPU"])
75+
mesh_region = ipk.mesh.assign_mesh_region(objects=["HEAT_SINK", "CPU"])
7676
mesh_region.UserSpecifiedSettings = True
7777
mesh_region.MaxElementSizeX = "3.35mm"
7878
mesh_region.MaxElementSizeY = "1.75mm"

examples/06-Multiphysics/Hfss_Icepak_Coupling.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@
118118
# edit or review parameter values.
119119

120120
aedtapp.mesh.assign_initial_mesh_from_slider(level=6)
121-
aedtapp.mesh.assign_model_resolution(names=[o1.name, o3.name], defeature_length=None)
122-
aedtapp.mesh.assign_length_mesh(names=o2.faces, isinside=False, maxlength=1, maxel=2000)
121+
aedtapp.mesh.assign_model_resolution(objects=[o1.name, o3.name], defeature_length=None)
122+
aedtapp.mesh.assign_length_mesh(objects=o2.faces, inside_selection=False, maximum_length=1, maximum_elements=2000)
123123

124124
###############################################################################
125125
# Create excitations

examples/06-Multiphysics/Maxwell3D_Icepak_2Way_Coupling.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,8 @@
113113
# Mesh operations are not necessary in eddy current solver because of auto-adaptive meshing.
114114
# However, with appropriate mesh operations, less adaptive passes are needed.
115115

116-
m3d.mesh.assign_length_mesh(
117-
["Core"], maxlength=15, meshop_name="Inside_Core", maxel=None
118-
)
119-
m3d.mesh.assign_length_mesh(
120-
["Coil"], maxlength=30, meshop_name="Inside_Coil", maxel=None
121-
)
116+
m3d.mesh.assign_length_mesh(["Core"], maximum_length=15, maximum_elements=None, name="Inside_Core")
117+
m3d.mesh.assign_length_mesh(["Coil"], maximum_length=30, maximum_elements=None, name="Inside_Coil")
122118

123119
###############################################################################
124120
# Set conductivity temperature coefficient

0 commit comments

Comments
 (0)