.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/plate_tectonics/plot_04_hertz_floating_plate.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_plate_tectonics_plot_04_hertz_floating_plate.py: Hertz's floating elastic plate (1884) ===================================== Heinrich Hertz solved for the bending of a thin elastic plate floating on a fluid, the problem of a load on lake ice. The same equation describes the lithosphere floating on the mantle: rigidity grows as the cube of the elastic thickness and the flexural length as its three-quarter power. .. GENERATED FROM PYTHON SOURCE LINES 10-32 .. image-sg:: /api/gallery/plate_tectonics/images/sphx_glr_plot_04_hertz_floating_plate_001.png :alt: Same plate equation, from ice to lithosphere :srcset: /api/gallery/plate_tectonics/images/sphx_glr_plot_04_hertz_floating_plate_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none flexural length of 0.5 m lake ice: 14.4 m flexural length of a 30 km plate: 74 km | .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from earthsciencekit.constants import GRAVITY from earthsciencekit.plate_tectonics import flexural_parameter, flexural_rigidity ice = flexural_parameter(flexural_rigidity(9e9, 0.5, 0.33), 1000, GRAVITY) thickness = np.logspace(3, 5, 50) rigidity = flexural_rigidity(7e10, thickness, 0.25) alpha = flexural_parameter(rigidity, 3300 - 1000, GRAVITY) assert np.isclose(np.polyfit(np.log(thickness), np.log(alpha), 1)[0], 0.75) assert np.isclose(np.polyfit(np.log(thickness), np.log(rigidity), 1)[0], 3) print(f"flexural length of 0.5 m lake ice: {float(ice):.1f} m") print(f"flexural length of a 30 km plate: {float(flexural_parameter(flexural_rigidity(7e10, 30e3, 0.25), 2300, GRAVITY)) / 1e3:.0f} km") fig, ax = plt.subplots() ax.loglog(thickness / 1e3, alpha / 1e3, label="lithosphere on mantle") ax.set(xlabel="elastic thickness [km]", ylabel="flexural length [km]", title="Same plate equation, from ice to lithosphere") ax.legend() plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.123 seconds) .. _sphx_glr_download_api_gallery_plate_tectonics_plot_04_hertz_floating_plate.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/plate_tectonics/plot_04_hertz_floating_plate.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_04_hertz_floating_plate.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_04_hertz_floating_plate.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_04_hertz_floating_plate.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_