# BlackHolesFactory
> **Part of the [Celestial](https://celestial4498-prog.github.io/Celestial/) project.**
A Rust black hole factory — create, simulate, and analyze black holes of any mass class. From stellar-mass remnants and intermediate-mass objects to supermassive monsters, primordial relics, and merging binaries, with full Kerr physics, accretion, jets, shadows, lensing, and Hawking evaporation. Pure procedural — no hardcoded presets, all parameters explicit.
## Features
- **Type system** — 5 black hole types with class-specific physics, GeneratedBlackHole enum, and builder pattern constructors
- **Stellar-mass** — Core-collapse remnant model, progenitor mass mapping, gravitational wave strain
- **Intermediate-mass** — Runaway merger, hierarchical merger, Pop III remnant, direct collapse formation channels, ULF QPO, merger recoil
- **Supermassive** — M-σ relation, Bondi accretion, tidal disruption, jet power estimation
- **Primordial** — Formation mechanisms (inflationary, phase transition, cosmic string, domain wall), Hawking lifetime, initial mass spectrum
- **Binary** — Inspiral dynamics, chirp mass, merger timescale, gravitational wave strain, recoil velocity
- **Kerr spacetime** — Metric tensor, geodesic integration, event/Cauchy horizons, ergosphere
- **Accretion disk** — Temperature profiles, viscous timescale, radiative efficiency, spin-dependent ISCO
- **Relativistic jets** — Blandford-Znajek power, Doppler boosting, superluminal motion, synchrotron cooling
- **Gravitational lensing** — Einstein radius, image positions, magnification, Shapiro delay
- **Black hole shadow** — Critical impact parameter, contour, asymmetry
- **Radiation** — Planck radiance, Wien peak, bremsstrahlung, Eddington luminosity
- **Hawking evaporation** — Temperature, luminosity, lifetime, Page time, mass evolution, peak wavelength
- **General relativity** — Lorentz factor, time dilation, length contraction, gravitational redshift, gravitational waves
## Quick Start
```bash
cargo build
cargo run
```
## Examples
```bash
cargo run --example stellar_blackhole_sim # Stellar-mass BH from core collapse
cargo run --example supermassive_blackhole_sim # M87* simulation
cargo run --example hawking_evaporation # Hawking radiation and evaporation
cargo run --example lensing_viewer # Gravitational lensing diagnostics
```
## Testing
```bash
cargo test --all-targets
```
119 integration tests across simulation, types, observables, and physics modules.
## Project Structure
```
src/
├── config/ # Physical constants, mass boundaries
├── engine/ # Spacetime geometry, accretion disk, jet dynamics, Hawking evaporation
├── observables/ # Lensing, radiation, shadow computations
├── physics/ # Gravitation, relativity, singularity models
├── types/ # Stellar-mass, intermediate-mass, supermassive, primordial, binary black holes
└── utils/ # Math helpers, I/O
```
## Dependencies
- [sciforge](https://crates.io/crates/sciforge) — Physical constants, astronomical utilities
## License
MIT — see [LICENSE](LICENSE).