.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/glaciology/plot_09_weertman_sliding_law.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_glaciology_plot_09_weertman_sliding_law.py: Weertman's sliding law (1957) ============================= Johannes Weertman asked how temperate ice gets past the bumps of its bed. It melts on the upstream side of small obstacles and refreezes behind them, and it creeps faster around large ones; the obstacle size that limits both sets a sliding speed proportional to about the square of the basal stress. Sliding adds to internal deformation, and on soft or wet beds it dominates. .. GENERATED FROM PYTHON SOURCE LINES 11-32 .. image-sg:: /api/gallery/glaciology/images/sphx_glr_plot_09_weertman_sliding_law_001.png :alt: Weertman: sliding grows as stress squared :srcset: /api/gallery/glaciology/images/sphx_glr_plot_09_weertman_sliding_law_001.png :class: sphx-glr-single-img .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from earthsciencekit.constants import GRAVITY, ICE_DENSITY, SECONDS_PER_YEAR from earthsciencekit.glaciology import driving_stress, glen_surface_velocity, weertman_sliding_velocity thickness = 300.0 slope = np.linspace(0.005, 0.05, 100) stress = driving_stress(thickness, slope, ICE_DENSITY, GRAVITY) deformation = glen_surface_velocity(thickness, slope, 2.4e-24, 3, ICE_DENSITY, GRAVITY) fig, ax = plt.subplots() ax.plot(stress / 1e3, deformation * SECONDS_PER_YEAR, "k--", label="internal deformation") for coefficient in (1e-16, 5e-16): sliding = weertman_sliding_velocity(stress, coefficient, 2) ax.plot(stress / 1e3, (sliding + deformation) * SECONDS_PER_YEAR, label=f"with sliding, C = {coefficient:g}") assert np.isclose(weertman_sliding_velocity(2e5, 1e-17, 2), 4 * weertman_sliding_velocity(1e5, 1e-17, 2)) ax.set(xlabel="basal stress [kPa]", ylabel="surface velocity [m/year]", title="Weertman: sliding grows as stress squared") ax.legend() plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.091 seconds) .. _sphx_glr_download_api_gallery_glaciology_plot_09_weertman_sliding_law.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/glaciology/plot_09_weertman_sliding_law.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_09_weertman_sliding_law.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_09_weertman_sliding_law.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_09_weertman_sliding_law.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_