From 09b3498f31146564cdf3ac4d4ba6dcbe9c9ad3c0 Mon Sep 17 00:00:00 2001 From: maxcapodi78 Date: Tue, 9 Apr 2024 14:43:00 +0200 Subject: [PATCH 1/6] replaced entity/entites in all mesh arguments --- _unittest/test_01_3dlayout_edb.py | 12 +- _unittest/test_98_Icepak.py | 2 +- .../03-Maxwell/Maxwell2D_Electrostatic.py | 2 +- examples/03-Maxwell/Maxwell3D_Choke.py | 2 +- examples/04-Icepak/Icepak_Example.py | 2 +- .../06-Multiphysics/Hfss_Icepak_Coupling.py | 4 +- pyaedt/modules/Mesh.py | 156 +++++++++--------- pyaedt/modules/MeshIcepak.py | 36 ++-- 8 files changed, 104 insertions(+), 112 deletions(-) diff --git a/_unittest/test_01_3dlayout_edb.py b/_unittest/test_01_3dlayout_edb.py index 2930fb722c8..0c2421269d7 100644 --- a/_unittest/test_01_3dlayout_edb.py +++ b/_unittest/test_01_3dlayout_edb.py @@ -186,16 +186,8 @@ def test_03C_voids(self): def test_04_add_mesh_operations(self): self.aedtapp.create_setup("HFSS") - setup1 = self.aedtapp.mesh.assign_length_mesh( - "HFSS", - "PWR", - "GND", - ) - setup2 = self.aedtapp.mesh.assign_skin_depth( - "HFSS", - "PWR", - "GND", - ) + setup1 = self.aedtapp.mesh.assign_length_mesh("HFSS", "PWR", "GND") + setup2 = self.aedtapp.mesh.assign_skin_depth("HFSS", "PWR", "GND") assert setup1 assert setup2 setup1.props["RestrictElem"] = False diff --git a/_unittest/test_98_Icepak.py b/_unittest/test_98_Icepak.py index 03f580687b1..c1dc9059145 100644 --- a/_unittest/test_98_Icepak.py +++ b/_unittest/test_98_Icepak.py @@ -1039,7 +1039,7 @@ def test_56_mesh_priority(self): custom_x_resolution=400, custom_y_resolution=500, ) - assert self.aedtapp.mesh.add_priority(entity_type=1, objects=self.aedtapp.modeler.object_names, priority=2) + assert self.aedtapp.mesh.add_priority(entity_type=1, entities=self.aedtapp.modeler.object_names, priority=2) assert self.aedtapp.mesh.add_priority( entity_type=2, component=self.aedtapp.modeler.user_defined_component_names[0], priority=1 ) diff --git a/examples/03-Maxwell/Maxwell2D_Electrostatic.py b/examples/03-Maxwell/Maxwell2D_Electrostatic.py index 73dbf099d84..c007d801ff4 100644 --- a/examples/03-Maxwell/Maxwell2D_Electrostatic.py +++ b/examples/03-Maxwell/Maxwell2D_Electrostatic.py @@ -137,7 +137,7 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Assign a surface mesh to the rectangle. -M2D.mesh.assign_surface_mesh_manual(objects=['Ground'], surface_deviation=0.001) +M2D.mesh.assign_surface_mesh_manual(entities=['Ground'], surface_deviation=0.001) ################################################################################## # Create, validate and analyze the setup diff --git a/examples/03-Maxwell/Maxwell3D_Choke.py b/examples/03-Maxwell/Maxwell3D_Choke.py index f3d4f0489fc..1205ff36495 100644 --- a/examples/03-Maxwell/Maxwell3D_Choke.py +++ b/examples/03-Maxwell/Maxwell3D_Choke.py @@ -176,7 +176,7 @@ # Create the mesh operation. mesh = m3d.mesh -mesh.assign_skin_depth(objects=[first_winding_list[0], second_winding_list[0], third_winding_list[0]], skin_depth=0.20, +mesh.assign_skin_depth(entities=[first_winding_list[0], second_winding_list[0], third_winding_list[0]], skin_depth=0.20, triangulation_max_length="10mm", name="skin_depth") mesh.assign_surface_mesh_manual([first_winding_list[0], second_winding_list[0], third_winding_list[0]], surface_deviation=None, normal_dev="30deg", name="surface_approx") diff --git a/examples/04-Icepak/Icepak_Example.py b/examples/04-Icepak/Icepak_Example.py index 693a62b6f9b..e7cea7c55ad 100644 --- a/examples/04-Icepak/Icepak_Example.py +++ b/examples/04-Icepak/Icepak_Example.py @@ -72,7 +72,7 @@ # ~~~~~~~~~~~~~~~~~~~ # Assign a mesh region to the heat sink and CPU. -mesh_region = ipk.mesh.assign_mesh_region(objects=["HEAT_SINK", "CPU"]) +mesh_region = ipk.mesh.assign_mesh_region(entities=["HEAT_SINK", "CPU"]) mesh_region.UserSpecifiedSettings = True mesh_region.MaxElementSizeX = "3.35mm" mesh_region.MaxElementSizeY = "1.75mm" diff --git a/examples/06-Multiphysics/Hfss_Icepak_Coupling.py b/examples/06-Multiphysics/Hfss_Icepak_Coupling.py index 50ae4e13b87..1cc3919dd9b 100644 --- a/examples/06-Multiphysics/Hfss_Icepak_Coupling.py +++ b/examples/06-Multiphysics/Hfss_Icepak_Coupling.py @@ -118,8 +118,8 @@ # edit or review parameter values. aedtapp.mesh.assign_initial_mesh_from_slider(level=6) -aedtapp.mesh.assign_model_resolution(objects=[o1.name, o3.name], defeature_length=None) -aedtapp.mesh.assign_length_mesh(objects=o2.faces, inside_selection=False, maximum_length=1, maximum_elements=2000) +aedtapp.mesh.assign_model_resolution(entities=[o1.name, o3.name], defeature_length=None) +aedtapp.mesh.assign_length_mesh(entities=o2.faces, inside_selection=False, maximum_length=1, maximum_elements=2000) ############################################################################### # Create excitations diff --git a/pyaedt/modules/Mesh.py b/pyaedt/modules/Mesh.py index bcd2ca596a8..f6fa97eef3b 100644 --- a/pyaedt/modules/Mesh.py +++ b/pyaedt/modules/Mesh.py @@ -536,13 +536,13 @@ def _get_design_mesh_operations(self): pass return meshops - @pyaedt_function_handler(names="objects", meshop_name="name") - def assign_surface_mesh(self, objects, level, name=None): + @pyaedt_function_handler(names="entities", meshop_name="name") + def assign_surface_mesh(self, entities, level, name=None): """Assign a surface mesh level to one or more objects. Parameters ---------- - objects : list + entities : list One or more names of the objects. level : int Level of the surface mesh. Options are ``1`` through ``10`` @@ -568,17 +568,17 @@ def assign_surface_mesh(self, objects, level, name=None): >>> o = hfss.modeler.create_cylinder(0, [0, 0, 0], 3, 20, 0) >>> surface = hfss.mesh.assign_surface_mesh(o.id,3,"Surface") """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if name: for m in self.meshoperations: if name == m.name: name = generate_unique_name(name) else: name = generate_unique_name("SurfApprox") - self.logger.info("Assigning Mesh Level " + str(level) + " to " + str(objects)) - objects = self._app.modeler.convert_to_selections(objects, True) + self.logger.info("Assigning Mesh Level " + str(level) + " to " + str(entities)) + entities = self._app.modeler.convert_to_selections(entities, True) - if isinstance(objects[0], int): + if isinstance(entities[0], int): seltype = "Faces" else: seltype = "Objects" @@ -586,7 +586,7 @@ def assign_surface_mesh(self, objects, level, name=None): { "Type": "SurfApproxBased", "CurvedSurfaceApproxChoice": "UseSlider", - seltype: objects, + seltype: entities, "SliderMeshSettings": level, } ) @@ -595,15 +595,15 @@ def assign_surface_mesh(self, objects, level, name=None): self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="objects", surf_dev="surface_deviation", meshop_name="name") + @pyaedt_function_handler(names="entities", surf_dev="surface_deviation", meshop_name="name") def assign_surface_mesh_manual( - self, objects, surface_deviation=None, normal_dev=None, aspect_ratio=None, name=None + self, entities, surface_deviation=None, normal_dev=None, aspect_ratio=None, name=None ): """Assign a surface mesh to a list of faces. Parameters ---------- - objects : list or str or :class:`pyaedt.modeler.elements3d.FacePrimitive` + entities : list or str or :class:`pyaedt.modeler.elements3d.FacePrimitive` List of faces to apply the surface mesh to. surface_deviation : float or str, optional Surface deviation. The default is ``None``. You can specify a float value, a number with units, or `"inf"`. @@ -633,7 +633,7 @@ def assign_surface_mesh_manual( >>> o = hfss.modeler.create_cylinder(0, [0, 0, 0], 3, 20, 0) >>> surface = hfss.mesh.assign_surface_mesh_manual(o.id,1e-6,aspect_ratio=3,name="Surface_Manual") """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if name: for m in self.meshoperations: if name == m.name: @@ -661,7 +661,7 @@ def assign_surface_mesh_manual( props = OrderedDict( { "Type": "SurfApproxBased", - "Objects": objects, + "Objects": entities, "CurvedSurfaceApproxChoice": "ManualSettings", "SurfDevChoice": surf_dev_enable, "SurfDev": surface_deviation, @@ -677,13 +677,13 @@ def assign_surface_mesh_manual( self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="objects", meshop_name="name") - def assign_model_resolution(self, objects, defeature_length=None, name=None): + @pyaedt_function_handler(names="entities", meshop_name="name") + def assign_model_resolution(self, entities, defeature_length=None, name=None): """Assign the model resolution. Parameters ---------- - objects : list + entities : list List of objects to defeature. defeature_length : float, optional Defeaturing length in millimeters. The default is ``None``, in which case @@ -710,24 +710,24 @@ def assign_model_resolution(self, objects, defeature_length=None, name=None): >>> o = hfss.modeler.create_cylinder(0, [0, 0, 0], 3, 20, 0) >>> surface = hfss.mesh.assign_model_resolution(o,1e-4,"ModelRes1") """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if name: for m in self.meshoperations: if name == m.name: name = generate_unique_name(name) else: name = generate_unique_name("ModelResolution") - for name in objects: + for name in entities: if isinstance(name, int): self.logger.error("Mesh Operation Applies to Objects only") return False if defeature_length is None: - props = OrderedDict({"Objects": objects, "UseAutoLength": True}) + props = OrderedDict({"Objects": entities, "UseAutoLength": True}) else: props = OrderedDict( { "Type": "DefeatureBased", - "Objects": objects, + "Objects": entities, "UseAutoLength": False, "DefeatureLength": str(defeature_length) + "mm", } @@ -830,13 +830,13 @@ def assign_initial_mesh_from_slider( self.omeshmodule.InitialMeshSettings(args) return True - @pyaedt_function_handler(object_lists="objects", surfpriority="surface_priority") - def assign_surf_priority_for_tau(self, objects, surface_priority=0): + @pyaedt_function_handler(object_lists="entities", surfpriority="surface_priority") + def assign_surf_priority_for_tau(self, entities, surface_priority=0): """Assign a surface representation priority for the TAU mesh. Parameters ---------- - objects : list + entities : list List of objects to apply a surface representation priority to. surface_priority : int, optional @@ -853,7 +853,7 @@ def assign_surf_priority_for_tau(self, objects, surface_priority=0): >>> oModule.AssignSurfPriorityForTauOp """ meshop_name = generate_unique_name("SurfaceRepPriority") - props = OrderedDict({"Type": "SurfaceRepPriority", "Objects": objects, "SurfaceRepPriority": surface_priority}) + props = OrderedDict({"Type": "SurfaceRepPriority", "Objects": entities, "SurfaceRepPriority": surface_priority}) mop = MeshOperation(self, meshop_name, props, "SurfaceRepPriority") mop.create() self.meshoperations.append(mop) @@ -918,18 +918,18 @@ def delete_mesh_operations(self, mesh_type=None): return True @pyaedt_function_handler( - names="objects", + names="entities", isinside="inside_selection", maxlength="maximum_length", maxel="maximum_elements", meshop_name="name", ) - def assign_length_mesh(self, objects, inside_selection=True, maximum_length=1, maximum_elements=1000, name=None): + def assign_length_mesh(self, entities, inside_selection=True, maximum_length=1, maximum_elements=1000, name=None): """Assign a length for the model resolution. Parameters ---------- - objects : list, str + entities : list, str List of object names or face IDs. inside_selection : bool, optional Whether the length mesh is inside the selection. The default is ``True``. @@ -952,7 +952,7 @@ def assign_length_mesh(self, objects, inside_selection=True, maximum_length=1, m >>> oModule.AssignLengthOp """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if name: for m in self.meshoperations: if name == m.name: @@ -975,11 +975,11 @@ def assign_length_mesh(self, objects, inside_selection=True, maximum_length=1, m if maximum_length is None and maximum_elements is None: self.logger.error("mesh not assigned due to incorrect settings") return - objects = self._app.modeler.convert_to_selections(objects, True) + entities = self._app.modeler.convert_to_selections(entities, True) - if isinstance(objects[0], int) and not inside_selection: + if isinstance(entities[0], int) and not inside_selection: seltype = "Faces" - elif isinstance(objects[0], str): + elif isinstance(entities[0], str): seltype = "Objects" else: seltype = None @@ -991,7 +991,7 @@ def assign_length_mesh(self, objects, inside_selection=True, maximum_length=1, m "Type": "LengthBased", "RefineInside": inside_selection, "Enabled": True, - seltype: objects, + seltype: entities, "RestrictElem": restrictel, "NumMaxElem": numel, "RestrictLength": restrictlength, @@ -1009,7 +1009,7 @@ def assign_length_mesh(self, objects, inside_selection=True, maximum_length=1, m return mop @pyaedt_function_handler( - names="objects", + names="entities", skindepth="skin_depth", maxelements="maximum_elements", triangulation_max_length="0.1mm", @@ -1018,7 +1018,7 @@ def assign_length_mesh(self, objects, inside_selection=True, maximum_length=1, m ) def assign_skin_depth( self, - objects, + entities, skin_depth="0.2mm", maximum_elements=None, triangulation_max_length="0.1mm", @@ -1029,7 +1029,7 @@ def assign_skin_depth( Parameters ---------- - objects : list + entities : list List of the object names or face IDs. skin_depth : str, float, optional Skin depth value. @@ -1054,7 +1054,7 @@ def assign_skin_depth( >>> oModule.AssignSkinDepthOp """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if self._app.design_type != "HFSS" and self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1070,11 +1070,11 @@ def assign_skin_depth( maximum_elements = "1000" else: restrictlength = True - objects = self._app.modeler.convert_to_selections(objects, True) + entities = self._app.modeler.convert_to_selections(entities, True) - if isinstance(objects[0], int): + if isinstance(entities[0], int): seltype = "Faces" - elif isinstance(objects[0], str): + elif isinstance(entities[0], str): seltype = "Objects" else: seltype = None @@ -1086,7 +1086,7 @@ def assign_skin_depth( { "Type": "SkinDepthBased", "Enabled": True, - seltype: objects, + seltype: entities, "RestrictElem": restrictlength, "NumMaxElem": str(maximum_elements), "SkinDepth": skin_depth, @@ -1100,13 +1100,13 @@ def assign_skin_depth( self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="objects", meshop_name="name") - def assign_curvilinear_elements(self, objects, enable=True, name=None): + @pyaedt_function_handler(names="entities", meshop_name="name") + def assign_curvilinear_elements(self, entities, enable=True, name=None): """Assign curvilinear elements. Parameters ---------- - objects : list + entities : list List of objects or faces. enable : bool, optional Whether to apply curvilinear elements. The default is ``True``. @@ -1123,7 +1123,7 @@ def assign_curvilinear_elements(self, objects, enable=True, name=None): >>> oModule.AssignApplyCurvlinearElementsOp """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if self._app.design_type != "HFSS" and self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1133,32 +1133,32 @@ def assign_curvilinear_elements(self, objects, enable=True, name=None): name = generate_unique_name(name) else: name = generate_unique_name("CurvilinearElements") - objects = self._app.modeler.convert_to_selections(objects, True) + entities = self._app.modeler.convert_to_selections(entities, True) - if isinstance(objects[0], int): + if isinstance(entities[0], int): seltype = "Faces" - elif isinstance(objects[0], str): + elif isinstance(entities[0], str): seltype = "Objects" else: seltype = None if seltype is None: self.logger.error("Error in Assignment") return - props = OrderedDict({"Type": "Curvilinear", seltype: objects, "Apply": enable}) + props = OrderedDict({"Type": "Curvilinear", seltype: entities, "Apply": enable}) mop = MeshOperation(self, name, props, "Curvilinear") mop.create() self.meshoperations.append(mop) return mop @pyaedt_function_handler( - names="objects", disable_for_faceted_surf="disabled_for_faceted", meshoperation_names="name" + names="entities", disable_for_faceted_surf="disabled_for_faceted", meshoperation_names="name" ) - def assign_curvature_extraction(self, objects, disabled_for_faceted=True, name=None): + def assign_curvature_extraction(self, entities, disabled_for_faceted=True, name=None): """Assign curvature extraction. Parameters ---------- - objects : list + entities : list List of objects or faces. disabled_for_faceted : bool, optional Whether curvature extraction is enabled for faceted surfaces. @@ -1176,7 +1176,7 @@ def assign_curvature_extraction(self, objects, disabled_for_faceted=True, name=N >>> oModule.AssignCurvatureExtractionOp """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if self._app.solution_type != "SBR+": raise MethodNotSupportedError @@ -1186,10 +1186,10 @@ def assign_curvature_extraction(self, objects, disabled_for_faceted=True, name=N name = generate_unique_name(name) else: name = generate_unique_name("CurvilinearElements") - objects = self._app.modeler.convert_to_selections(objects, True) - if isinstance(objects[0], int): + entities = self._app.modeler.convert_to_selections(entities, True) + if isinstance(entities[0], int): seltype = "Faces" - elif isinstance(objects[0], str): + elif isinstance(entities[0], str): seltype = "Objects" else: seltype = None @@ -1197,20 +1197,20 @@ def assign_curvature_extraction(self, objects, disabled_for_faceted=True, name=N self.logger.error("Error in Assignment") return props = OrderedDict( - {"Type": "CurvatureExtraction", seltype: objects, "DisableForFacetedSurfaces": disabled_for_faceted} + {"Type": "CurvatureExtraction", seltype: entities, "DisableForFacetedSurfaces": disabled_for_faceted} ) mop = MeshOperation(self, name, props, "CurvatureExtraction") mop.create() self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="objects", num_layers="layers_number", meshop_name="name") - def assign_rotational_layer(self, objects, layers_number=3, total_thickness="1mm", name=None): + @pyaedt_function_handler(names="entities", num_layers="layers_number", meshop_name="name") + def assign_rotational_layer(self, entities, layers_number=3, total_thickness="1mm", name=None): """Assign a rotational layer mesh. Parameters ---------- - objects : list + entities : list List of objects. layers_number : int, optional Number of layers to create in the radial direction, starting from @@ -1230,7 +1230,7 @@ def assign_rotational_layer(self, objects, layers_number=3, total_thickness="1mm >>> oModule.AssignRotationalLayerOp """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1244,7 +1244,7 @@ def assign_rotational_layer(self, objects, layers_number=3, total_thickness="1mm props = OrderedDict( { "Type": "RotationalLayerMesh", - seltype: objects, + seltype: entities, "Number of Layers": str(layers_number), "Total Layer Thickness": total_thickness, } @@ -1256,13 +1256,13 @@ def assign_rotational_layer(self, objects, layers_number=3, total_thickness="1mm self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="objects", meshop_name="name") - def assign_edge_cut(self, objects, layer_thickness="1mm", name=None): + @pyaedt_function_handler(names="entities", meshop_name="name") + def assign_edge_cut(self, entities, layer_thickness="1mm", name=None): """Assign an edge cut layer mesh. Parameters ---------- - objects : list + entities : list List of objects. layer_thickness : Thickness of the layer with units. The default is ``"1mm"``. @@ -1279,7 +1279,7 @@ def assign_edge_cut(self, objects, layer_thickness="1mm", name=None): >>> oModule.AssignRotationalLayerOp """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1290,7 +1290,7 @@ def assign_edge_cut(self, objects, layer_thickness="1mm", name=None): else: name = generate_unique_name("EdgeCut") seltype = "Objects" - props = OrderedDict({"Type": "EdgeCutLayerMesh", seltype: objects, "Layer Thickness": layer_thickness}) + props = OrderedDict({"Type": "EdgeCutLayerMesh", seltype: entities, "Layer Thickness": layer_thickness}) mop = MeshOperation(self, name, props, "EdgeCutLayerMesh") mop.create() @@ -1299,16 +1299,16 @@ def assign_edge_cut(self, objects, layer_thickness="1mm", name=None): return mop @pyaedt_function_handler( - names="objects", maxelementlength="maximum_element_length", layerNum="layers_number", meshop_name="name" + names="entities", maxelementlength="maximum_element_length", layerNum="layers_number", meshop_name="name" ) def assign_density_control( - self, objects, refine_inside=True, maximum_element_length=None, layers_number=None, name=None + self, entities, refine_inside=True, maximum_element_length=None, layers_number=None, name=None ): """Assign density control. Parameters ---------- - objects : list + entities : list List of objects. refine_inside : bool, optional Whether to refine inside objects. The default is ``True``. @@ -1331,7 +1331,7 @@ def assign_density_control( >>> oModule.AssignDensityControlOp """ - objects = self.modeler.convert_to_selections(objects, True) + entities = self.modeler.convert_to_selections(entities, True) if self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1358,7 +1358,7 @@ def assign_density_control( { "Type": "DensityControlBased", "RefineInside": refine_inside, - seltype: objects, + seltype: entities, "RestrictMaxElemLength": restr, "MaxElemLength": restrval, "RestrictLayersNum": restrlay, @@ -1370,10 +1370,10 @@ def assign_density_control( self.meshoperations.append(mop) return mop - @pyaedt_function_handler(obj="objects", meshop_name="name") + @pyaedt_function_handler(obj="entity", meshop_name="name") def assign_cylindrical_gap( self, - objects, + entity, name=None, band_mapping_angle=None, clone_mesh=False, @@ -1384,7 +1384,7 @@ def assign_cylindrical_gap( Parameters ---------- - objects : int or str or :class:`pyaedt.modeler.cad.object3d.Object3d` + entity : int or str or :class:`pyaedt.modeler.cad.object3d.Object3d` Object to assign cylindrical gap to. name : str, optional Name of the mesh. The default is ``None``, in which @@ -1428,8 +1428,8 @@ def assign_cylindrical_gap( if self._app.design_type != "Maxwell 2D" and self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError - objects = self.modeler.convert_to_selections(objects, True) - if len(objects) > 1: + entity = self.modeler.convert_to_selections(entity, True) + if len(entity) > 1: self.logger.error("Cylindrical gap treatment cannot be assigned to multiple objects.") raise ValueError if [x for x in self.meshoperations if x.type == "Cylindrical Gap Based" or x.type == "CylindricalGap"]: @@ -1453,7 +1453,7 @@ def assign_cylindrical_gap( props = OrderedDict( { "Name": name, - "Objects": objects, + "Objects": entity, "CloneMesh": clone_mesh, "BandMappingAngle": str(band_mapping_angle) + "deg", "MovingSideLayers": moving_side_layers, @@ -1469,7 +1469,7 @@ def assign_cylindrical_gap( props = OrderedDict( { "Name": name, - "Objects": objects, + "Objects": entity, "UseBandMappingAngle": use_band_mapping_angle, "BandMappingAngle": str(band_mapping_angle) + "deg", } diff --git a/pyaedt/modules/MeshIcepak.py b/pyaedt/modules/MeshIcepak.py index 21716fac11a..f5f695dc14d 100644 --- a/pyaedt/modules/MeshIcepak.py +++ b/pyaedt/modules/MeshIcepak.py @@ -1091,13 +1091,13 @@ def assign_mesh_level(self, mesh_order, name=None): list_meshops.append(name) return list_meshops - @pyaedt_function_handler(filename="file_name", meshop_name="name") - def assign_mesh_from_file(self, objects, file_name, name=None): + @pyaedt_function_handler(objects="entities", filename="file_name", meshop_name="name") + def assign_mesh_from_file(self, entities, file_name, name=None): """Assign a mesh from file to objects. Parameters ---------- - objects : list + entities : list List of objects to which apply the mesh file. file_name : str Full path to .msh file. @@ -1114,7 +1114,7 @@ def assign_mesh_from_file(self, objects, file_name, name=None): >>> oModule.AssignMeshOperation """ - objs = self._app.modeler.convert_to_selections(objects, True) + objs = self._app.modeler.convert_to_selections(entities, True) if name: name = generate_unique_name("MeshFile") else: @@ -1212,8 +1212,8 @@ def automatic_mesh_3D(self, accuracy, enable_stair_step=True): self.global_mesh_region.update() return True - @pyaedt_function_handler(obj_list="objects", comp_name="component") - def add_priority(self, entity_type, objects=None, component=None, priority=3): + @pyaedt_function_handler(obj_list="entities", comp_name="component") + def add_priority(self, entity_type, entities=None, component=None, priority=3): """Add priority to objects. Parameters @@ -1221,7 +1221,7 @@ def add_priority(self, entity_type, objects=None, component=None, priority=3): entity_type : int Type of the entity. Options are ``1`` and ``2``, which represent respectively an object and a component. - objects : list + entities : list List of 3D objects, which can include conductors and dielectrics. If the user pass a non 3D object, it will be excluded. component : str, optional @@ -1244,7 +1244,7 @@ def add_priority(self, entity_type, objects=None, component=None, priority=3): >>> from pyaedt import Icepak >>> app = Icepak() - >>> app.mesh.add_priority(entity_type=1,objects=app.modeler.object_names,priority=3) + >>> app.mesh.add_priority(entity_type=1,entities=app.modeler.object_names,priority=3) >>> app.mesh.add_priority(entity_type=2,component=app.modeler.user_defined_component_names[0],priority=2) """ i = priority @@ -1253,10 +1253,10 @@ def add_priority(self, entity_type, objects=None, component=None, priority=3): if entity_type == 1: non_user_defined_component_parts = self._app.modeler.oeditor.GetChildNames() new_obj_list = [] - for comp in objects: + for comp in entities: if comp != "Region" and comp in non_user_defined_component_parts: new_obj_list.append(comp) - objects = ", ".join(new_obj_list) + entities = ", ".join(new_obj_list) if not new_obj_list: return False prio = [ @@ -1264,7 +1264,7 @@ def add_priority(self, entity_type, objects=None, component=None, priority=3): "EntityType:=", "Object", "EntityList:=", - objects, + entities, "PriorityNumber:=", i, "PriorityListType:=", @@ -1333,13 +1333,13 @@ def add_priority(self, entity_type, objects=None, component=None, priority=3): self.modeler.oeditor.UpdatePriorityList(args) return True - @pyaedt_function_handler(objectlist="objects") - def assign_mesh_region(self, objects=None, level=5, name=None, **kwargs): + @pyaedt_function_handler(objectlist="entities") + def assign_mesh_region(self, entities=None, level=5, name=None, **kwargs): """Assign a predefined surface mesh level to an object. Parameters ---------- - objects : list, optional + entities : list, optional List of objects to apply the mesh region to. The default is ``None``, in which case all objects are selected. level : int, optional @@ -1359,9 +1359,9 @@ def assign_mesh_region(self, objects=None, level=5, name=None, **kwargs): """ if not name: name = generate_unique_name("MeshRegion") - if objects is None: - objects = [i for i in self.modeler.object_names] - meshregion = MeshRegion(self._app, objects, name) + if entities is None: + entities = [i for i in self.modeler.object_names] + meshregion = MeshRegion(self._app, entities, name) meshregion.manual_settings = False meshregion.Level = level all_objs = [i for i in self.modeler.object_names] @@ -1371,7 +1371,7 @@ def assign_mesh_region(self, objects=None, level=5, name=None, **kwargs): objectlist2 = self.modeler.object_names added_obj = [i for i in objectlist2 if i not in all_objs] if not added_obj: - added_obj = [i for i in objectlist2 if i not in all_objs or i in objects] + added_obj = [i for i in objectlist2 if i not in all_objs or i in entities] meshregion.Objects = added_obj meshregion.SubModels = None meshregion.update() From 95844ae0c6baa344ef8df93313d1f7e098eac92f Mon Sep 17 00:00:00 2001 From: maxcapodi78 Date: Tue, 9 Apr 2024 15:36:59 +0200 Subject: [PATCH 2/6] replaced assignment in all mesh arguments --- _unittest/test_98_Icepak.py | 2 +- .../03-Maxwell/Maxwell2D_Electrostatic.py | 2 +- examples/03-Maxwell/Maxwell3D_Choke.py | 4 +- examples/04-Icepak/Icepak_Example.py | 2 +- .../06-Multiphysics/Hfss_Icepak_Coupling.py | 4 +- pyaedt/modules/Mesh.py | 144 +++++++++--------- pyaedt/modules/MeshIcepak.py | 36 ++--- 7 files changed, 98 insertions(+), 96 deletions(-) diff --git a/_unittest/test_98_Icepak.py b/_unittest/test_98_Icepak.py index c1dc9059145..5bef6c59f96 100644 --- a/_unittest/test_98_Icepak.py +++ b/_unittest/test_98_Icepak.py @@ -1039,7 +1039,7 @@ def test_56_mesh_priority(self): custom_x_resolution=400, custom_y_resolution=500, ) - assert self.aedtapp.mesh.add_priority(entity_type=1, entities=self.aedtapp.modeler.object_names, priority=2) + assert self.aedtapp.mesh.add_priority(entity_type=1, assignment=self.aedtapp.modeler.object_names, priority=2) assert self.aedtapp.mesh.add_priority( entity_type=2, component=self.aedtapp.modeler.user_defined_component_names[0], priority=1 ) diff --git a/examples/03-Maxwell/Maxwell2D_Electrostatic.py b/examples/03-Maxwell/Maxwell2D_Electrostatic.py index c007d801ff4..03908f0ae14 100644 --- a/examples/03-Maxwell/Maxwell2D_Electrostatic.py +++ b/examples/03-Maxwell/Maxwell2D_Electrostatic.py @@ -137,7 +137,7 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Assign a surface mesh to the rectangle. -M2D.mesh.assign_surface_mesh_manual(entities=['Ground'], surface_deviation=0.001) +M2D.mesh.assign_surface_mesh_manual(assignment=['Ground'], surface_deviation=0.001) ################################################################################## # Create, validate and analyze the setup diff --git a/examples/03-Maxwell/Maxwell3D_Choke.py b/examples/03-Maxwell/Maxwell3D_Choke.py index 1205ff36495..7e07b04fb99 100644 --- a/examples/03-Maxwell/Maxwell3D_Choke.py +++ b/examples/03-Maxwell/Maxwell3D_Choke.py @@ -176,8 +176,8 @@ # Create the mesh operation. mesh = m3d.mesh -mesh.assign_skin_depth(entities=[first_winding_list[0], second_winding_list[0], third_winding_list[0]], skin_depth=0.20, - triangulation_max_length="10mm", name="skin_depth") +mesh.assign_skin_depth(assignment=[first_winding_list[0], second_winding_list[0], third_winding_list[0]], + skin_depth=0.20, triangulation_max_length="10mm", name="skin_depth") mesh.assign_surface_mesh_manual([first_winding_list[0], second_winding_list[0], third_winding_list[0]], surface_deviation=None, normal_dev="30deg", name="surface_approx") diff --git a/examples/04-Icepak/Icepak_Example.py b/examples/04-Icepak/Icepak_Example.py index e7cea7c55ad..b77ad5cfb55 100644 --- a/examples/04-Icepak/Icepak_Example.py +++ b/examples/04-Icepak/Icepak_Example.py @@ -72,7 +72,7 @@ # ~~~~~~~~~~~~~~~~~~~ # Assign a mesh region to the heat sink and CPU. -mesh_region = ipk.mesh.assign_mesh_region(entities=["HEAT_SINK", "CPU"]) +mesh_region = ipk.mesh.assign_mesh_region(assignment=["HEAT_SINK", "CPU"]) mesh_region.UserSpecifiedSettings = True mesh_region.MaxElementSizeX = "3.35mm" mesh_region.MaxElementSizeY = "1.75mm" diff --git a/examples/06-Multiphysics/Hfss_Icepak_Coupling.py b/examples/06-Multiphysics/Hfss_Icepak_Coupling.py index 1cc3919dd9b..a94e1e1a9e8 100644 --- a/examples/06-Multiphysics/Hfss_Icepak_Coupling.py +++ b/examples/06-Multiphysics/Hfss_Icepak_Coupling.py @@ -118,8 +118,8 @@ # edit or review parameter values. aedtapp.mesh.assign_initial_mesh_from_slider(level=6) -aedtapp.mesh.assign_model_resolution(entities=[o1.name, o3.name], defeature_length=None) -aedtapp.mesh.assign_length_mesh(entities=o2.faces, inside_selection=False, maximum_length=1, maximum_elements=2000) +aedtapp.mesh.assign_model_resolution(assignment=[o1.name, o3.name], defeature_length=None) +aedtapp.mesh.assign_length_mesh(assignment=o2.faces, inside_selection=False, maximum_length=1, maximum_elements=2000) ############################################################################### # Create excitations diff --git a/pyaedt/modules/Mesh.py b/pyaedt/modules/Mesh.py index f6fa97eef3b..124512b0735 100644 --- a/pyaedt/modules/Mesh.py +++ b/pyaedt/modules/Mesh.py @@ -536,13 +536,13 @@ def _get_design_mesh_operations(self): pass return meshops - @pyaedt_function_handler(names="entities", meshop_name="name") - def assign_surface_mesh(self, entities, level, name=None): + @pyaedt_function_handler(names="assignment", meshop_name="name") + def assign_surface_mesh(self, assignment, level, name=None): """Assign a surface mesh level to one or more objects. Parameters ---------- - entities : list + assignment : list One or more names of the objects. level : int Level of the surface mesh. Options are ``1`` through ``10`` @@ -568,17 +568,17 @@ def assign_surface_mesh(self, entities, level, name=None): >>> o = hfss.modeler.create_cylinder(0, [0, 0, 0], 3, 20, 0) >>> surface = hfss.mesh.assign_surface_mesh(o.id,3,"Surface") """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if name: for m in self.meshoperations: if name == m.name: name = generate_unique_name(name) else: name = generate_unique_name("SurfApprox") - self.logger.info("Assigning Mesh Level " + str(level) + " to " + str(entities)) - entities = self._app.modeler.convert_to_selections(entities, True) + self.logger.info("Assigning Mesh Level " + str(level) + " to " + str(assignment)) + assignment = self._app.modeler.convert_to_selections(assignment, True) - if isinstance(entities[0], int): + if isinstance(assignment[0], int): seltype = "Faces" else: seltype = "Objects" @@ -586,7 +586,7 @@ def assign_surface_mesh(self, entities, level, name=None): { "Type": "SurfApproxBased", "CurvedSurfaceApproxChoice": "UseSlider", - seltype: entities, + seltype: assignment, "SliderMeshSettings": level, } ) @@ -595,15 +595,15 @@ def assign_surface_mesh(self, entities, level, name=None): self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="entities", surf_dev="surface_deviation", meshop_name="name") + @pyaedt_function_handler(names="assignment", surf_dev="surface_deviation", meshop_name="name") def assign_surface_mesh_manual( - self, entities, surface_deviation=None, normal_dev=None, aspect_ratio=None, name=None + self, assignment, surface_deviation=None, normal_dev=None, aspect_ratio=None, name=None ): """Assign a surface mesh to a list of faces. Parameters ---------- - entities : list or str or :class:`pyaedt.modeler.elements3d.FacePrimitive` + assignment : list or str or :class:`pyaedt.modeler.elements3d.FacePrimitive` List of faces to apply the surface mesh to. surface_deviation : float or str, optional Surface deviation. The default is ``None``. You can specify a float value, a number with units, or `"inf"`. @@ -633,7 +633,7 @@ def assign_surface_mesh_manual( >>> o = hfss.modeler.create_cylinder(0, [0, 0, 0], 3, 20, 0) >>> surface = hfss.mesh.assign_surface_mesh_manual(o.id,1e-6,aspect_ratio=3,name="Surface_Manual") """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if name: for m in self.meshoperations: if name == m.name: @@ -661,7 +661,7 @@ def assign_surface_mesh_manual( props = OrderedDict( { "Type": "SurfApproxBased", - "Objects": entities, + "Objects": assignment, "CurvedSurfaceApproxChoice": "ManualSettings", "SurfDevChoice": surf_dev_enable, "SurfDev": surface_deviation, @@ -677,13 +677,13 @@ def assign_surface_mesh_manual( self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="entities", meshop_name="name") - def assign_model_resolution(self, entities, defeature_length=None, name=None): + @pyaedt_function_handler(names="assignment", meshop_name="name") + def assign_model_resolution(self, assignment, defeature_length=None, name=None): """Assign the model resolution. Parameters ---------- - entities : list + assignment : list List of objects to defeature. defeature_length : float, optional Defeaturing length in millimeters. The default is ``None``, in which case @@ -710,24 +710,24 @@ def assign_model_resolution(self, entities, defeature_length=None, name=None): >>> o = hfss.modeler.create_cylinder(0, [0, 0, 0], 3, 20, 0) >>> surface = hfss.mesh.assign_model_resolution(o,1e-4,"ModelRes1") """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if name: for m in self.meshoperations: if name == m.name: name = generate_unique_name(name) else: name = generate_unique_name("ModelResolution") - for name in entities: + for name in assignment: if isinstance(name, int): self.logger.error("Mesh Operation Applies to Objects only") return False if defeature_length is None: - props = OrderedDict({"Objects": entities, "UseAutoLength": True}) + props = OrderedDict({"Objects": assignment, "UseAutoLength": True}) else: props = OrderedDict( { "Type": "DefeatureBased", - "Objects": entities, + "Objects": assignment, "UseAutoLength": False, "DefeatureLength": str(defeature_length) + "mm", } @@ -830,13 +830,13 @@ def assign_initial_mesh_from_slider( self.omeshmodule.InitialMeshSettings(args) return True - @pyaedt_function_handler(object_lists="entities", surfpriority="surface_priority") - def assign_surf_priority_for_tau(self, entities, surface_priority=0): + @pyaedt_function_handler(object_lists="assignment", surfpriority="surface_priority") + def assign_surf_priority_for_tau(self, assignment, surface_priority=0): """Assign a surface representation priority for the TAU mesh. Parameters ---------- - entities : list + assignment : list List of objects to apply a surface representation priority to. surface_priority : int, optional @@ -853,7 +853,9 @@ def assign_surf_priority_for_tau(self, entities, surface_priority=0): >>> oModule.AssignSurfPriorityForTauOp """ meshop_name = generate_unique_name("SurfaceRepPriority") - props = OrderedDict({"Type": "SurfaceRepPriority", "Objects": entities, "SurfaceRepPriority": surface_priority}) + props = OrderedDict( + {"Type": "SurfaceRepPriority", "Objects": assignment, "SurfaceRepPriority": surface_priority} + ) mop = MeshOperation(self, meshop_name, props, "SurfaceRepPriority") mop.create() self.meshoperations.append(mop) @@ -918,18 +920,18 @@ def delete_mesh_operations(self, mesh_type=None): return True @pyaedt_function_handler( - names="entities", + names="assignment", isinside="inside_selection", maxlength="maximum_length", maxel="maximum_elements", meshop_name="name", ) - def assign_length_mesh(self, entities, inside_selection=True, maximum_length=1, maximum_elements=1000, name=None): + def assign_length_mesh(self, assignment, inside_selection=True, maximum_length=1, maximum_elements=1000, name=None): """Assign a length for the model resolution. Parameters ---------- - entities : list, str + assignment : list, str List of object names or face IDs. inside_selection : bool, optional Whether the length mesh is inside the selection. The default is ``True``. @@ -952,7 +954,7 @@ def assign_length_mesh(self, entities, inside_selection=True, maximum_length=1, >>> oModule.AssignLengthOp """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if name: for m in self.meshoperations: if name == m.name: @@ -975,11 +977,11 @@ def assign_length_mesh(self, entities, inside_selection=True, maximum_length=1, if maximum_length is None and maximum_elements is None: self.logger.error("mesh not assigned due to incorrect settings") return - entities = self._app.modeler.convert_to_selections(entities, True) + assignment = self._app.modeler.convert_to_selections(assignment, True) - if isinstance(entities[0], int) and not inside_selection: + if isinstance(assignment[0], int) and not inside_selection: seltype = "Faces" - elif isinstance(entities[0], str): + elif isinstance(assignment[0], str): seltype = "Objects" else: seltype = None @@ -991,7 +993,7 @@ def assign_length_mesh(self, entities, inside_selection=True, maximum_length=1, "Type": "LengthBased", "RefineInside": inside_selection, "Enabled": True, - seltype: entities, + seltype: assignment, "RestrictElem": restrictel, "NumMaxElem": numel, "RestrictLength": restrictlength, @@ -1009,7 +1011,7 @@ def assign_length_mesh(self, entities, inside_selection=True, maximum_length=1, return mop @pyaedt_function_handler( - names="entities", + names="assignment", skindepth="skin_depth", maxelements="maximum_elements", triangulation_max_length="0.1mm", @@ -1018,7 +1020,7 @@ def assign_length_mesh(self, entities, inside_selection=True, maximum_length=1, ) def assign_skin_depth( self, - entities, + assignment, skin_depth="0.2mm", maximum_elements=None, triangulation_max_length="0.1mm", @@ -1029,7 +1031,7 @@ def assign_skin_depth( Parameters ---------- - entities : list + assignment : list List of the object names or face IDs. skin_depth : str, float, optional Skin depth value. @@ -1054,7 +1056,7 @@ def assign_skin_depth( >>> oModule.AssignSkinDepthOp """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if self._app.design_type != "HFSS" and self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1070,11 +1072,11 @@ def assign_skin_depth( maximum_elements = "1000" else: restrictlength = True - entities = self._app.modeler.convert_to_selections(entities, True) + assignment = self._app.modeler.convert_to_selections(assignment, True) - if isinstance(entities[0], int): + if isinstance(assignment[0], int): seltype = "Faces" - elif isinstance(entities[0], str): + elif isinstance(assignment[0], str): seltype = "Objects" else: seltype = None @@ -1086,7 +1088,7 @@ def assign_skin_depth( { "Type": "SkinDepthBased", "Enabled": True, - seltype: entities, + seltype: assignment, "RestrictElem": restrictlength, "NumMaxElem": str(maximum_elements), "SkinDepth": skin_depth, @@ -1100,13 +1102,13 @@ def assign_skin_depth( self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="entities", meshop_name="name") - def assign_curvilinear_elements(self, entities, enable=True, name=None): + @pyaedt_function_handler(names="assignment", meshop_name="name") + def assign_curvilinear_elements(self, assignment, enable=True, name=None): """Assign curvilinear elements. Parameters ---------- - entities : list + assignment : list List of objects or faces. enable : bool, optional Whether to apply curvilinear elements. The default is ``True``. @@ -1123,7 +1125,7 @@ def assign_curvilinear_elements(self, entities, enable=True, name=None): >>> oModule.AssignApplyCurvlinearElementsOp """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if self._app.design_type != "HFSS" and self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1133,32 +1135,32 @@ def assign_curvilinear_elements(self, entities, enable=True, name=None): name = generate_unique_name(name) else: name = generate_unique_name("CurvilinearElements") - entities = self._app.modeler.convert_to_selections(entities, True) + assignment = self._app.modeler.convert_to_selections(assignment, True) - if isinstance(entities[0], int): + if isinstance(assignment[0], int): seltype = "Faces" - elif isinstance(entities[0], str): + elif isinstance(assignment[0], str): seltype = "Objects" else: seltype = None if seltype is None: self.logger.error("Error in Assignment") return - props = OrderedDict({"Type": "Curvilinear", seltype: entities, "Apply": enable}) + props = OrderedDict({"Type": "Curvilinear", seltype: assignment, "Apply": enable}) mop = MeshOperation(self, name, props, "Curvilinear") mop.create() self.meshoperations.append(mop) return mop @pyaedt_function_handler( - names="entities", disable_for_faceted_surf="disabled_for_faceted", meshoperation_names="name" + names="assignment", disable_for_faceted_surf="disabled_for_faceted", meshoperation_names="name" ) - def assign_curvature_extraction(self, entities, disabled_for_faceted=True, name=None): + def assign_curvature_extraction(self, assignment, disabled_for_faceted=True, name=None): """Assign curvature extraction. Parameters ---------- - entities : list + assignment : list List of objects or faces. disabled_for_faceted : bool, optional Whether curvature extraction is enabled for faceted surfaces. @@ -1176,7 +1178,7 @@ def assign_curvature_extraction(self, entities, disabled_for_faceted=True, name= >>> oModule.AssignCurvatureExtractionOp """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if self._app.solution_type != "SBR+": raise MethodNotSupportedError @@ -1186,10 +1188,10 @@ def assign_curvature_extraction(self, entities, disabled_for_faceted=True, name= name = generate_unique_name(name) else: name = generate_unique_name("CurvilinearElements") - entities = self._app.modeler.convert_to_selections(entities, True) - if isinstance(entities[0], int): + assignment = self._app.modeler.convert_to_selections(assignment, True) + if isinstance(assignment[0], int): seltype = "Faces" - elif isinstance(entities[0], str): + elif isinstance(assignment[0], str): seltype = "Objects" else: seltype = None @@ -1197,20 +1199,20 @@ def assign_curvature_extraction(self, entities, disabled_for_faceted=True, name= self.logger.error("Error in Assignment") return props = OrderedDict( - {"Type": "CurvatureExtraction", seltype: entities, "DisableForFacetedSurfaces": disabled_for_faceted} + {"Type": "CurvatureExtraction", seltype: assignment, "DisableForFacetedSurfaces": disabled_for_faceted} ) mop = MeshOperation(self, name, props, "CurvatureExtraction") mop.create() self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="entities", num_layers="layers_number", meshop_name="name") - def assign_rotational_layer(self, entities, layers_number=3, total_thickness="1mm", name=None): + @pyaedt_function_handler(names="assignment", num_layers="layers_number", meshop_name="name") + def assign_rotational_layer(self, assignment, layers_number=3, total_thickness="1mm", name=None): """Assign a rotational layer mesh. Parameters ---------- - entities : list + assignment : list List of objects. layers_number : int, optional Number of layers to create in the radial direction, starting from @@ -1230,7 +1232,7 @@ def assign_rotational_layer(self, entities, layers_number=3, total_thickness="1m >>> oModule.AssignRotationalLayerOp """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1244,7 +1246,7 @@ def assign_rotational_layer(self, entities, layers_number=3, total_thickness="1m props = OrderedDict( { "Type": "RotationalLayerMesh", - seltype: entities, + seltype: assignment, "Number of Layers": str(layers_number), "Total Layer Thickness": total_thickness, } @@ -1256,13 +1258,13 @@ def assign_rotational_layer(self, entities, layers_number=3, total_thickness="1m self.meshoperations.append(mop) return mop - @pyaedt_function_handler(names="entities", meshop_name="name") - def assign_edge_cut(self, entities, layer_thickness="1mm", name=None): + @pyaedt_function_handler(names="assignment", meshop_name="name") + def assign_edge_cut(self, assignment, layer_thickness="1mm", name=None): """Assign an edge cut layer mesh. Parameters ---------- - entities : list + assignment : list List of objects. layer_thickness : Thickness of the layer with units. The default is ``"1mm"``. @@ -1279,7 +1281,7 @@ def assign_edge_cut(self, entities, layer_thickness="1mm", name=None): >>> oModule.AssignRotationalLayerOp """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1290,7 +1292,7 @@ def assign_edge_cut(self, entities, layer_thickness="1mm", name=None): else: name = generate_unique_name("EdgeCut") seltype = "Objects" - props = OrderedDict({"Type": "EdgeCutLayerMesh", seltype: entities, "Layer Thickness": layer_thickness}) + props = OrderedDict({"Type": "EdgeCutLayerMesh", seltype: assignment, "Layer Thickness": layer_thickness}) mop = MeshOperation(self, name, props, "EdgeCutLayerMesh") mop.create() @@ -1299,16 +1301,16 @@ def assign_edge_cut(self, entities, layer_thickness="1mm", name=None): return mop @pyaedt_function_handler( - names="entities", maxelementlength="maximum_element_length", layerNum="layers_number", meshop_name="name" + names="assignment", maxelementlength="maximum_element_length", layerNum="layers_number", meshop_name="name" ) def assign_density_control( - self, entities, refine_inside=True, maximum_element_length=None, layers_number=None, name=None + self, assignment, refine_inside=True, maximum_element_length=None, layers_number=None, name=None ): """Assign density control. Parameters ---------- - entities : list + assignment : list List of objects. refine_inside : bool, optional Whether to refine inside objects. The default is ``True``. @@ -1331,7 +1333,7 @@ def assign_density_control( >>> oModule.AssignDensityControlOp """ - entities = self.modeler.convert_to_selections(entities, True) + assignment = self.modeler.convert_to_selections(assignment, True) if self._app.design_type != "Maxwell 3D": raise MethodNotSupportedError @@ -1358,7 +1360,7 @@ def assign_density_control( { "Type": "DensityControlBased", "RefineInside": refine_inside, - seltype: entities, + seltype: assignment, "RestrictMaxElemLength": restr, "MaxElemLength": restrval, "RestrictLayersNum": restrlay, diff --git a/pyaedt/modules/MeshIcepak.py b/pyaedt/modules/MeshIcepak.py index f5f695dc14d..d1f3ea0db77 100644 --- a/pyaedt/modules/MeshIcepak.py +++ b/pyaedt/modules/MeshIcepak.py @@ -1091,13 +1091,13 @@ def assign_mesh_level(self, mesh_order, name=None): list_meshops.append(name) return list_meshops - @pyaedt_function_handler(objects="entities", filename="file_name", meshop_name="name") - def assign_mesh_from_file(self, entities, file_name, name=None): + @pyaedt_function_handler(objects="assignment", filename="file_name", meshop_name="name") + def assign_mesh_from_file(self, assignment, file_name, name=None): """Assign a mesh from file to objects. Parameters ---------- - entities : list + assignment : list List of objects to which apply the mesh file. file_name : str Full path to .msh file. @@ -1114,7 +1114,7 @@ def assign_mesh_from_file(self, entities, file_name, name=None): >>> oModule.AssignMeshOperation """ - objs = self._app.modeler.convert_to_selections(entities, True) + objs = self._app.modeler.convert_to_selections(assignment, True) if name: name = generate_unique_name("MeshFile") else: @@ -1212,8 +1212,8 @@ def automatic_mesh_3D(self, accuracy, enable_stair_step=True): self.global_mesh_region.update() return True - @pyaedt_function_handler(obj_list="entities", comp_name="component") - def add_priority(self, entity_type, entities=None, component=None, priority=3): + @pyaedt_function_handler(obj_list="assignment", comp_name="component") + def add_priority(self, entity_type, assignment=None, component=None, priority=3): """Add priority to objects. Parameters @@ -1221,7 +1221,7 @@ def add_priority(self, entity_type, entities=None, component=None, priority=3): entity_type : int Type of the entity. Options are ``1`` and ``2``, which represent respectively an object and a component. - entities : list + assignment : list List of 3D objects, which can include conductors and dielectrics. If the user pass a non 3D object, it will be excluded. component : str, optional @@ -1244,7 +1244,7 @@ def add_priority(self, entity_type, entities=None, component=None, priority=3): >>> from pyaedt import Icepak >>> app = Icepak() - >>> app.mesh.add_priority(entity_type=1,entities=app.modeler.object_names,priority=3) + >>> app.mesh.add_priority(entity_type=1,assignment=app.modeler.object_names,priority=3) >>> app.mesh.add_priority(entity_type=2,component=app.modeler.user_defined_component_names[0],priority=2) """ i = priority @@ -1253,10 +1253,10 @@ def add_priority(self, entity_type, entities=None, component=None, priority=3): if entity_type == 1: non_user_defined_component_parts = self._app.modeler.oeditor.GetChildNames() new_obj_list = [] - for comp in entities: + for comp in assignment: if comp != "Region" and comp in non_user_defined_component_parts: new_obj_list.append(comp) - entities = ", ".join(new_obj_list) + assignment = ", ".join(new_obj_list) if not new_obj_list: return False prio = [ @@ -1264,7 +1264,7 @@ def add_priority(self, entity_type, entities=None, component=None, priority=3): "EntityType:=", "Object", "EntityList:=", - entities, + assignment, "PriorityNumber:=", i, "PriorityListType:=", @@ -1333,13 +1333,13 @@ def add_priority(self, entity_type, entities=None, component=None, priority=3): self.modeler.oeditor.UpdatePriorityList(args) return True - @pyaedt_function_handler(objectlist="entities") - def assign_mesh_region(self, entities=None, level=5, name=None, **kwargs): + @pyaedt_function_handler(objectlist="assignment") + def assign_mesh_region(self, assignment=None, level=5, name=None, **kwargs): """Assign a predefined surface mesh level to an object. Parameters ---------- - entities : list, optional + assignment : list, optional List of objects to apply the mesh region to. The default is ``None``, in which case all objects are selected. level : int, optional @@ -1359,9 +1359,9 @@ def assign_mesh_region(self, entities=None, level=5, name=None, **kwargs): """ if not name: name = generate_unique_name("MeshRegion") - if entities is None: - entities = [i for i in self.modeler.object_names] - meshregion = MeshRegion(self._app, entities, name) + if assignment is None: + assignment = [i for i in self.modeler.object_names] + meshregion = MeshRegion(self._app, assignment, name) meshregion.manual_settings = False meshregion.Level = level all_objs = [i for i in self.modeler.object_names] @@ -1371,7 +1371,7 @@ def assign_mesh_region(self, entities=None, level=5, name=None, **kwargs): objectlist2 = self.modeler.object_names added_obj = [i for i in objectlist2 if i not in all_objs] if not added_obj: - added_obj = [i for i in objectlist2 if i not in all_objs or i in entities] + added_obj = [i for i in objectlist2 if i not in all_objs or i in assignment] meshregion.Objects = added_obj meshregion.SubModels = None meshregion.update() From 03159e3b35c1d61cd843bfd156cbe4c44808f88d Mon Sep 17 00:00:00 2001 From: Massimo Capodiferro <77293250+maxcapodi78@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:40:26 +0200 Subject: [PATCH 3/6] Update pyaedt/modules/MeshIcepak.py Co-authored-by: Kathy Pippert <84872299+PipKat@users.noreply.github.com> --- pyaedt/modules/MeshIcepak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyaedt/modules/MeshIcepak.py b/pyaedt/modules/MeshIcepak.py index d1f3ea0db77..a4f35ff9eb8 100644 --- a/pyaedt/modules/MeshIcepak.py +++ b/pyaedt/modules/MeshIcepak.py @@ -1223,7 +1223,7 @@ def add_priority(self, entity_type, assignment=None, component=None, priority=3) an object and a component. assignment : list List of 3D objects, which can include conductors and dielectrics. - If the user pass a non 3D object, it will be excluded. + If a non-3D object is passed, it is excluded. component : str, optional Name of the component. The default is ``None``. priority : int, optional From cf0e6d2ec17a064ef001d890fe473c6090b7567a Mon Sep 17 00:00:00 2001 From: Massimo Capodiferro <77293250+maxcapodi78@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:40:33 +0200 Subject: [PATCH 4/6] Update pyaedt/modules/MeshIcepak.py Co-authored-by: Kathy Pippert <84872299+PipKat@users.noreply.github.com> --- pyaedt/modules/MeshIcepak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyaedt/modules/MeshIcepak.py b/pyaedt/modules/MeshIcepak.py index a4f35ff9eb8..3a898a5f951 100644 --- a/pyaedt/modules/MeshIcepak.py +++ b/pyaedt/modules/MeshIcepak.py @@ -1093,7 +1093,7 @@ def assign_mesh_level(self, mesh_order, name=None): @pyaedt_function_handler(objects="assignment", filename="file_name", meshop_name="name") def assign_mesh_from_file(self, assignment, file_name, name=None): - """Assign a mesh from file to objects. + """Assign a mesh from a file to objects. Parameters ---------- From 39a9d08d37ace32f8db330baa3205ab6ad62d125 Mon Sep 17 00:00:00 2001 From: Massimo Capodiferro <77293250+maxcapodi78@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:40:39 +0200 Subject: [PATCH 5/6] Update pyaedt/modules/MeshIcepak.py Co-authored-by: Kathy Pippert <84872299+PipKat@users.noreply.github.com> --- pyaedt/modules/MeshIcepak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyaedt/modules/MeshIcepak.py b/pyaedt/modules/MeshIcepak.py index 3a898a5f951..3dc3579b7c0 100644 --- a/pyaedt/modules/MeshIcepak.py +++ b/pyaedt/modules/MeshIcepak.py @@ -1098,7 +1098,7 @@ def assign_mesh_from_file(self, assignment, file_name, name=None): Parameters ---------- assignment : list - List of objects to which apply the mesh file. + List of objects to apply the mesh file to. file_name : str Full path to .msh file. name : str, optional From 9cc8d5e344289ea49f6447b6de64ce21f00ed953 Mon Sep 17 00:00:00 2001 From: Massimo Capodiferro <77293250+maxcapodi78@users.noreply.github.com> Date: Tue, 9 Apr 2024 17:40:45 +0200 Subject: [PATCH 6/6] Update pyaedt/modules/MeshIcepak.py Co-authored-by: Kathy Pippert <84872299+PipKat@users.noreply.github.com> --- pyaedt/modules/MeshIcepak.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyaedt/modules/MeshIcepak.py b/pyaedt/modules/MeshIcepak.py index 3dc3579b7c0..ae868d9946c 100644 --- a/pyaedt/modules/MeshIcepak.py +++ b/pyaedt/modules/MeshIcepak.py @@ -1100,7 +1100,7 @@ def assign_mesh_from_file(self, assignment, file_name, name=None): assignment : list List of objects to apply the mesh file to. file_name : str - Full path to .msh file. + Full path to the mesh (MSH) file. name : str, optional Name of the mesh operations. Default is ``None``.