.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples\03-Maxwell\Maxwell_Transformer_Coreloss.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_Transformer_Coreloss.py: Maxwell 3D: Transformer ----------------------- This example shows how you can use PyAEDT to set core loss given a set of Power-Volume [kw/m^3] curves at different frequencies. .. GENERATED FROM PYTHON SOURCE LINES 8-11 Perform required imports ~~~~~~~~~~~~~~~~~~~~~~~~ Perform required imports. .. GENERATED FROM PYTHON SOURCE LINES 11-18 .. code-block:: default from pyaedt import downloads from pyaedt import generate_unique_folder_name from pyaedt import Maxwell3d from pyaedt.generic.constants import unit_converter from pyaedt.generic.general_methods import read_csv_pandas .. GENERATED FROM PYTHON SOURCE LINES 19-22 Download .aedt file example ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set local temporary folder to export the .aedt file to. .. GENERATED FROM PYTHON SOURCE LINES 22-51 .. code-block:: default temp_folder = generate_unique_folder_name() aedt_file = downloads.download_file("core_loss_transformer", "Ex2-PlanarTransformer_2023R2.aedtz", temp_folder) freq_curve_csv_25kHz = downloads.download_file("core_loss_transformer", "mf3_25kHz.csv", temp_folder) freq_curve_csv_100kHz = downloads.download_file("core_loss_transformer", "mf3_100kHz.csv", temp_folder) freq_curve_csv_200kHz = downloads.download_file("core_loss_transformer", "mf3_200kHz.csv", temp_folder) freq_curve_csv_400kHz = downloads.download_file("core_loss_transformer", "mf3_400kHz.csv", temp_folder) freq_curve_csv_700kHz = downloads.download_file("core_loss_transformer", "mf3_700kHz.csv", temp_folder) freq_curve_csv_1MHz = downloads.download_file("core_loss_transformer", "mf3_1MHz.csv", temp_folder) data = read_csv_pandas(filename=freq_curve_csv_25kHz) curves_csv_25kHz = list(zip(data[data.columns[0]], data[data.columns[1]])) data = read_csv_pandas(filename=freq_curve_csv_100kHz) curves_csv_100kHz = list(zip(data[data.columns[0]], data[data.columns[1]])) data = read_csv_pandas(filename=freq_curve_csv_200kHz) curves_csv_200kHz = list(zip(data[data.columns[0]], data[data.columns[1]])) data = read_csv_pandas(filename=freq_curve_csv_400kHz) curves_csv_400kHz = list(zip(data[data.columns[0]], data[data.columns[1]])) data = read_csv_pandas(filename=freq_curve_csv_700kHz) curves_csv_700kHz = list(zip(data[data.columns[0]], data[data.columns[1]])) data = read_csv_pandas(filename=freq_curve_csv_1MHz) curves_csv_1MHz = list(zip(data[data.columns[0]], data[data.columns[1]])) .. GENERATED FROM PYTHON SOURCE LINES 52-55 Launch AEDT ~~~~~~~~~~~ Launch AEDT 2023 R2 in graphical mode. .. GENERATED FROM PYTHON SOURCE LINES 55-62 .. code-block:: default m3d = Maxwell3d(projectname=aedt_file, designname="02_3D eddycurrent_CmXY_for_thermal", specified_version="2023.2", new_desktop_session=True, non_graphical=False) .. rst-class:: sphx-glr-script-out .. code-block:: none Initializing new desktop! C:\actions-runner\_work\_tool\Python\3.10.5\x64\lib\subprocess.py:1070: ResourceWarning: subprocess 5488 is still running _warn("subprocess %s is still running" % self.pid, .. GENERATED FROM PYTHON SOURCE LINES 63-67 Set core loss at frequencies ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create a new material, create a dictionary of Power-Volume [kw/m^3] points for a set of frequencies retrieved from datasheet provided by supplier and finally set Power-Ferrite core loss model. .. GENERATED FROM PYTHON SOURCE LINES 67-85 .. code-block:: default mat = m3d.materials.add_material("newmat") freq_25kHz = unit_converter(25, unit_system="Freq", input_units="kHz", output_units="Hz") freq_100kHz = unit_converter(100, unit_system="Freq", input_units="kHz", output_units="Hz") freq_200kHz = unit_converter(200, unit_system="Freq", input_units="kHz", output_units="Hz") freq_400kHz = unit_converter(400, unit_system="Freq", input_units="kHz", output_units="Hz") freq_700kHz = unit_converter(700, unit_system="Freq", input_units="kHz", output_units="Hz") pv = {freq_25kHz: curves_csv_25kHz, freq_100kHz: curves_csv_100kHz, freq_200kHz: curves_csv_200kHz, freq_400kHz: curves_csv_400kHz, freq_700kHz: curves_csv_700kHz} m3d.materials[mat.name].set_coreloss_at_frequency(points_list_at_freq=pv, coefficient_setup="kw_per_cubic_meter", core_loss_model_type="Power Ferrite") coefficients = m3d.materials[mat.name].get_core_loss_coefficients(points_list_at_freq=pv, coefficient_setup="kw_per_cubic_meter") .. GENERATED FROM PYTHON SOURCE LINES 86-89 Save project and close AEDT ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Save the project and close AEDT. .. GENERATED FROM PYTHON SOURCE LINES 89-92 .. code-block:: default m3d.save_project() m3d.release_desktop() .. rst-class:: sphx-glr-script-out .. code-block:: none True .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 55.151 seconds) .. _sphx_glr_download_examples_03-Maxwell_Maxwell_Transformer_Coreloss.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_Transformer_Coreloss.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: Maxwell_Transformer_Coreloss.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_