
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "examples/grid/plot_10kva_gfl_output_admittance.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        :ref:`Go to the end <sphx_glr_download_examples_grid_plot_10kva_gfl_output_admittance.py>`
        to download the full example code.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_examples_grid_plot_10kva_gfl_output_admittance.py:


10-kVA, GFL, output admittance
==============================

This example measures the output admittance of a 10-kVA grid-following (GFL)
converter. The converter and grid models are the same as in the example
`10-kVA GFL converter
<https://aalto-electric-drives.github.io/motulator/grid_examples/grid_following/plot_10kva_gfl.html>`_
of motulator.

.. GENERATED FROM PYTHON SOURCE LINES 14-19

.. code-block:: Python

    import numpy as np
    from motulator.grid import control, model, utils

    from motulator_impedance import grid








.. GENERATED FROM PYTHON SOURCE LINES 20-21

Compute base values based on the nominal values.

.. GENERATED FROM PYTHON SOURCE LINES 21-25

.. code-block:: Python


    nom = utils.NominalValues(U=400, I=14.5, f=50, P=10e3)
    base = utils.BaseValues.from_nominal(nom)








.. GENERATED FROM PYTHON SOURCE LINES 26-27

Configure the measurement.

.. GENERATED FROM PYTHON SOURCE LINES 27-30

.. code-block:: Python


    meas_cfg = grid.MeasurementCfg(abs_u_e=0.01 * base.u, freqs=np.geomspace(1, 10e3, 100))








.. GENERATED FROM PYTHON SOURCE LINES 31-32

Configure the system model.

.. GENERATED FROM PYTHON SOURCE LINES 32-38

.. code-block:: Python


    ac_filter = model.LFilter(L_f=0.2 * base.L)
    ac_source = model.ThreePhaseSource(w_g=base.w, e_g=base.u)
    converter = model.VoltageSourceConverter(u_dc=650)
    mdl = model.GridConverterSystem(converter, ac_filter, ac_source)








.. GENERATED FROM PYTHON SOURCE LINES 39-40

Configure the control system.

.. GENERATED FROM PYTHON SOURCE LINES 40-51

.. code-block:: Python


    cfg = control.CurrentVectorControllerCfg(
        i_max=1.5 * base.i, L=0.2 * base.L, T_s=1 / 10e3
    )
    inner_ctrl = control.CurrentVectorController(cfg)
    ctrl = control.GridConverterControlSystem(inner_ctrl)

    # Set the references
    ctrl.set_power_ref(0.5 * base.p)
    ctrl.set_reactive_power_ref(0.5 * base.p)








.. GENERATED FROM PYTHON SOURCE LINES 52-53

Measure the output admittance and plot the results.

.. GENERATED FROM PYTHON SOURCE LINES 53-62

.. code-block:: Python


    if __name__ == "__main__":
        res = grid.measure_output_admittance(mdl, ctrl, meas_cfg)
        # To save the results, e.g., in MATLAB format:
        # from dataclasses import asdict
        # from scipy.io import savemat
        # savemat("gfl_admittance.mat", asdict(res))
        grid.plot_output_admittance(res, form="re_im")
        grid.plot_operating_point(res, base)



.. rst-class:: sphx-glr-horizontal


    *

      .. image-sg:: /examples/grid/images/sphx_glr_plot_10kva_gfl_output_admittance_001.png
         :alt: plot 10kva gfl output admittance
         :srcset: /examples/grid/images/sphx_glr_plot_10kva_gfl_output_admittance_001.png
         :class: sphx-glr-multi-img

    *

      .. image-sg:: /examples/grid/images/sphx_glr_plot_10kva_gfl_output_admittance_002.png
         :alt: plot 10kva gfl output admittance
         :srcset: /examples/grid/images/sphx_glr_plot_10kva_gfl_output_admittance_002.png
         :class: sphx-glr-multi-img

    *

      .. image-sg:: /examples/grid/images/sphx_glr_plot_10kva_gfl_output_admittance_003.png
         :alt: plot 10kva gfl output admittance
         :srcset: /examples/grid/images/sphx_glr_plot_10kva_gfl_output_admittance_003.png
         :class: sphx-glr-multi-img






.. rst-class:: sphx-glr-timing

   **Total running time of the script:** (4 minutes 46.293 seconds)


.. _sphx_glr_download_examples_grid_plot_10kva_gfl_output_admittance.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: plot_10kva_gfl_output_admittance.ipynb <plot_10kva_gfl_output_admittance.ipynb>`

    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: plot_10kva_gfl_output_admittance.py <plot_10kva_gfl_output_admittance.py>`

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: plot_10kva_gfl_output_admittance.zip <plot_10kva_gfl_output_admittance.zip>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
