Catalog of candidate warp‐bubble shape functions
Created: May 29, 2025
This repository collects the defining formulas, support sizes, and key free parameters for 2 warp‐bubble "shape" profiles, Alcubierre's tanh‐based profile and Natário's smooth Gaussian variant.
This catalog serves as a reference repository documenting various mathematical functions used to define warp-bubble geometries in theoretical physics. Each profile is characterized by:
- Defining Formula: The mathematical expression that describes the shape function
- Support Size: The spatial extent over which the function is non-negligible
- Free Parameters: Adjustable parameters that control the shape characteristics
A comprehensive Jekyll documentation site is available at:
https://arcticoder.github.io/warp-bubble-shape-catalog/
The documentation includes:
- Profiles: Detailed mathematical descriptions of each warp-bubble shape function
- Scripts: Complete documentation of all Python utilities with usage examples
- Visuals: Generated plots and visualizations of the profile functions
scripts/
Python scripts for plotting profiles, generating numeric data, computing support sizes, and exporting CSV.data/
Supporting data or plots illustrating each profile.docs/
Jekyll documentation site with detailed mathematical descriptions, script documentation, and visualizations.
This catalog is designed as a dependency for downstream projects that will specify:
- Coordinate system choices (e.g., spherical coordinates $(t,r,\theta,\phi)$)
- Symmetry assumptions (e.g., axial symmetry about the
$z$ –axis, compact support in$r$ ) - Metric ansatz simplifications
Numeric data for all profiles is available in multiple formats:
- NumPy format:
data/profiles.npz(compressed binary) - CSV format:
data/profile_data.csv(human-readable)
These datasets contain discretized
All Python scripts reside in the scripts/ folder:
- plot_profiles.py
Generate publication-quality plots of warp-bubble shape functions for visualization and analysis. Features configurable plot parameters, automatic high-DPI saving, and optional interactive display with command-line flags. - generate_profile_data.py
Generate high-resolution numeric data for all warp-bubble profiles and save in compressed binary format for efficient storage and loading. - compute_support_size.py
Estimate practical support sizes for each profile function given a specified threshold value. Provides console output with clear formatting. - export_profiles_csv.py
Export profile data to human-readable CSV format for analysis in external tools, spreadsheet applications, or other programming languages.
-
Plot profiles with interactive display
# Default: Interactive display + save plot python scripts/plot_profiles.py # Interactive display only (no file saved) python scripts/plot_profiles.py --interactive python scripts/plot_profiles.py -i # Save plot only (no interactive display) python scripts/plot_profiles.py --save-only python scripts/plot_profiles.py -s # Both interactive display and save plot python scripts/plot_profiles.py --both python scripts/plot_profiles.py -b ``` The interactive display allows you to zoom, pan, and explore the plot data. Saved plots go to: - `data/plots/profiles.png` (high-resolution visualization) - `docs/assets/images/profiles.png` (for Jekyll site display) Both files are saved in high-resolution PNG format (300 DPI).
-
Generate numeric data
python scripts/generate_profile_data.py
Creates
data/profiles.npzwith high-resolution$(r, f(r))$ values for all profiles. -
Compute support sizes
python scripts/compute_support_size.py
Analyzes where each profile function falls below a threshold (default:
$10^{-3}$ ) and reports practical support sizes. -
Export to CSV
python scripts/export_profiles_csv.py
Creates
data/profile_data.csvin human-readable format for use in Excel, MATLAB, R, or other analysis tools.
All scripts require:
- NumPy: Numerical computations
- Matplotlib: Plotting (plot_profiles.py only)
Install dependencies:
pip install numpy matplotlibwarp-bubble-shape-catalog/
├── data/ # Generated data and plots
│ ├── profiles.npz # Binary profile data
│ ├── profile_data.csv # CSV profile data
│ └── plots/
│ └── profiles.png # Generated visualization
├── scripts/ # Python utilities
│ ├── plot_profiles.py # Plotting and visualization
│ ├── generate_profile_data.py # Data generation
│ ├── compute_support_size.py # Support analysis
│ └── export_profiles_csv.py # CSV export
└── docs/ # Jekyll documentation site
├── _config.yml # Jekyll configuration
├── index.md # Documentation home
├── profiles.md # Profile descriptions
├── scripts.md # Script documentation
├── visuals.md # Visualization gallery
└── assets/images/ # Site images
└── profiles.png # Copy for web display
-
Generate all data and visualizations:
python scripts/generate_profile_data.py python scripts/export_profiles_csv.py python scripts/plot_profiles.py
-
Analyze profile properties:
python scripts/compute_support_size.py
-
Verify output files:
data/profiles.npz(binary data)data/profile_data.csv(CSV data)data/plots/profiles.png(high-resolution visualization)docs/assets/images/profiles.png(visualization for Jekyll site)
If images don't appear on the GitHub Pages site, you may need to:
- Verify file permissions: Make sure all image files have the proper permissions to be served
- Check file paths: Ensure Jekyll configuration has correct
baseurland image paths - Force rebuild: In the GitHub repository settings under Pages, trigger a rebuild
- Use relative paths: Try with both
/assets/images/profiles.pngandassets/images/profiles.png - Commit directly: Add the images directly through the GitHub interface
If interactive plotting fails with an error about missing Qt5 or Tk:
pip install PyQt5Or use the non-interactive mode:
python scripts/plot_profiles.py -sThe Unlicense
- Scope: The materials and numeric outputs in this repository are research-stage examples and depend on implementation choices, parameter settings, and numerical tolerances.
- Validation: Reproducibility artifacts (scripts, raw outputs, seeds, and environment details) are provided in
docs/orexamples/where available; reproduce analyses with parameter sweeps and independent environments to assess robustness. - Limitations: Results are sensitive to modeling choices and discretization. Independent verification, sensitivity analyses, and peer review are recommended before using these results for engineering or policy decisions.