Skip to main content

Time-dependent spherical Bondi accretion with radiative cooling

Project description

radbondi

tests license python

Time-dependent spherical Bondi accretion with radiative cooling.

radbondi solves the 1D spherical Euler equations with an implicit cooling source term, evolving the flow from an initial adiabatic Bondi profile to a self-consistent steady state. It is designed for problems where the standard ODE shooting method fails — e.g., when cooling is strong enough that the sonic point becomes a focus (complex eigenvalues) rather than a saddle.

The default microphysics (relativistic bremsstrahlung + e⁺e⁻ and μ⁺μ⁻ pair annihilation) targets accretion onto compact objects in hot, dense environments such as stellar interiors, but the cooling module is plug-in: users can add their own processes by subclassing CoolingProcess.

Status

Alpha. API may change. See CHANGELOG.md for releases.

Installation

pip install -e ".[dev]"   # development install

Quickstart

import radbondi as rb

ambient = rb.presets.solar_core()
problem = rb.BondiProblem(M_BH=1e-16 * rb.M_sun, ambient=ambient)
sol = problem.solve(rb.SolverConfig(N=800, x_min=3e-6))

print(f"eta = {sol.eta:.3e}")
sol.plot_profiles()

Documentation

See the docs/ directory:

  • usage.md — installation, quickstart, API, and all SolverConfig knobs.
  • physics.md — equations, Bondi solution, microphysics, and feedback models.
  • scheme.md — finite-volume discretization, well-balancing, and implicit cooling.

Citation

If you use radbondi in published work, please cite both the software and the paper describing the underlying physics. See CITATION.cff for machine-readable metadata; GitHub renders a "Cite this repository" button on the project page.

Cantiello et al. (in prep.)

License

MIT — see LICENSE.

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

radbondi-0.3.0.tar.gz (69.2 kB view details)

Uploaded Source

Built Distribution

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

radbondi-0.3.0-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: radbondi-0.3.0.tar.gz
  • Upload date:
  • Size: 69.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.14

File hashes

Hashes for radbondi-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6cae288bca3543068b1785a8be0a4c70e411c5806a0be407ce0cfbe670176ba2
MD5 812cbc777528b6a974b4460fbe09c61d
BLAKE2b-256 16943d8f13eccf1b95e439d75b4b210222c326532c20c3802851a4b9ef4666b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: radbondi-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 36.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.14

File hashes

Hashes for radbondi-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff050c30a184e15b99f7df2954a4db88ac9fcd65c5227a6ca87bd80bd45fbec3
MD5 927cf697acebb9c76264605207f53729
BLAKE2b-256 3b00422a09c2f4db566b471bf02b321d3540cef2c07ec029dff301906c5eb726

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