An implicit code for simulating the local evolution of solid size distributions in protoplanetary disks
Project description
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3b576a5d08e4255d713c62660660a7f3ce9703454774c3bcb49a2c969b16796
|
|
| MD5 |
151dae1347d84be65c3294de25982540
|
|
| BLAKE2b-256 |
d1d1a647b4e7f26ea8dcf23b475d4091adbf5b055117eafaa10a07d45a5650dd
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80eb1b78ff3256954dc71acc4c9e9d7e873e8f648b286bd22bb382c71f943952
|
|
| MD5 |
d13d8153092ce9169e65586a8846cce2
|
|
| BLAKE2b-256 |
47ac1d4bc75a27f614eedca16bcb0aeb169ecdca7f600a941f89f6a539c9b7c4
|