.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples\03-Maxwell\Maxwell_Magnet.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_03-Maxwell_Maxwell_Magnet.py: Maxwell 3D: magnet DC analysis ------------------------------ This example shows how you can use PyAEDT to create a Maxwell DC analysis, compute mass center, and move coordinate systems. .. GENERATED FROM PYTHON SOURCE LINES 8-11 Perform required imports ~~~~~~~~~~~~~~~~~~~~~~~~ Perform required imports. .. GENERATED FROM PYTHON SOURCE LINES 11-17 .. code-block:: Python from pyaedt import Maxwell3d from pyaedt import generate_unique_project_name import os import tempfile .. GENERATED FROM PYTHON SOURCE LINES 18-21 Set AEDT version ~~~~~~~~~~~~~~~~ Set AEDT version. .. GENERATED FROM PYTHON SOURCE LINES 21-24 .. code-block:: Python aedt_version = "2024.1" .. GENERATED FROM PYTHON SOURCE LINES 25-28 Create temporary directory ~~~~~~~~~~~~~~~~~~~~~~~~~~ Create temporary directory. .. GENERATED FROM PYTHON SOURCE LINES 28-31 .. code-block:: Python temp_dir = tempfile.TemporaryDirectory(suffix=".ansys") .. GENERATED FROM PYTHON SOURCE LINES 32-36 Set non-graphical mode ~~~~~~~~~~~~~~~~~~~~~~ Set non-graphical mode. You can set ``non_graphical`` either to ``True`` or ``False``. .. GENERATED FROM PYTHON SOURCE LINES 36-39 .. code-block:: Python non_graphical = False .. GENERATED FROM PYTHON SOURCE LINES 40-43 Launch AEDT ~~~~~~~~~~~ Launch AEDT in graphical mode. .. GENERATED FROM PYTHON SOURCE LINES 43-49 .. code-block:: Python m3d = Maxwell3d(projectname=generate_unique_project_name(), specified_version=aedt_version, new_desktop_session=True, non_graphical=non_graphical) .. rst-class:: sphx-glr-script-out .. code-block:: none C:\actions-runner\_work\_tool\Python\3.10.9\x64\lib\subprocess.py:1072: ResourceWarning: subprocess 7056 is still running _warn("subprocess %s is still running" % self.pid, C:\actions-runner\_work\pyaedt\pyaedt\testenv\lib\site-packages\pyaedt\generic\settings.py:368: ResourceWarning: unclosed file <_io.TextIOWrapper name='D:\\Temp\\pyaedt_ansys.log' mode='a' encoding='cp1252'> self._logger = val .. GENERATED FROM PYTHON SOURCE LINES 50-53 Set up Maxwell solution ~~~~~~~~~~~~~~~~~~~~~~~ Set up the Maxwell solution to DC. .. GENERATED FROM PYTHON SOURCE LINES 53-56 .. code-block:: Python m3d.solution_type = m3d.SOLUTIONS.Maxwell3d.ElectroDCConduction .. GENERATED FROM PYTHON SOURCE LINES 57-60 Create magnet ~~~~~~~~~~~~~ Create a magnet. .. GENERATED FROM PYTHON SOURCE LINES 60-63 .. code-block:: Python magnet = m3d.modeler.create_box(position=[7, 4, 22], dimensions_list=[10, 5, 30], name="Magnet", matname="copper") .. GENERATED FROM PYTHON SOURCE LINES 64-67 Create setup and assign voltage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create the setup and assign a voltage. .. GENERATED FROM PYTHON SOURCE LINES 67-71 .. code-block:: Python m3d.assign_voltage(magnet.faces, 0) m3d.create_setup() .. rst-class:: sphx-glr-script-out .. code-block:: none SetupName MySetupAuto with 0 Sweeps .. GENERATED FROM PYTHON SOURCE LINES 72-75 Plot model ~~~~~~~~~~ Plot the model. .. GENERATED FROM PYTHON SOURCE LINES 75-78 .. code-block:: Python m3d.plot(show=False, export_path=os.path.join(temp_dir.name, "Image.jpg"), plot_air_objects=True) .. image-sg:: /examples/03-Maxwell/images/sphx_glr_Maxwell_Magnet_001.png :alt: Maxwell Magnet :srcset: /examples/03-Maxwell/images/sphx_glr_Maxwell_Magnet_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 79-82 Solve setup ~~~~~~~~~~~ Solve the setup. .. GENERATED FROM PYTHON SOURCE LINES 82-85 .. code-block:: Python m3d.analyze() .. rst-class:: sphx-glr-script-out .. code-block:: none True .. GENERATED FROM PYTHON SOURCE LINES 86-89 Compute mass center ~~~~~~~~~~~~~~~~~~~ Compute mass center using the fields calculator. .. GENERATED FROM PYTHON SOURCE LINES 89-104 .. code-block:: Python m3d.post.ofieldsreporter.EnterScalarFunc("X") m3d.post.ofieldsreporter.EnterVol(magnet.name) m3d.post.ofieldsreporter.CalcOp("Mean") m3d.post.ofieldsreporter.AddNamedExpression("CM_X", "Fields") m3d.post.ofieldsreporter.EnterScalarFunc("Y") m3d.post.ofieldsreporter.EnterVol(magnet.name) m3d.post.ofieldsreporter.CalcOp("Mean") m3d.post.ofieldsreporter.AddNamedExpression("CM_Y", "Fields") m3d.post.ofieldsreporter.EnterScalarFunc("Z") m3d.post.ofieldsreporter.EnterVol(magnet.name) m3d.post.ofieldsreporter.CalcOp("Mean") m3d.post.ofieldsreporter.AddNamedExpression("CM_Z", "Fields") m3d.post.ofieldsreporter.CalcStack("clear") .. GENERATED FROM PYTHON SOURCE LINES 105-108 Get mass center ~~~~~~~~~~~~~~~ Get mass center using the fields calculator. .. GENERATED FROM PYTHON SOURCE LINES 108-113 .. code-block:: Python xval = m3d.post.get_scalar_field_value("CM_X") yval = m3d.post.get_scalar_field_value("CM_Y") zval = m3d.post.get_scalar_field_value("CM_Z") .. GENERATED FROM PYTHON SOURCE LINES 114-117 Create variables ~~~~~~~~~~~~~~~~ Create variables with mass center values. .. GENERATED FROM PYTHON SOURCE LINES 117-122 .. code-block:: Python m3d[magnet.name + "x"] = str(xval * 1e3) + "mm" m3d[magnet.name + "y"] = str(yval * 1e3) + "mm" m3d[magnet.name + "z"] = str(zval * 1e3) + "mm" .. GENERATED FROM PYTHON SOURCE LINES 123-126 Create coordinate system ~~~~~~~~~~~~~~~~~~~~~~~~ Create a parametric coordinate system. .. GENERATED FROM PYTHON SOURCE LINES 126-131 .. code-block:: Python cs1 = m3d.modeler.create_coordinate_system( [magnet.name + "x", magnet.name + "y", magnet.name + "z"], reference_cs="Global", name=magnet.name + "CS" ) .. GENERATED FROM PYTHON SOURCE LINES 132-135 Save and close ~~~~~~~~~~~~~~ Save the project and close AEDT. .. GENERATED FROM PYTHON SOURCE LINES 135-139 .. code-block:: Python m3d.save_project() m3d.release_desktop(close_projects=True, close_desktop=True) temp_dir.cleanup() .. rst-class:: sphx-glr-timing **Total running time of the script:** (1 minutes 17.859 seconds) .. _sphx_glr_download_examples_03-Maxwell_Maxwell_Magnet.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: Maxwell_Magnet.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: Maxwell_Magnet.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_