From 65a91ca1f7e7e5cebaa5760b3b477ae659161856 Mon Sep 17 00:00:00 2001 From: IreneWoyna Date: Fri, 17 May 2024 11:09:57 +0200 Subject: [PATCH 01/13] Lorentz actuator example --- .../03-Maxwell/Maxwell2D_Lorentz_actuator.py | 244 ++++++++++++++++++ examples/03-Maxwell/index.rst | 3 +- 2 files changed, 246 insertions(+), 1 deletion(-) create mode 100644 examples/03-Maxwell/Maxwell2D_Lorentz_actuator.py diff --git a/examples/03-Maxwell/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell/Maxwell2D_Lorentz_actuator.py new file mode 100644 index 000000000..70a171db9 --- /dev/null +++ b/examples/03-Maxwell/Maxwell2D_Lorentz_actuator.py @@ -0,0 +1,244 @@ +# # Maxwell 2D: Lorentz actuator + +# This example uses PyAEDT to set up a Lorentz actuator +# and solve it using the Maxwell 2D transient solver. +# Keywords: translational motion, mechanical transient + + +# ## Initialize electric and geometric parameters +# +# Launch AEDT and Maxwell 2D after first setting up the project and design names, + +dimensions = { + "Core_outer_x": "100mm", + "Core_outer_y": "80mm", + "Core_thickness": "10mm", + "Magnet_thickness": "10mm", + "Coil_width": "30mm", + "Coil_thickness": "5mm", + "Coil_inner_diameter": "20mm", + "Coil_magnet_distance": "5mm", + "Coil_start_position": "3mm", + "Band_clearance": "1mm" +} + +coil_specifications = { + "Winding_current": "5A", + "No_of_turns": "100", + "Coil_mass": "0.2kg" +} + +simulation_specifications = { + "Mesh_bands": "0.5mm", + "Mesh_other_objects": "2mm", + "Stop_time": "10ms", + "Time_step": "0.5ms", + "Save_fields_interval": "1" +} + +materials = { + "Coil_material": "copper", + "Core_material": "steel_1008", + "Magnet_material": "NdFe30" +} + +import os.path +import tempfile + +from ansys.pyaedt.examples.constants import AEDT_VERSION +import pyaedt + +# ## Launch AEDT and Maxwell 2D +# +# Launch AEDT and Maxwell 2D after first setting up the project and design names, +# the solver, and the version. The following code also creates an instance of the +# ``Maxwell2d`` class named ``m2d``. + +non_graphical = False + +m2d = pyaedt.Maxwell2d( + projectname="Lorentz_actuator", + designname="1 transient 2D", + solution_type="TransientXY", + specified_version=AEDT_VERSION, + non_graphical=non_graphical, +) + +# ## Create temporary directory +# +# Create temporary directory. + +temp_dir = tempfile.TemporaryDirectory(suffix=".ansys") + +# ## Define variables from dictionaries +# +# Define design variables from the created dictionaries. + +m2d.variable_manager.set_variable(variable_name="Dimensions") + +for k, v in dimensions.items(): + m2d[k] = v + +m2d.variable_manager.set_variable(variable_name="Winding data") + +for k, v in coil_specifications.items(): + m2d[k] = v + +m2d.variable_manager.set_variable(variable_name="Simulation data") + +for k, v in simulation_specifications.items(): + m2d[k] = v + +# Materials +m2d.variable_manager.set_variable(variable_name="Material data") +m2d.logger.clear_messages() + +for i, key in enumerate(materials.keys()): + if key == "Coil_material": + coil_mat_index = i + elif key == "Core_material": + core_mat_index = i + elif key == "Magnet_material": + magnet_mat_index = i + +material_array = [] +for k, v in materials.items(): + material_array.append("\"" + v + "\"") + +s = ', '.join(material_array) +m2d["Materials"] = "[{}]".format(s) + +# ## Create geometry +# +# Create magnetic core, coils, and magnets. Assign materials and create a new coordinate system to +# define the magnet orientation. + +mod = m2d.modeler +core_id = mod.create_rectangle( + origin=[0, 0, 0], + sizes=["Core_outer_x", "Core_outer_y"], + name="Core") +m2d.modeler[core_id].material_name = "Materials[" + str(core_mat_index) + "]" +hole_id = mod.create_rectangle( + origin=["Core_thickness", "Core_thickness", 0], + sizes=["Core_outer_x-2*Core_thickness", "Core_outer_y-2*Core_thickness"], + name="hole") +mod.subtract(blank_list=[core_id], tool_list=[hole_id]) + + +magnet_n_id = mod.create_rectangle( + origin=["Core_thickness", "Core_outer_y-2*Core_thickness", 0], + sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], + name="magnet_n") +magnet_s_id = mod.create_rectangle( + origin=["Core_thickness", "Core_thickness", 0], + sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], + name="magnet_s") +# m2d.eddy_effects_on(assignment=["magnet_n", "magnet_s"]) + +m2d.modeler[magnet_n_id].material_name = "Materials[" + str(magnet_mat_index) + "]" +m2d.modeler[magnet_s_id].material_name = "Materials[" + str(magnet_mat_index) + "]" + +mod.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, 1, 0], y_pointing=[1, 0, 0], name="cs_x_positive") +mod.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, -1, 0], y_pointing=[1, 0, 0], name="cs_x_negative") +magnet_s_id.part_coordinate_system = "cs_x_positive" +magnet_n_id.part_coordinate_system = "cs_x_negative" +mod.set_working_coordinate_system("Global") + +# ## Assign current +# +# Create coil terminals with 100 turns and winding with 5A current. + +coil_in_id = mod.create_rectangle( + origin=["Core_thickness+Coil_start_position", "Core_thickness+Magnet_thickness+Coil_magnet_distance", 0], + sizes=["Coil_width", "Coil_thickness"], + name="coil_in" +) +coil_out_id = mod.create_rectangle( + origin=["Core_thickness+Coil_start_position", + "Core_thickness+Magnet_thickness+Coil_magnet_distance+Coil_inner_diameter+Coil_thickness", 0], + sizes=["Coil_width", "Coil_thickness"], + name="coil_out" +) +m2d.modeler[coil_in_id].material_name = "Materials[" + str(coil_mat_index) + "]" +m2d.modeler[coil_out_id].material_name = "Materials[" + str(coil_mat_index) + "]" + +m2d.assign_coil( + assignment=[coil_in_id], + conductors_number="No_of_turns", + name="coil_terminal_in", + polarity="Negative" +) +m2d.assign_coil(assignment=[coil_out_id], conductors_number="No_of_turns", name="coil_terminal_out") +m2d.assign_winding(is_solid=False, current="Winding_current", name="Winding1") +m2d.add_winding_coils(assignment="Winding1", coils=["coil_terminal_in", "coil_terminal_out"]) + +# ## Assign motion +# +# Create band objects: All the objects within the band move. Inner band ensures that the mesh is good, +# and additionally it is required when there more than 1 moving objects +# Assign linear motion with mechanical transient. + +band_id = mod.create_rectangle( + origin=["Core_thickness + Band_clearance", "Core_thickness+Magnet_thickness+Band_clearance", 0], + sizes=["Core_outer_x-2*(Core_thickness+Band_clearance)", + "Core_outer_y-2*(Core_thickness+Band_clearance+Magnet_thickness)"], + name="Motion_band") +inner_band_id = mod.create_rectangle( + origin=["Core_thickness+Coil_start_position-Band_clearance", + "Core_thickness+Magnet_thickness+Coil_magnet_distance-Band_clearance", 0], + sizes=["Coil_width + 2*Band_clearance", "Coil_inner_diameter+2*(Coil_thickness+Band_clearance)"], + name="Motion_band_inner") +motion_limit = "Core_outer_x-2*(Core_thickness+Band_clearance) - (Coil_width + 2*Band_clearance)-2*Band_clearance" +m2d.assign_translate_motion( + assignment="Motion_band", axis="X", periodic_translate=None, mechanical_transient=True, + mass="Coil_mass", start_position=0, negative_limit=0, positive_limit=motion_limit +) + +# ## Create simulation domain +# +# Create region and assign zero vector potential on the region edges. + +region_id = mod.create_region(pad_percent=2) +m2d.assign_vector_potential(assignment=region_id.edges, boundary="VectorPotential1") + +# ## Assign mesh operations +# +# Transient solver doesn't have adaptive mesh refinement, so the mesh operations have to be assigned. + +m2d.mesh.assign_length_mesh(assignment=[band_id, inner_band_id], + maximum_length="Mesh_bands", maximum_elements=None, name="Bands") +m2d.mesh.assign_length_mesh( + assignment=[coil_in_id, coil_in_id, core_id, magnet_n_id, magnet_s_id, region_id], + maximum_length="Mesh_other_objects", maximum_elements=None, name="Coils_core_magnets" +) + +# ## Create simulation setup +# + +setup = m2d.create_setup(name="Setup1") +setup.props["StopTime"] = "Stop_time" +setup.props["TimeStep"] = "Time_step" +setup.props["SaveFieldsType"] = "Every N Steps" +setup.props["N Steps"] = "Save_fields_interval" +setup.props["Steps From"] = "0ms" +setup.props["Steps To"] = "Stop_time" + +# ## Post-processing +# +# XY-report with force on coil and the position of the coil on Y-axis, time on X-axis. +m2d.post.create_report( + expressions=["Moving1.Force_x", "Moving1.Position"], + plot_name="Force on Coil and Position of Coil", primary_sweep_variable="Time" +) + +# ## Analyze setup + +setup.analyze() + +# ## Release AEDT and clean up temporary directory +# +# Release AEDT and remove both the project and temporary directory. + +m2d.release_desktop() +temp_dir.cleanup() \ No newline at end of file diff --git a/examples/03-Maxwell/index.rst b/examples/03-Maxwell/index.rst index 96b2a664f..130040b6a 100644 --- a/examples/03-Maxwell/index.rst +++ b/examples/03-Maxwell/index.rst @@ -17,4 +17,5 @@ and Transient). Maxwell3D_Team3_bath_plate.py Maxwell_Control_Program.py Maxwell_Magnet.py - Maxwell_Transformer_Coreloss.py \ No newline at end of file + Maxwell_Transformer_Coreloss.py + Maxwell2D_Lorentz_actuator.py \ No newline at end of file From 1d5fd1b8f68922a9fbaf69a70b45051f23f15db6 Mon Sep 17 00:00:00 2001 From: anur7 Date: Thu, 29 Aug 2024 09:58:48 +0200 Subject: [PATCH 02/13] adding in example list, adding the file in the right folder --- .../Maxwell2D_Lorentz_actuator.py | 245 ++++++++++++++++++ examples/03-Maxwell2D/index.rst | 1 + 2 files changed, 246 insertions(+) create mode 100644 examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py new file mode 100644 index 000000000..1f7a3bf1c --- /dev/null +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -0,0 +1,245 @@ +# # Lorentz actuator +# +# This example uses PyAEDT to set up a Lorentz actuator +# and solve it using the Maxwell 2D transient solver. +# +# Keywords: **translational motion**, **mechanical transient** + + +# ## Initialize electric and geometric parameters +# +# Launch AEDT and Maxwell 2D after first setting up the project and design names, + +dimensions = { + "Core_outer_x": "100mm", + "Core_outer_y": "80mm", + "Core_thickness": "10mm", + "Magnet_thickness": "10mm", + "Coil_width": "30mm", + "Coil_thickness": "5mm", + "Coil_inner_diameter": "20mm", + "Coil_magnet_distance": "5mm", + "Coil_start_position": "3mm", + "Band_clearance": "1mm" +} + +coil_specifications = { + "Winding_current": "5A", + "No_of_turns": "100", + "Coil_mass": "0.2kg" +} + +simulation_specifications = { + "Mesh_bands": "0.5mm", + "Mesh_other_objects": "2mm", + "Stop_time": "10ms", + "Time_step": "0.5ms", + "Save_fields_interval": "1" +} + +materials = { + "Coil_material": "copper", + "Core_material": "steel_1008", + "Magnet_material": "NdFe30" +} + +import os.path +import tempfile + +from ansys.pyaedt.examples.constants import AEDT_VERSION +import pyaedt + +# ## Launch AEDT and Maxwell 2D +# +# Launch AEDT and Maxwell 2D after first setting up the project and design names, +# the solver, and the version. The following code also creates an instance of the +# ``Maxwell2d`` class named ``m2d``. + +non_graphical = False + +m2d = pyaedt.Maxwell2d( + projectname="Lorentz_actuator", + designname="1 transient 2D", + solution_type="TransientXY", + specified_version=AEDT_VERSION, + non_graphical=non_graphical, +) + +# ## Create temporary directory +# +# Create temporary directory. + +temp_dir = tempfile.TemporaryDirectory(suffix=".ansys") + +# ## Define variables from dictionaries +# +# Define design variables from the created dictionaries. + +m2d.variable_manager.set_variable(variable_name="Dimensions") + +for k, v in dimensions.items(): + m2d[k] = v + +m2d.variable_manager.set_variable(variable_name="Winding data") + +for k, v in coil_specifications.items(): + m2d[k] = v + +m2d.variable_manager.set_variable(variable_name="Simulation data") + +for k, v in simulation_specifications.items(): + m2d[k] = v + +# Materials +m2d.variable_manager.set_variable(variable_name="Material data") +m2d.logger.clear_messages() + +for i, key in enumerate(materials.keys()): + if key == "Coil_material": + coil_mat_index = i + elif key == "Core_material": + core_mat_index = i + elif key == "Magnet_material": + magnet_mat_index = i + +material_array = [] +for k, v in materials.items(): + material_array.append("\"" + v + "\"") + +s = ', '.join(material_array) +m2d["Materials"] = "[{}]".format(s) + +# ## Create geometry +# +# Create magnetic core, coils, and magnets. Assign materials and create a new coordinate system to +# define the magnet orientation. + +mod = m2d.modeler +core_id = mod.create_rectangle( + origin=[0, 0, 0], + sizes=["Core_outer_x", "Core_outer_y"], + name="Core") +m2d.modeler[core_id].material_name = "Materials[" + str(core_mat_index) + "]" +hole_id = mod.create_rectangle( + origin=["Core_thickness", "Core_thickness", 0], + sizes=["Core_outer_x-2*Core_thickness", "Core_outer_y-2*Core_thickness"], + name="hole") +mod.subtract(blank_list=[core_id], tool_list=[hole_id]) + + +magnet_n_id = mod.create_rectangle( + origin=["Core_thickness", "Core_outer_y-2*Core_thickness", 0], + sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], + name="magnet_n") +magnet_s_id = mod.create_rectangle( + origin=["Core_thickness", "Core_thickness", 0], + sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], + name="magnet_s") +# m2d.eddy_effects_on(assignment=["magnet_n", "magnet_s"]) + +m2d.modeler[magnet_n_id].material_name = "Materials[" + str(magnet_mat_index) + "]" +m2d.modeler[magnet_s_id].material_name = "Materials[" + str(magnet_mat_index) + "]" + +mod.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, 1, 0], y_pointing=[1, 0, 0], name="cs_x_positive") +mod.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, -1, 0], y_pointing=[1, 0, 0], name="cs_x_negative") +magnet_s_id.part_coordinate_system = "cs_x_positive" +magnet_n_id.part_coordinate_system = "cs_x_negative" +mod.set_working_coordinate_system("Global") + +# ## Assign current +# +# Create coil terminals with 100 turns and winding with 5A current. + +coil_in_id = mod.create_rectangle( + origin=["Core_thickness+Coil_start_position", "Core_thickness+Magnet_thickness+Coil_magnet_distance", 0], + sizes=["Coil_width", "Coil_thickness"], + name="coil_in" +) +coil_out_id = mod.create_rectangle( + origin=["Core_thickness+Coil_start_position", + "Core_thickness+Magnet_thickness+Coil_magnet_distance+Coil_inner_diameter+Coil_thickness", 0], + sizes=["Coil_width", "Coil_thickness"], + name="coil_out" +) +m2d.modeler[coil_in_id].material_name = "Materials[" + str(coil_mat_index) + "]" +m2d.modeler[coil_out_id].material_name = "Materials[" + str(coil_mat_index) + "]" + +m2d.assign_coil( + assignment=[coil_in_id], + conductors_number="No_of_turns", + name="coil_terminal_in", + polarity="Negative" +) +m2d.assign_coil(assignment=[coil_out_id], conductors_number="No_of_turns", name="coil_terminal_out") +m2d.assign_winding(is_solid=False, current="Winding_current", name="Winding1") +m2d.add_winding_coils(assignment="Winding1", coils=["coil_terminal_in", "coil_terminal_out"]) + +# ## Assign motion +# +# Create band objects: All the objects within the band move. Inner band ensures that the mesh is good, +# and additionally it is required when there more than 1 moving objects +# Assign linear motion with mechanical transient. + +band_id = mod.create_rectangle( + origin=["Core_thickness + Band_clearance", "Core_thickness+Magnet_thickness+Band_clearance", 0], + sizes=["Core_outer_x-2*(Core_thickness+Band_clearance)", + "Core_outer_y-2*(Core_thickness+Band_clearance+Magnet_thickness)"], + name="Motion_band") +inner_band_id = mod.create_rectangle( + origin=["Core_thickness+Coil_start_position-Band_clearance", + "Core_thickness+Magnet_thickness+Coil_magnet_distance-Band_clearance", 0], + sizes=["Coil_width + 2*Band_clearance", "Coil_inner_diameter+2*(Coil_thickness+Band_clearance)"], + name="Motion_band_inner") +motion_limit = "Core_outer_x-2*(Core_thickness+Band_clearance) - (Coil_width + 2*Band_clearance)-2*Band_clearance" +m2d.assign_translate_motion( + assignment="Motion_band", axis="X", periodic_translate=None, mechanical_transient=True, + mass="Coil_mass", start_position=0, negative_limit=0, positive_limit=motion_limit +) + +# ## Create simulation domain +# +# Create region and assign zero vector potential on the region edges. + +region_id = mod.create_region(pad_percent=2) +m2d.assign_vector_potential(assignment=region_id.edges, boundary="VectorPotential1") + +# ## Assign mesh operations +# +# Transient solver doesn't have adaptive mesh refinement, so the mesh operations have to be assigned. + +m2d.mesh.assign_length_mesh(assignment=[band_id, inner_band_id], + maximum_length="Mesh_bands", maximum_elements=None, name="Bands") +m2d.mesh.assign_length_mesh( + assignment=[coil_in_id, coil_in_id, core_id, magnet_n_id, magnet_s_id, region_id], + maximum_length="Mesh_other_objects", maximum_elements=None, name="Coils_core_magnets" +) + +# ## Create simulation setup +# + +setup = m2d.create_setup(name="Setup1") +setup.props["StopTime"] = "Stop_time" +setup.props["TimeStep"] = "Time_step" +setup.props["SaveFieldsType"] = "Every N Steps" +setup.props["N Steps"] = "Save_fields_interval" +setup.props["Steps From"] = "0ms" +setup.props["Steps To"] = "Stop_time" + +# ## Post-processing +# +# XY-report with force on coil and the position of the coil on Y-axis, time on X-axis. +m2d.post.create_report( + expressions=["Moving1.Force_x", "Moving1.Position"], + plot_name="Force on Coil and Position of Coil", primary_sweep_variable="Time" +) + +# ## Analyze setup + +setup.analyze() + +# ## Release AEDT and clean up temporary directory +# +# Release AEDT and remove both the project and temporary directory. + +m2d.release_desktop() +temp_dir.cleanup() \ No newline at end of file diff --git a/examples/03-Maxwell2D/index.rst b/examples/03-Maxwell2D/index.rst index 0c8b257f5..e4760c860 100644 --- a/examples/03-Maxwell2D/index.rst +++ b/examples/03-Maxwell2D/index.rst @@ -16,3 +16,4 @@ and Transient). Maxwell2D_PMSynchronousMotor.py Maxwell2D_transformer_LL.py Maxwell2D_Transient.py + Maxwell2D_Lorentz_actuator.py From 474701838e5c1867fe31e8107ebd76ceea32e73c Mon Sep 17 00:00:00 2001 From: anur7 Date: Thu, 29 Aug 2024 11:51:58 +0200 Subject: [PATCH 03/13] adding in example list, adding the file in the right folder, cleaning the example following the template --- .../Maxwell2D_Lorentz_actuator.py | 88 +++++++++++-------- 1 file changed, 52 insertions(+), 36 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index 1f7a3bf1c..a855b8481 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -3,12 +3,38 @@ # This example uses PyAEDT to set up a Lorentz actuator # and solve it using the Maxwell 2D transient solver. # -# Keywords: **translational motion**, **mechanical transient** +# Keywords: **Maxwell 2D**, **transient**, **translational motion**, **mechanical transient** +# ## Perform required imports +# +# Perform required imports. + +import os +import tempfile +import time + +import ansys.aedt.core + +# ## Define constants -# ## Initialize electric and geometric parameters +AEDT_VERSION = "2024.2" +NUM_CORES = 4 +NG_MODE = False # Open Electronics UI when the application is launched. + +# ## Create temporary directory # -# Launch AEDT and Maxwell 2D after first setting up the project and design names, +# Create temporary directory. +# If you'd like to retrieve the project data for subsequent use, +# the temporary folder name is given by ``temp_folder.name``. + +temp_folder = tempfile.TemporaryDirectory(suffix=".ansys") + + +# ## Initialize dictionaries +# +# Initialize electric and geometric parameters for the actuator. +# Initialize simulation specification. +# Initialize materials for the actuator component. dimensions = { "Core_outer_x": "100mm", @@ -43,57 +69,41 @@ "Magnet_material": "NdFe30" } -import os.path -import tempfile - -from ansys.pyaedt.examples.constants import AEDT_VERSION -import pyaedt - # ## Launch AEDT and Maxwell 2D # # Launch AEDT and Maxwell 2D after first setting up the project and design names, # the solver, and the version. The following code also creates an instance of the # ``Maxwell2d`` class named ``m2d``. -non_graphical = False - -m2d = pyaedt.Maxwell2d( - projectname="Lorentz_actuator", +project_name = os.path.join(temp_folder.name, "Lorentz_actuator.aedt") +m2d = ansys.aedt.core.Maxwell2d( + projectname=project_name, designname="1 transient 2D", solution_type="TransientXY", specified_version=AEDT_VERSION, - non_graphical=non_graphical, + non_graphical=NG_MODE ) -# ## Create temporary directory -# -# Create temporary directory. - -temp_dir = tempfile.TemporaryDirectory(suffix=".ansys") - # ## Define variables from dictionaries # # Define design variables from the created dictionaries. m2d.variable_manager.set_variable(variable_name="Dimensions") - for k, v in dimensions.items(): m2d[k] = v m2d.variable_manager.set_variable(variable_name="Winding data") - for k, v in coil_specifications.items(): m2d[k] = v m2d.variable_manager.set_variable(variable_name="Simulation data") - for k, v in simulation_specifications.items(): m2d[k] = v -# Materials +# Materials. + m2d.variable_manager.set_variable(variable_name="Material data") m2d.logger.clear_messages() - for i, key in enumerate(materials.keys()): if key == "Coil_material": coil_mat_index = i @@ -101,11 +111,9 @@ core_mat_index = i elif key == "Magnet_material": magnet_mat_index = i - material_array = [] for k, v in materials.items(): material_array.append("\"" + v + "\"") - s = ', '.join(material_array) m2d["Materials"] = "[{}]".format(s) @@ -126,7 +134,6 @@ name="hole") mod.subtract(blank_list=[core_id], tool_list=[hole_id]) - magnet_n_id = mod.create_rectangle( origin=["Core_thickness", "Core_outer_y-2*Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], @@ -177,7 +184,7 @@ # ## Assign motion # # Create band objects: All the objects within the band move. Inner band ensures that the mesh is good, -# and additionally it is required when there more than 1 moving objects +# and additionally it is required when there more than 1 moving objects. # Assign linear motion with mechanical transient. band_id = mod.create_rectangle( @@ -214,8 +221,9 @@ maximum_length="Mesh_other_objects", maximum_elements=None, name="Coils_core_magnets" ) -# ## Create simulation setup +# ## Create and analyze the setup # +# Create and analyze the simulation setup. setup = m2d.create_setup(name="Setup1") setup.props["StopTime"] = "Stop_time" @@ -225,21 +233,29 @@ setup.props["Steps From"] = "0ms" setup.props["Steps To"] = "Stop_time" +setup.analyze(cores=NUM_CORES) + # ## Post-processing # # XY-report with force on coil and the position of the coil on Y-axis, time on X-axis. + m2d.post.create_report( expressions=["Moving1.Force_x", "Moving1.Position"], plot_name="Force on Coil and Position of Coil", primary_sweep_variable="Time" ) -# ## Analyze setup +# ## Release AEDT -setup.analyze() +m2d.save_project() +m2d.release_desktop() +# Wait 3 seconds to allow Electronics Desktop to shut down before cleaning the temporary directory. +time.sleep(3) -# ## Release AEDT and clean up temporary directory +# ## Cleanup # -# Release AEDT and remove both the project and temporary directory. +# All project files are saved in the folder ``temp_dir.name``. +# If you've run this example as a Jupyter notebook you +# can retrieve those project files. The following cell +# removes all temporary files, including the project folder. -m2d.release_desktop() -temp_dir.cleanup() \ No newline at end of file +temp_folder.cleanup() \ No newline at end of file From 7d5295bc5a6b903fa9137c153dd4034ccaff0cad Mon Sep 17 00:00:00 2001 From: anur7 Date: Thu, 29 Aug 2024 18:33:12 +0200 Subject: [PATCH 04/13] adding in example list, adding the file in the right folder, cleaning the example following the template, correcting bugs --- .../Maxwell2D_Lorentz_actuator.py | 45 ++++++++++++++----- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index a855b8481..daae4b099 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -128,6 +128,7 @@ sizes=["Core_outer_x", "Core_outer_y"], name="Core") m2d.modeler[core_id].material_name = "Materials[" + str(core_mat_index) + "]" + hole_id = mod.create_rectangle( origin=["Core_thickness", "Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Core_outer_y-2*Core_thickness"], @@ -142,7 +143,6 @@ origin=["Core_thickness", "Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], name="magnet_s") -# m2d.eddy_effects_on(assignment=["magnet_n", "magnet_s"]) m2d.modeler[magnet_n_id].material_name = "Materials[" + str(magnet_mat_index) + "]" m2d.modeler[magnet_s_id].material_name = "Materials[" + str(magnet_mat_index) + "]" @@ -177,7 +177,12 @@ name="coil_terminal_in", polarity="Negative" ) -m2d.assign_coil(assignment=[coil_out_id], conductors_number="No_of_turns", name="coil_terminal_out") +m2d.assign_coil( + assignment=[coil_out_id], + conductors_number="No_of_turns", + name="coil_terminal_out", + polarity="Positive" +) m2d.assign_winding(is_solid=False, current="Winding_current", name="Winding1") m2d.add_winding_coils(assignment="Winding1", coils=["coil_terminal_in", "coil_terminal_out"]) @@ -197,7 +202,7 @@ "Core_thickness+Magnet_thickness+Coil_magnet_distance-Band_clearance", 0], sizes=["Coil_width + 2*Band_clearance", "Coil_inner_diameter+2*(Coil_thickness+Band_clearance)"], name="Motion_band_inner") -motion_limit = "Core_outer_x-2*(Core_thickness+Band_clearance) - (Coil_width + 2*Band_clearance)-2*Band_clearance" +motion_limit = "Core_outer_x-2*(Core_thickness+Band_clearance)-(Coil_width + 2*Band_clearance)-2*Band_clearance" m2d.assign_translate_motion( assignment="Motion_band", axis="X", periodic_translate=None, mechanical_transient=True, mass="Coil_mass", start_position=0, negative_limit=0, positive_limit=motion_limit @@ -212,7 +217,7 @@ # ## Assign mesh operations # -# Transient solver doesn't have adaptive mesh refinement, so the mesh operations have to be assigned. +# Transient solver does not have adaptive mesh refinement, so the mesh operations have to be assigned. m2d.mesh.assign_length_mesh(assignment=[band_id, inner_band_id], maximum_length="Mesh_bands", maximum_elements=None, name="Bands") @@ -221,9 +226,25 @@ maximum_length="Mesh_other_objects", maximum_elements=None, name="Coils_core_magnets" ) -# ## Create and analyze the setup +# ## Turn on eddy effects +# +# Turn on eddy effects. + +# m2d.eddy_effects_on(assignment=["magnet_n", "magnet_s"]) + +# ## Turn on core loss # -# Create and analyze the simulation setup. +# Turn on core loss. + +# m2d.set_core_losses(assignment="Core") + +# ## Create setup +# +# Create the simulation setup. + +# ## Set model depth +# +# Set the model depth. setup = m2d.create_setup(name="Setup1") setup.props["StopTime"] = "Stop_time" @@ -233,17 +254,21 @@ setup.props["Steps From"] = "0ms" setup.props["Steps To"] = "Stop_time" -setup.analyze(cores=NUM_CORES) - -# ## Post-processing +# ## Create report # -# XY-report with force on coil and the position of the coil on Y-axis, time on X-axis. +# Create a XY-report with force on coil and the position of the coil on Y-axis, time on X-axis. m2d.post.create_report( expressions=["Moving1.Force_x", "Moving1.Position"], plot_name="Force on Coil and Position of Coil", primary_sweep_variable="Time" ) +# ## Analyze project +# +# Analyze the project. + +setup.analyze(cores=NUM_CORES, use_auto_settings=False) + # ## Release AEDT m2d.save_project() From 1b36e1594cc483739fd2b4cba6d7d4832cd51a38 Mon Sep 17 00:00:00 2001 From: anur7 Date: Fri, 30 Aug 2024 16:32:56 +0200 Subject: [PATCH 05/13] some minor correction on the reviewed parts --- .../Maxwell2D_Lorentz_actuator.py | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index daae4b099..8d755797e 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -3,7 +3,7 @@ # This example uses PyAEDT to set up a Lorentz actuator # and solve it using the Maxwell 2D transient solver. # -# Keywords: **Maxwell 2D**, **transient**, **translational motion**, **mechanical transient** +# Keywords: **Maxwell2D**, **Transient**, **translational motion**, **mechanical transient** # ## Perform required imports # @@ -29,7 +29,6 @@ temp_folder = tempfile.TemporaryDirectory(suffix=".ansys") - # ## Initialize dictionaries # # Initialize electric and geometric parameters for the actuator. @@ -71,9 +70,10 @@ # ## Launch AEDT and Maxwell 2D # -# Launch AEDT and Maxwell 2D after first setting up the project and design names, -# the solver, and the version. The following code also creates an instance of the -# ``Maxwell2d`` class named ``m2d``. +# Launch AEDT and Maxwell 2D after first setting up the project name. +# The following code also creates an instance of the +# ``Maxwell2d`` class named ``m2d`` by providing +# the project name, the design name, the solver, the version and the graphical mode. project_name = os.path.join(temp_folder.name, "Lorentz_actuator.aedt") m2d = ansys.aedt.core.Maxwell2d( @@ -122,24 +122,23 @@ # Create magnetic core, coils, and magnets. Assign materials and create a new coordinate system to # define the magnet orientation. -mod = m2d.modeler -core_id = mod.create_rectangle( +core_id = m2d.modeler.create_rectangle( origin=[0, 0, 0], sizes=["Core_outer_x", "Core_outer_y"], name="Core") m2d.modeler[core_id].material_name = "Materials[" + str(core_mat_index) + "]" -hole_id = mod.create_rectangle( +hole_id = m2d.modeler.create_rectangle( origin=["Core_thickness", "Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Core_outer_y-2*Core_thickness"], name="hole") -mod.subtract(blank_list=[core_id], tool_list=[hole_id]) +m2d.modeler.subtract(blank_list=[core_id], tool_list=[hole_id]) -magnet_n_id = mod.create_rectangle( +magnet_n_id = m2d.modeler.create_rectangle( origin=["Core_thickness", "Core_outer_y-2*Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], name="magnet_n") -magnet_s_id = mod.create_rectangle( +magnet_s_id = m2d.modeler.create_rectangle( origin=["Core_thickness", "Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], name="magnet_s") @@ -147,22 +146,22 @@ m2d.modeler[magnet_n_id].material_name = "Materials[" + str(magnet_mat_index) + "]" m2d.modeler[magnet_s_id].material_name = "Materials[" + str(magnet_mat_index) + "]" -mod.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, 1, 0], y_pointing=[1, 0, 0], name="cs_x_positive") -mod.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, -1, 0], y_pointing=[1, 0, 0], name="cs_x_negative") +m2d.modeler.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, 1, 0], y_pointing=[1, 0, 0], name="cs_x_positive") +m2d.modeler.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, -1, 0], y_pointing=[1, 0, 0], name="cs_x_negative") magnet_s_id.part_coordinate_system = "cs_x_positive" magnet_n_id.part_coordinate_system = "cs_x_negative" -mod.set_working_coordinate_system("Global") +m2d.modeler.set_working_coordinate_system("Global") # ## Assign current # # Create coil terminals with 100 turns and winding with 5A current. -coil_in_id = mod.create_rectangle( +coil_in_id = m2d.modeler.create_rectangle( origin=["Core_thickness+Coil_start_position", "Core_thickness+Magnet_thickness+Coil_magnet_distance", 0], sizes=["Coil_width", "Coil_thickness"], name="coil_in" ) -coil_out_id = mod.create_rectangle( +coil_out_id = m2d.modeler.create_rectangle( origin=["Core_thickness+Coil_start_position", "Core_thickness+Magnet_thickness+Coil_magnet_distance+Coil_inner_diameter+Coil_thickness", 0], sizes=["Coil_width", "Coil_thickness"], @@ -188,7 +187,7 @@ # ## Assign motion # -# Create band objects: All the objects within the band move. Inner band ensures that the mesh is good, +# Create band objects: all the objects within the band move. Inner band ensures that the mesh is good, # and additionally it is required when there more than 1 moving objects. # Assign linear motion with mechanical transient. @@ -238,14 +237,14 @@ # m2d.set_core_losses(assignment="Core") -# ## Create setup -# -# Create the simulation setup. - # ## Set model depth # # Set the model depth. +# ## Create setup +# +# Create the simulation setup. + setup = m2d.create_setup(name="Setup1") setup.props["StopTime"] = "Stop_time" setup.props["TimeStep"] = "Time_step" @@ -260,7 +259,8 @@ m2d.post.create_report( expressions=["Moving1.Force_x", "Moving1.Position"], - plot_name="Force on Coil and Position of Coil", primary_sweep_variable="Time" + plot_name="Force on Coil and Position of Coil", + primary_sweep_variable="Time" ) # ## Analyze project @@ -283,4 +283,4 @@ # can retrieve those project files. The following cell # removes all temporary files, including the project folder. -temp_folder.cleanup() \ No newline at end of file +temp_folder.cleanup() From 9ad72b2a8c48d20d7086c1dd153c6c4903f2427a Mon Sep 17 00:00:00 2001 From: anur7 Date: Mon, 2 Sep 2024 11:27:55 +0200 Subject: [PATCH 06/13] some minor correction on the reviewed parts --- examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py | 6 +++--- examples/03-Maxwell2D/index.rst | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index 8d755797e..b69468342 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -191,12 +191,12 @@ # and additionally it is required when there more than 1 moving objects. # Assign linear motion with mechanical transient. -band_id = mod.create_rectangle( +band_id = m2d.modeler.create_rectangle( origin=["Core_thickness + Band_clearance", "Core_thickness+Magnet_thickness+Band_clearance", 0], sizes=["Core_outer_x-2*(Core_thickness+Band_clearance)", "Core_outer_y-2*(Core_thickness+Band_clearance+Magnet_thickness)"], name="Motion_band") -inner_band_id = mod.create_rectangle( +inner_band_id = m2d.modeler.create_rectangle( origin=["Core_thickness+Coil_start_position-Band_clearance", "Core_thickness+Magnet_thickness+Coil_magnet_distance-Band_clearance", 0], sizes=["Coil_width + 2*Band_clearance", "Coil_inner_diameter+2*(Coil_thickness+Band_clearance)"], @@ -211,7 +211,7 @@ # # Create region and assign zero vector potential on the region edges. -region_id = mod.create_region(pad_percent=2) +region_id = m2d.modeler.create_region(pad_percent=2) m2d.assign_vector_potential(assignment=region_id.edges, boundary="VectorPotential1") # ## Assign mesh operations diff --git a/examples/03-Maxwell2D/index.rst b/examples/03-Maxwell2D/index.rst index 29b5d60ad..e24513068 100644 --- a/examples/03-Maxwell2D/index.rst +++ b/examples/03-Maxwell2D/index.rst @@ -17,3 +17,4 @@ and Transient). Maxwell2D_transformer_LL.py Maxwell2D_Transient.py Maxwell2D_external_circuit.py + Maxwell2D_Lorentz_actuator.py From add91f2132bff0c7c028a55217a15dbdba58a5be Mon Sep 17 00:00:00 2001 From: Giulia Malinverno Date: Mon, 9 Sep 2024 09:54:43 +0200 Subject: [PATCH 07/13] update latest pyaedt changes --- .../Maxwell2D_Lorentz_actuator.py | 124 ++++++++++++------ 1 file changed, 83 insertions(+), 41 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index b69468342..d81df8a97 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -45,13 +45,13 @@ "Coil_inner_diameter": "20mm", "Coil_magnet_distance": "5mm", "Coil_start_position": "3mm", - "Band_clearance": "1mm" + "Band_clearance": "1mm", } coil_specifications = { "Winding_current": "5A", "No_of_turns": "100", - "Coil_mass": "0.2kg" + "Coil_mass": "0.2kg", } simulation_specifications = { @@ -59,13 +59,13 @@ "Mesh_other_objects": "2mm", "Stop_time": "10ms", "Time_step": "0.5ms", - "Save_fields_interval": "1" + "Save_fields_interval": "1", } materials = { "Coil_material": "copper", "Core_material": "steel_1008", - "Magnet_material": "NdFe30" + "Magnet_material": "NdFe30", } # ## Launch AEDT and Maxwell 2D @@ -81,7 +81,7 @@ designname="1 transient 2D", solution_type="TransientXY", specified_version=AEDT_VERSION, - non_graphical=NG_MODE + non_graphical=NG_MODE, ) # ## Define variables from dictionaries @@ -113,8 +113,8 @@ magnet_mat_index = i material_array = [] for k, v in materials.items(): - material_array.append("\"" + v + "\"") -s = ', '.join(material_array) + material_array.append('"' + v + '"') +s = ", ".join(material_array) m2d["Materials"] = "[{}]".format(s) # ## Create geometry @@ -125,29 +125,36 @@ core_id = m2d.modeler.create_rectangle( origin=[0, 0, 0], sizes=["Core_outer_x", "Core_outer_y"], - name="Core") -m2d.modeler[core_id].material_name = "Materials[" + str(core_mat_index) + "]" + name="Core", + material="Materials[" + str(core_mat_index) + "]", +) hole_id = m2d.modeler.create_rectangle( origin=["Core_thickness", "Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Core_outer_y-2*Core_thickness"], - name="hole") + name="hole", +) m2d.modeler.subtract(blank_list=[core_id], tool_list=[hole_id]) magnet_n_id = m2d.modeler.create_rectangle( origin=["Core_thickness", "Core_outer_y-2*Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], - name="magnet_n") + name="magnet_n", + material="Materials[" + str(magnet_mat_index) + "]", +) magnet_s_id = m2d.modeler.create_rectangle( origin=["Core_thickness", "Core_thickness", 0], sizes=["Core_outer_x-2*Core_thickness", "Magnet_thickness"], - name="magnet_s") - -m2d.modeler[magnet_n_id].material_name = "Materials[" + str(magnet_mat_index) + "]" -m2d.modeler[magnet_s_id].material_name = "Materials[" + str(magnet_mat_index) + "]" + name="magnet_s", + material="Materials[" + str(magnet_mat_index) + "]", +) -m2d.modeler.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, 1, 0], y_pointing=[1, 0, 0], name="cs_x_positive") -m2d.modeler.create_coordinate_system(origin=[0, 0, 0], x_pointing=[0, -1, 0], y_pointing=[1, 0, 0], name="cs_x_negative") +m2d.modeler.create_coordinate_system( + origin=[0, 0, 0], x_pointing=[0, 1, 0], y_pointing=[1, 0, 0], name="cs_x_positive" +) +m2d.modeler.create_coordinate_system( + origin=[0, 0, 0], x_pointing=[0, -1, 0], y_pointing=[1, 0, 0], name="cs_x_negative" +) magnet_s_id.part_coordinate_system = "cs_x_positive" magnet_n_id.part_coordinate_system = "cs_x_negative" m2d.modeler.set_working_coordinate_system("Global") @@ -157,33 +164,42 @@ # Create coil terminals with 100 turns and winding with 5A current. coil_in_id = m2d.modeler.create_rectangle( - origin=["Core_thickness+Coil_start_position", "Core_thickness+Magnet_thickness+Coil_magnet_distance", 0], + origin=[ + "Core_thickness+Coil_start_position", + "Core_thickness+Magnet_thickness+Coil_magnet_distance", + 0, + ], sizes=["Coil_width", "Coil_thickness"], - name="coil_in" + name="coil_in", + material="Materials[" + str(coil_mat_index) + "]", ) coil_out_id = m2d.modeler.create_rectangle( - origin=["Core_thickness+Coil_start_position", - "Core_thickness+Magnet_thickness+Coil_magnet_distance+Coil_inner_diameter+Coil_thickness", 0], + origin=[ + "Core_thickness+Coil_start_position", + "Core_thickness+Magnet_thickness+Coil_magnet_distance+Coil_inner_diameter+Coil_thickness", + 0, + ], sizes=["Coil_width", "Coil_thickness"], - name="coil_out" + name="coil_out", + material="Materials[" + str(coil_mat_index) + "]", ) -m2d.modeler[coil_in_id].material_name = "Materials[" + str(coil_mat_index) + "]" -m2d.modeler[coil_out_id].material_name = "Materials[" + str(coil_mat_index) + "]" m2d.assign_coil( assignment=[coil_in_id], conductors_number="No_of_turns", name="coil_terminal_in", - polarity="Negative" + polarity="Negative", ) m2d.assign_coil( assignment=[coil_out_id], conductors_number="No_of_turns", name="coil_terminal_out", - polarity="Positive" + polarity="Positive", ) m2d.assign_winding(is_solid=False, current="Winding_current", name="Winding1") -m2d.add_winding_coils(assignment="Winding1", coils=["coil_terminal_in", "coil_terminal_out"]) +m2d.add_winding_coils( + assignment="Winding1", coils=["coil_terminal_in", "coil_terminal_out"] +) # ## Assign motion # @@ -192,19 +208,39 @@ # Assign linear motion with mechanical transient. band_id = m2d.modeler.create_rectangle( - origin=["Core_thickness + Band_clearance", "Core_thickness+Magnet_thickness+Band_clearance", 0], - sizes=["Core_outer_x-2*(Core_thickness+Band_clearance)", - "Core_outer_y-2*(Core_thickness+Band_clearance+Magnet_thickness)"], - name="Motion_band") + origin=[ + "Core_thickness + Band_clearance", + "Core_thickness+Magnet_thickness+Band_clearance", + 0, + ], + sizes=[ + "Core_outer_x-2*(Core_thickness+Band_clearance)", + "Core_outer_y-2*(Core_thickness+Band_clearance+Magnet_thickness)", + ], + name="Motion_band", +) inner_band_id = m2d.modeler.create_rectangle( - origin=["Core_thickness+Coil_start_position-Band_clearance", - "Core_thickness+Magnet_thickness+Coil_magnet_distance-Band_clearance", 0], - sizes=["Coil_width + 2*Band_clearance", "Coil_inner_diameter+2*(Coil_thickness+Band_clearance)"], - name="Motion_band_inner") + origin=[ + "Core_thickness+Coil_start_position-Band_clearance", + "Core_thickness+Magnet_thickness+Coil_magnet_distance-Band_clearance", + 0, + ], + sizes=[ + "Coil_width + 2*Band_clearance", + "Coil_inner_diameter+2*(Coil_thickness+Band_clearance)", + ], + name="Motion_band_inner", +) motion_limit = "Core_outer_x-2*(Core_thickness+Band_clearance)-(Coil_width + 2*Band_clearance)-2*Band_clearance" m2d.assign_translate_motion( - assignment="Motion_band", axis="X", periodic_translate=None, mechanical_transient=True, - mass="Coil_mass", start_position=0, negative_limit=0, positive_limit=motion_limit + assignment="Motion_band", + axis="X", + periodic_translate=None, + mechanical_transient=True, + mass="Coil_mass", + start_position=0, + negative_limit=0, + positive_limit=motion_limit, ) # ## Create simulation domain @@ -218,11 +254,17 @@ # # Transient solver does not have adaptive mesh refinement, so the mesh operations have to be assigned. -m2d.mesh.assign_length_mesh(assignment=[band_id, inner_band_id], - maximum_length="Mesh_bands", maximum_elements=None, name="Bands") +m2d.mesh.assign_length_mesh( + assignment=[band_id, inner_band_id], + maximum_length="Mesh_bands", + maximum_elements=None, + name="Bands", +) m2d.mesh.assign_length_mesh( assignment=[coil_in_id, coil_in_id, core_id, magnet_n_id, magnet_s_id, region_id], - maximum_length="Mesh_other_objects", maximum_elements=None, name="Coils_core_magnets" + maximum_length="Mesh_other_objects", + maximum_elements=None, + name="Coils_core_magnets", ) # ## Turn on eddy effects @@ -260,7 +302,7 @@ m2d.post.create_report( expressions=["Moving1.Force_x", "Moving1.Position"], plot_name="Force on Coil and Position of Coil", - primary_sweep_variable="Time" + primary_sweep_variable="Time", ) # ## Analyze project From 499ccacc4383e01647a60880d2584a5a0178458b Mon Sep 17 00:00:00 2001 From: Giulia Malinverno Date: Mon, 9 Sep 2024 09:58:40 +0200 Subject: [PATCH 08/13] update args --- .../03-Maxwell2D/Maxwell2D_Lorentz_actuator.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index d81df8a97..26d14b395 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -77,10 +77,10 @@ project_name = os.path.join(temp_folder.name, "Lorentz_actuator.aedt") m2d = ansys.aedt.core.Maxwell2d( - projectname=project_name, - designname="1 transient 2D", + project=project_name, + design="1 transient 2D", solution_type="TransientXY", - specified_version=AEDT_VERSION, + version=AEDT_VERSION, non_graphical=NG_MODE, ) @@ -88,21 +88,21 @@ # # Define design variables from the created dictionaries. -m2d.variable_manager.set_variable(variable_name="Dimensions") +m2d.variable_manager.set_variable(name="Dimensions") for k, v in dimensions.items(): m2d[k] = v -m2d.variable_manager.set_variable(variable_name="Winding data") +m2d.variable_manager.set_variable(name="Winding data") for k, v in coil_specifications.items(): m2d[k] = v -m2d.variable_manager.set_variable(variable_name="Simulation data") +m2d.variable_manager.set_variable(name="Simulation data") for k, v in simulation_specifications.items(): m2d[k] = v # Materials. -m2d.variable_manager.set_variable(variable_name="Material data") +m2d.variable_manager.set_variable(name="Material data") m2d.logger.clear_messages() for i, key in enumerate(materials.keys()): if key == "Coil_material": From 41df80225af99b4fe5f859e15e173a3e4162d5d9 Mon Sep 17 00:00:00 2001 From: Giulia Malinverno Date: Mon, 9 Sep 2024 10:03:10 +0200 Subject: [PATCH 09/13] comment --- examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index 26d14b395..81c263538 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -269,13 +269,13 @@ # ## Turn on eddy effects # -# Turn on eddy effects. +# To turn eddy effects on please uncomment this line. # m2d.eddy_effects_on(assignment=["magnet_n", "magnet_s"]) # ## Turn on core loss # -# Turn on core loss. +# Turn core loss on please uncomment this line. # m2d.set_core_losses(assignment="Core") From 8c4ae7417b6cf6a699e4684078a50c0b0b039f58 Mon Sep 17 00:00:00 2001 From: Giulia Malinverno Date: Mon, 9 Sep 2024 10:03:26 +0200 Subject: [PATCH 10/13] comments --- examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index 81c263538..d0ead80fc 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -279,10 +279,6 @@ # m2d.set_core_losses(assignment="Core") -# ## Set model depth -# -# Set the model depth. - # ## Create setup # # Create the simulation setup. From e33455f1411f25319d6e44038b346d09a42509ca Mon Sep 17 00:00:00 2001 From: Giulia Malinverno Date: Mon, 9 Sep 2024 10:11:10 +0200 Subject: [PATCH 11/13] comments --- examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py index d0ead80fc..905cec326 100644 --- a/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py +++ b/examples/03-Maxwell2D/Maxwell2D_Lorentz_actuator.py @@ -269,15 +269,15 @@ # ## Turn on eddy effects # -# To turn eddy effects on please uncomment this line. +# Assign eddy effects to magnets. -# m2d.eddy_effects_on(assignment=["magnet_n", "magnet_s"]) +m2d.eddy_effects_on(assignment=["magnet_n", "magnet_s"]) # ## Turn on core loss # -# Turn core loss on please uncomment this line. +# Enable core loss for core. -# m2d.set_core_losses(assignment="Core") +m2d.set_core_losses(assignment="Core") # ## Create setup # From 63faaafca10a44ff52e01dc62f1351870e64270e Mon Sep 17 00:00:00 2001 From: Giulia Malinverno Date: Tue, 10 Sep 2024 15:58:12 +0200 Subject: [PATCH 12/13] fix merge mistakes and move actuator example --- examples/03-Maxwell2D/index.rst | 0 examples/04-low_frequency/magnetic/index.rst | 1 + .../lorentz_actuator.py} | 0 examples/06-AEDT/_static/aedt.png | Bin 418679 -> 0 bytes examples/06-AEDT/emit/index.rst | 2 +- examples/06-AEDT/hfss/index.rst | 2 +- examples/06-AEDT/hfss_3d_layout/index.rst | 2 +- examples/06-AEDT/maxwell_2d/index.rst | 2 +- examples/06-AEDT/misc/index.rst | 3 +-- examples/06-AEDT/q3d_q2d/index.rst | 5 ++--- examples/06-AEDT/twin_builder/index.rst | 2 +- 11 files changed, 9 insertions(+), 10 deletions(-) delete mode 100644 examples/03-Maxwell2D/index.rst rename examples/04-low_frequency/{general/Maxwell2D_Lorentz_actuator.py => magnetic/lorentz_actuator.py} (100%) diff --git a/examples/03-Maxwell2D/index.rst b/examples/03-Maxwell2D/index.rst deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/04-low_frequency/magnetic/index.rst b/examples/04-low_frequency/magnetic/index.rst index 802371bbf..0053f7a90 100644 --- a/examples/04-low_frequency/magnetic/index.rst +++ b/examples/04-low_frequency/magnetic/index.rst @@ -9,3 +9,4 @@ These examples use PyAEDT to show some magnetics examples choke.py magneto_motive_contour.py magneto_motive_line.py + lorentz_actuator.py diff --git a/examples/04-low_frequency/general/Maxwell2D_Lorentz_actuator.py b/examples/04-low_frequency/magnetic/lorentz_actuator.py similarity index 100% rename from examples/04-low_frequency/general/Maxwell2D_Lorentz_actuator.py rename to examples/04-low_frequency/magnetic/lorentz_actuator.py diff --git a/examples/06-AEDT/_static/aedt.png b/examples/06-AEDT/_static/aedt.png index e7213e3e4fed1411ecbd903828f7b6b9cd532572..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 418679 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
6GxZ=fK8}G?V;ecM+qJAPdc}d#|6ooIKYV&Y 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

F;SNY5iARepKCS2@58dQt9+XyoNek3WEnj#|c9 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