.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/structural_engineering/members/plot_03_poisson_ratio.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_structural_engineering_members_plot_03_poisson_ratio.py: Poisson's ratio (1829) ====================== A bar stretched along its axis gets thinner. Siméon Denis Poisson's 1829 molecular theory of elasticity predicted that the lateral strain is always one quarter of the axial strain. Measurements soon showed that the ratio :math:`\nu` depends on the material: about 0.3 for steel, nearly 0.5 for rubber and nearly zero for cork, which is why cork seals a wine bottle without jamming in the neck. The lateral strain is :math:`-\nu\varepsilon` (:func:`~engineeringkit.structural_engineering.poisson_lateral_strain`), so the volume changes by :math:`(1 - 2\nu)\varepsilon` to first order: an incompressible material has :math:`\nu = 1/2`. .. GENERATED FROM PYTHON SOURCE LINES 17-22 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from engineeringkit.structural_engineering import poisson_lateral_strain .. GENERATED FROM PYTHON SOURCE LINES 23-25 Volume change of a stretched bar -------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 25-34 .. code-block:: Python strain = 1e-3 materials = {"cork": 0.0, "Poisson's 1/4": 0.25, "steel": 0.30, "concrete": 0.20, "rubber": 0.499} for name, nu in materials.items(): lateral = poisson_lateral_strain(strain, nu) volume = (1 + strain) * (1 + lateral) ** 2 - 1 print(f"{name:14s} nu = {nu:5.3f}: lateral strain {lateral:+.2e}, volume strain {volume:+.3e}") assert abs(volume - (1 - 2 * nu) * strain) <= strain**2 # first-order formula, second-order error .. rst-class:: sphx-glr-script-out .. code-block:: none cork nu = 0.000: lateral strain -0.00e+00, volume strain +1.000e-03 Poisson's 1/4 nu = 0.250: lateral strain -2.50e-04, volume strain +4.996e-04 steel nu = 0.300: lateral strain -3.00e-04, volume strain +3.995e-04 concrete nu = 0.200: lateral strain -2.00e-04, volume strain +5.996e-04 rubber nu = 0.499: lateral strain -4.99e-04, volume strain +1.251e-06 .. GENERATED FROM PYTHON SOURCE LINES 35-37 The exact volume ratio, across the admissible range --------------------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 37-50 .. code-block:: Python nu = np.linspace(-0.9, 0.49, 200) eps = 0.01 exact = (1 + eps) * (1 + poisson_lateral_strain(eps, nu)) ** 2 - 1 fig, ax = plt.subplots(figsize=(6, 3.5)) ax.plot(nu, exact / eps, label="exact") ax.plot(nu, 1 - 2 * nu, "--", label=r"$1 - 2\nu$") ax.axvline(0.25, color="gray", ls=":", label="Poisson's 1/4") ax.set(xlabel=r"Poisson's ratio $\nu$", ylabel="volume strain / axial strain", title="1% stretch") ax.legend() fig.tight_layout() plt.show() .. image-sg:: /api/gallery/structural_engineering/members/images/sphx_glr_plot_03_poisson_ratio_001.png :alt: 1% stretch :srcset: /api/gallery/structural_engineering/members/images/sphx_glr_plot_03_poisson_ratio_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.031 seconds) .. _sphx_glr_download_api_gallery_structural_engineering_members_plot_03_poisson_ratio.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/structural_engineering/members/plot_03_poisson_ratio.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_03_poisson_ratio.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_03_poisson_ratio.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_03_poisson_ratio.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_