Skip to main content

An implicit code for simulating the local evolution of solid size distributions in protoplanetary disks

Project description

ASCL record PyPI version
Paper
Paper

Rubble: An implicit code for simulating the local evolution of solid size distributions in protoplanetary disks

Rubble (Li, Chen & Lin, 2022, 2024) implicitly models the local evolution of dust distributions in size, mass, and surface density by solving the Smoluchowski equation (also known as the coagulation-fragmentation equation) under given disk conditions.

The code robustness has been validated by a suite of numerical benchmarks against known analytical and empirical results. Rubble is also able to model prescribed physical processes such as bouncing, modulated mass transfer, regulated dust loss/supply, and probabilistic collisional outcomes based on velocity distributions, etc. A thermal evolution module has been later included to self-consistently update opacity and temperature, and models silicate evaporation and condensation using the Clausius–Clapeyron relation. The package also includes a toolkit for analyzing and visualizing results produced by Rubble.

Rubble is built on PyTorch, enabling GPU-accelerated computation and significant performance gains over traditional CPU-based linear algebra backends.

Installation

You may install Rubble by this command:

pip install -U rubble

Or, you may try the most updated Rubble by this command:

pip install -U -e git+git://github.com/astroboylrx/Rubble

It will automatically install all the required modules.

Usage

Three demo Jupyter Notebooks are provided under the docs/JupyterNotebooks folder:

  • Demo1 — Analytical kernels (constant, linear, product) and coagulation/fragmentation in protoplanetary disk environments, benchmarked against known analytical and empirical results.
  • Demo2 — Collision physics including coagulation, bouncing, and fragmentation (destructive, erosion, and mass transfer), with or without velocity distributions.
  • Demo3 — Evaporation and condensation of silicates via the Clausius–Clapeyron relation, with timestep convergence tests at different temperature regimes.

You may also try help(Rubble) to read the raw documentation.

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

rubble-0.3.0.tar.gz (62.7 kB view details)

Uploaded Source

Built Distribution

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

rubble-0.3.0-py3-none-any.whl (62.0 kB view details)

Uploaded Python 3

File details

Details for the file rubble-0.3.0.tar.gz.

File metadata

  • Download URL: rubble-0.3.0.tar.gz
  • Upload date:
  • Size: 62.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for rubble-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d3b576a5d08e4255d713c62660660a7f3ce9703454774c3bcb49a2c969b16796
MD5 151dae1347d84be65c3294de25982540
BLAKE2b-256 d1d1a647b4e7f26ea8dcf23b475d4091adbf5b055117eafaa10a07d45a5650dd

See more details on using hashes here.

File details

Details for the file rubble-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: rubble-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 62.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for rubble-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80eb1b78ff3256954dc71acc4c9e9d7e873e8f648b286bd22bb382c71f943952
MD5 d13d8153092ce9169e65586a8846cce2
BLAKE2b-256 47ac1d4bc75a27f614eedca16bcb0aeb169ecdca7f600a941f89f6a539c9b7c4

See more details on using hashes here.

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