Skip to main content

Barrier calculations for cosmic reionization models

Project description

BubbleBarrier

PyPI version License: MIT Python 3.7+ GitHub Actions Workflow Status

A Python package for barrier calculations in cosmic reionization models, providing essential tools for modeling the physics of ionized bubbles in the early universe.

Overview

The BubbleBarrier package provides a framework for calculating the density barrier (δ_v) required for cosmic structure formation within ionized regions during the Epoch of Reionization. It implements self-consistent models for ionization balance, halo mass functions, and feedback mechanisms.

This tool is designed for researchers and students in cosmology and astrophysics studying the 21cm signal, reionization simulations, and the interplay between galaxies and the intergalactic medium.

Core Features

  • Barrier Function Calculation: Computes the critical density barrier δ_v for different halo masses.
  • Ionization Modeling: Self-consistent calculation of ionizing photon production (N_ion).
  • Minihalo Effects: Includes options to model the impact of X-ray heating from minihalos.
  • Custom Power Spectrum: Utilizes camb for cosmological calculations and allows for custom power spectrum models.
  • Efficient & Cached: Caches intermediate results to disk (.npy files) for significantly faster subsequent calculations.

Installation

Install the package directly from PyPI:

pip install bubblebarrier

Quick Start

Here is a simple example of how to calculate the barrier height for a given halo mass.

import numpy as np
from bubblebarrier import Barrier

# 1. Initialize the barrier model for a specific redshift
#    (fesc, qion, etc., have default values but can be specified)
barrier_model = Barrier(z_v=10.0)

# 2. Define a halo mass in solar masses
halo_mass = 1e15  # M_sun

# 3. Calculate the barrier height
delta_v = barrier_model.Calcul_deltaVM(halo_mass)
print(f"For a halo of {halo_mass:.1e} M_sun at z={barrier_model.z:.1f}, the barrier height is δ_v = {delta_v:.3f}")

# 4. Calculate the barrier including effects from minihalo X-ray heating
delta_v_minihalo = barrier_model.Calcul_deltaVM_Minihalo(halo_mass)
print(f"Including minihalo effects, the barrier is δ_v = {delta_v_minihalo:.3f}")

Dependencies

This package relies on a standard scientific Python stack:

  • numpy
  • scipy
  • astropy
  • matplotlib
  • pandas
  • filelock
  • camb: For cosmological power spectra.
  • massfunc: For halo mass function calculations.

Citation

If you use BubbleBarrier in your research, please cite the repository.

@misc{bubblebarrier2025,
  author = {Hajime Hinata},
  title = {BubbleBarrier: A Python package for reionization bubble modeling},
  year = {2025},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/SOYONAOC/BubbleBarrier}}
}

Contributing

Contributions are welcome! Please feel free to fork the repository, create a feature branch, and open a Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

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

bubblebarrier-1.2.7.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

bubblebarrier-1.2.7-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file bubblebarrier-1.2.7.tar.gz.

File metadata

  • Download URL: bubblebarrier-1.2.7.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bubblebarrier-1.2.7.tar.gz
Algorithm Hash digest
SHA256 8f372cc9b0e1eb2ff8280be6ad10f3bb03927943afe8634e1c75e71ebf462236
MD5 7bec9e2a9be75f71aa54d43785ad5a96
BLAKE2b-256 c5c7b5a69f7a2a27295b2ade47a73bd60853f353f142abd177aed8ab68a3613b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bubblebarrier-1.2.7.tar.gz:

Publisher: python-publish.yml on SOYONAOC/BubbleBarrier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bubblebarrier-1.2.7-py3-none-any.whl.

File metadata

  • Download URL: bubblebarrier-1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bubblebarrier-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 778e6e5db19860131534fc29dc86d2c080fa62d88d4084705079f864120123e1
MD5 8dfc9599badf490b63eabbb21429199f
BLAKE2b-256 8cb723deb0151c2c87db362cc9e2a8b92420de381efce99bc097c87f614f213f

See more details on using hashes here.

Provenance

The following attestation bundles were made for bubblebarrier-1.2.7-py3-none-any.whl:

Publisher: python-publish.yml on SOYONAOC/BubbleBarrier

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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