.. 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-16 .. code-block:: default from pyaedt import Maxwell3d from pyaedt import generate_unique_project_name import os .. GENERATED FROM PYTHON SOURCE LINES 17-21 Set non-graphical mode ~~~~~~~~~~~~~~~~~~~~~~ Set non-graphical mode. You can set ``non_graphical`` either to ``True`` or ``False``. .. GENERATED FROM PYTHON SOURCE LINES 21-24 .. code-block:: default non_graphical = False .. GENERATED FROM PYTHON SOURCE LINES 25-28 Launch AEDT ~~~~~~~~~~~ Launch AEDT 2023 R2 in graphical mode. .. GENERATED FROM PYTHON SOURCE LINES 28-34 .. code-block:: default m3d = Maxwell3d(projectname=generate_unique_project_name(), specified_version="2023.2", new_desktop_session=True, non_graphical=non_graphical) .. rst-class:: sphx-glr-script-out .. code-block:: none Initializing new desktop! .. GENERATED FROM PYTHON SOURCE LINES 35-38 Set up Maxwell solution ~~~~~~~~~~~~~~~~~~~~~~~ Set up the Maxwell solution to DC. .. GENERATED FROM PYTHON SOURCE LINES 38-41 .. code-block:: default m3d.solution_type = m3d.SOLUTIONS.Maxwell3d.ElectroDCConduction .. GENERATED FROM PYTHON SOURCE LINES 42-45 Create magnet ~~~~~~~~~~~~~ Create a magnet. .. GENERATED FROM PYTHON SOURCE LINES 45-48 .. code-block:: default magnet = m3d.modeler.create_box(position=[7, 4, 22], dimensions_list=[10, 5, 30], name="Magnet", matname="copper") .. GENERATED FROM PYTHON SOURCE LINES 49-52 Create setup and assign voltage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create the setup and assign a voltage. .. GENERATED FROM PYTHON SOURCE LINES 52-56 .. code-block:: default 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 57-60 Plot model ~~~~~~~~~~ Plot the model. .. GENERATED FROM PYTHON SOURCE LINES 60-63 .. code-block:: default m3d.plot(show=False, export_path=os.path.join(m3d.working_directory, "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 64-67 Solve setup ~~~~~~~~~~~ Solve the setup. .. GENERATED FROM PYTHON SOURCE LINES 67-70 .. code-block:: default m3d.analyze() .. rst-class:: sphx-glr-script-out .. code-block:: none True .. GENERATED FROM PYTHON SOURCE LINES 71-74 Compute mass center ~~~~~~~~~~~~~~~~~~~ Compute mass center using the fields calculator. .. GENERATED FROM PYTHON SOURCE LINES 74-89 .. code-block:: default 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 90-93 Get mass center ~~~~~~~~~~~~~~~ Get mass center using the fields calculator. .. GENERATED FROM PYTHON SOURCE LINES 93-98 .. code-block:: default xval = m3d.post.get_scalar_field_value("CM_X", None) yval = m3d.post.get_scalar_field_value("CM_Y", None) zval = m3d.post.get_scalar_field_value("CM_Z", None) .. GENERATED FROM PYTHON SOURCE LINES 99-102 Create variables ~~~~~~~~~~~~~~~~ Create variables with mass center values. .. GENERATED FROM PYTHON SOURCE LINES 102-107 .. code-block:: default 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 108-111 Create coordinate system ~~~~~~~~~~~~~~~~~~~~~~~~ Create a parametric coordinate system. .. GENERATED FROM PYTHON SOURCE LINES 111-116 .. code-block:: default 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 117-120 Save and close ~~~~~~~~~~~~~~ Save the project and close AEDT. .. GENERATED FROM PYTHON SOURCE LINES 120-123 .. code-block:: default m3d.save_project() m3d.release_desktop(close_projects=True, close_desktop=True) .. rst-class:: sphx-glr-script-out .. code-block:: none True .. rst-class:: sphx-glr-timing **Total running time of the script:** (1 minutes 10.079 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-python :download:`Download Python source code: Maxwell_Magnet.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: Maxwell_Magnet.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_