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.
Metadata
Release files for rubble 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rubble-0.3.0.tar.gz | 62.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rubble-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 124.7 kB
Release files / rubble-0.3.0.tar.gz
| Download URL | rubble-0.3.0.tar.gz |
|---|---|
| Size | 62.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d3b576a5d08e4255d713c62660660a7f3ce9703454774c3bcb49a2c969b16796
|
|
BLAKE2b-256 checksum How to use checksums |
d1d1a647b4e7f26ea8dcf23b475d4091adbf5b055117eafaa10a07d45a5650dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.6
|
Release files / rubble-0.3.0-py3-none-any.whl
| Download URL | rubble-0.3.0-py3-none-any.whl |
|---|---|
| Size | 62.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
80eb1b78ff3256954dc71acc4c9e9d7e873e8f648b286bd22bb382c71f943952
|
|
BLAKE2b-256 checksum How to use checksums |
47ac1d4bc75a27f614eedca16bcb0aeb169ecdca7f600a941f89f6a539c9b7c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.6
|