.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/electrical_engineering/networks/plot_03_norton_equivalent.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 or to run this example in your browser via JupyterLite. .. rst-class:: sphx-glr-example-title .. _sphx_glr_api_gallery_electrical_engineering_networks_plot_03_norton_equivalent.py: Norton's equivalent circuit (1926) ================================== In 1926 Edward Lawry Norton at Bell Labs, and independently Hans Ferdinand Mayer at Siemens, gave the dual of Thévenin's theorem: a linear two-terminal network also behaves like a current source :math:`I_N = V_{th}/R_{th}` in parallel with the same resistance (:func:`~engineeringkit.electrical_engineering.norton_from_thevenin`). Norton wrote it in an internal memorandum on filter design; Mayer used it to model the vacuum-tube amplifier, which acts more like a current source than a voltage source. This example checks that the Thévenin and Norton forms are indistinguishable at the terminals, and that converting sources back and forth simplifies a ladder to a single source. .. GENERATED FROM PYTHON SOURCE LINES 18-23 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from engineeringkit.electrical_engineering import nodal_analysis, norton_from_thevenin, parallel_resistance, thevenin_from_source .. GENERATED FROM PYTHON SOURCE LINES 24-26 Same terminal behaviour ----------------------- .. GENERATED FROM PYTHON SOURCE LINES 26-35 .. code-block:: Python vth, rth = thevenin_from_source(9.0, 300.0) i_n, r_n = norton_from_thevenin(vth, rth) print(f"Thévenin {vth:.1f} V + {rth:.0f} ohm <-> Norton {i_n * 1e3:.1f} mA || {r_n:.0f} ohm") loads = np.logspace(0, 4, 30) v_thevenin = [nodal_analysis(2, [(1, 2, rth), (2, 0, r)], voltage_sources=[(1, 0, vth)]).voltages[2] for r in loads] v_norton = [nodal_analysis(1, [(1, 0, r_n), (1, 0, r)], current_sources=[(0, 1, i_n)]).voltages[1] for r in loads] assert np.allclose(v_thevenin, v_norton) .. rst-class:: sphx-glr-script-out .. code-block:: none Thévenin 9.0 V + 300 ohm <-> Norton 30.0 mA || 300 ohm .. GENERATED FROM PYTHON SOURCE LINES 36-41 Source transformations ---------------------- Two batteries with internal resistance in parallel: convert each to Norton form, add the currents and the conductances, convert back. .. GENERATED FROM PYTHON SOURCE LINES 41-58 .. code-block:: Python batteries = [(12.0, 0.5), (11.4, 0.3)] nortons = [norton_from_thevenin(v, r) for v, r in batteries] i_total = sum(i for i, _ in nortons) r_total = parallel_resistance(*(r for _, r in nortons)) v_eq = i_total * r_total direct = nodal_analysis(3, [(1, 3, 0.5), (2, 3, 0.3)], voltage_sources=[(1, 0, 12.0), (2, 0, 11.4)]).voltages[3] print(f"open-circuit voltage of the pair: {v_eq:.4f} V (nodal analysis {direct:.4f} V), R = {r_total:.4f} ohm") assert np.isclose(v_eq, direct) fig, ax = plt.subplots() ax.semilogx(loads, v_thevenin, label="Thévenin form") ax.semilogx(loads, v_norton, "--", label="Norton form") ax.set(xlabel="load resistance [ohm]", ylabel="load voltage [V]", title="Norton's equivalent") ax.legend() plt.show() .. image-sg:: /api/gallery/electrical_engineering/networks/images/sphx_glr_plot_03_norton_equivalent_001.png :alt: Norton's equivalent :srcset: /api/gallery/electrical_engineering/networks/images/sphx_glr_plot_03_norton_equivalent_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none open-circuit voltage of the pair: 11.6250 V (nodal analysis 11.6250 V), R = 0.1875 ohm .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.037 seconds) .. _sphx_glr_download_api_gallery_electrical_engineering_networks_plot_03_norton_equivalent.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../../../lite/lab/index.html?path=api/gallery/electrical_engineering/networks/plot_03_norton_equivalent.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_03_norton_equivalent.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_03_norton_equivalent.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_03_norton_equivalent.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_