Skip to main content

Tools for simulating rock slope erosion and the emergent geometry of Richter slopes

Project description

The emergent geometry of rock slopes

Summary: Simulation tools to support a geomorphic, non-convex Hamiltonian theory of rock ramp-cliff retreat and the emergent geometry of Richter-type slopes.

3d model of West Mitten Butte rendered in Blender

Abstract

An iconic image of the American West is the desert mesa: a steep cliff, rising above a ramp-like rock slope, capped by a flat bench. This famous landform has long been assumed to develop where strong rock overlies weak, and where rockfall debris suppresses ramp erosion. Such an explanation cannot be true in general, however, because the archetypal geometry can arise even in uniform bedrock with no talus armouring. Here we argue instead that the ramp-cliff shape is an emergent property. Theoretical evidence comes from a simple model of scarp retreat whose combined rates of weathering and surface-normal erosion are written as a slowly varying function of gradient. Model analysis and simulation, using geometric mechanics and level sets, reveal the sharp break in slope to form automatically as a shock solution of a non-convex Hamilton-Jacobi equation (HJE). Erodibility contrasts are not needed to explain this behaviour, but when present they help lock the landform into its classic shape and allow it to persist long-term. These conclusions are vindicated by 3D topographic analysis of differential cliff recession in geologically homogeneous material.

Level-set solution

The purpose of the Python code presented here is to derive, analyze, and numerically solve a geomorphic Hamiltonian[^1] model of rock slope erosion and retreat[^2]. The code is provided as a Python library package and associated Jupyter notebooks (e.g., here and here).

Animated set of HJE solutions of ramp-cliff retreat for varying ratio of upper/lower rock layer erodibility

Numerical solution of the model Hamilton-Jacobi equation is achieved with a level-set scheme[^3] that employs Lax-Friedrichs finite differencing to obtain stable viscosity solutions for a non-convex Hamiltonian. The level-set code is custom implemented in Python.

Model analysis is performed using some tools from geometric mechanics[^4]: having converted the rock-slope erosion model into geomorphic Hamiltonian $\mathcal{H}(\mathbf{r}, \mathbf{p})$ form, this Hamiltonian is then used to derive Hamilton's ray tracing equations $(\partial_{\mathbf{p}}\mathcal{H}, -\partial_{\mathbf{r}}\mathcal{H})$ and the co-metric of rock slope erosion tensor $g^{ij} = \partial_{ij}\mathcal{H}$; these properties are then probed to understand model stability, notably to place bounds on the non-convexity of $\mathcal{H}$ and to identify critical angles.

References

[^1]: Stark, C.P., & Stark, G.J., 2022. The direction of landscape erosion. Earth Surface Dynamics, 10: 383-419.

[^2]: Howard, A.D., & Selby, M.J., 2009. Rock Slopes. In: Parsons, A.J., Abrahams, A.D. (eds). Geomorphology of Desert Environments. Springer, Dordrecht.

[^3]: Osher, S., & Fedkiw, R., 2003. Level Set Methods and Dynamic Implicit Surfaces. Springer-Verlag New York, Inc. See page 50.

[^4]: Holm, D.D., 2011. Geometric Mechanics. Part I: Dynamics and Symmetry (2nd Edition)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

erosionfront-0.1.15.tar.gz (58.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

erosionfront-0.1.15-py3-none-any.whl (70.3 kB view details)

Uploaded Python 3

File details

Details for the file erosionfront-0.1.15.tar.gz.

File metadata

  • Download URL: erosionfront-0.1.15.tar.gz
  • Upload date:
  • Size: 58.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for erosionfront-0.1.15.tar.gz
Algorithm Hash digest
SHA256 f586f2f3fc461609a8e8e61f401c2c1bf04c939e6882291b0db43132a323e897
MD5 dab4306ae6d0e12c1caad92cc70d6cf9
BLAKE2b-256 bd1d7e6046b4104f7d10eef0ba27476d269e40a867848f51d1152648c6aeacfa

See more details on using hashes here.

Provenance

The following attestation bundles were made for erosionfront-0.1.15.tar.gz:

Publisher: pypi-publish.yml on cstarkjp/ErosionFront

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file erosionfront-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: erosionfront-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 70.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for erosionfront-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 8ba761b8b92071354942f358b811f31efba80719bac3f8947cba454e63f8db9a
MD5 236e9618ccc1b16f411ad4fe5b68b699
BLAKE2b-256 c751165b7cfd0521cbc52ccd8243f1a365245885e08cecb79f6e21428ae12a37

See more details on using hashes here.

Provenance

The following attestation bundles were made for erosionfront-0.1.15-py3-none-any.whl:

Publisher: pypi-publish.yml on cstarkjp/ErosionFront

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page