Skip to main content

Real-Time GPU Particle Physics Simulation with PDG-accurate particle catalog

Project description

Real-Time GPU Particle Physics Simulation with PDG-accurate particle catalog. 40 observable particles, real masses, lifetimes, decay channels, and proper relativistic kinematics.

Quick Start

Clone and run in four steps:

git clone https://github.com/ml3m/quantum-collider-sandbox.git
cd quantum_collider_sandbox
python -m venv .venv && source .venv/bin/activate   # Linux/macOS
make install && make run

On Windows, activate with .venv\Scripts\activate instead.

Requirements

System

  • Python 3.10 to 3.12 (3.12.2 recommended)

  • GPU with Vulkan support (NVIDIA, AMD, Intel)

  • Vulkan drivers installed and working

Python dependencies (installed via make install):

  • numpy ≥ 1.24

  • scipy ≥ 1.10

  • taichi ≥ 1.7.0

  • h5py ≥ 3.8

Installation

  1. Clone the repository

    git clone https://github.com/ml3m/quantum-collider-sandbox.git
    cd quantum_collider_sandbox
  2. Create and activate a virtual environment (recommended)

    python -m venv .venv
    source .venv/bin/activate          # Linux / macOS
    # .venv\Scripts\activate           # Windows
  3. Install the package in editable mode with dev tools

    make install

    Or manually:

    pip install -e ".[dev]"
  4. Run the simulation

    make run

Makefile Targets

Target

Description

run

Start the particle physics simulation

install

Install package in editable mode with dev dependencies

lint

Run pylint on the source code

test

Run pytest test suite

Command-Line Usage

make run                              # Default demo
python -m quantum_collider_sandbox --particles 100    # Start with N random particles
python -m quantum_collider_sandbox --data event.h5    # Load from HDF5 file
python -m quantum_collider_sandbox --log-physics      # Log physics to data/logs/

Keyboard Controls

Key

Action

SPACE

Pause / Resume

R

Reset to demo state

C

Spawn proton–antiproton collision

T

Toggle trails

F

Toggle collision flashes

Y

Toggle photon visibility

E

Export state and time series to HDF5

B

Toggle black hole

G

Toggle particle gun

TAB

Cycle inspector to next particle

P

Pin / freeze selected particle

1–9

Presets (Rutherford, cyclotron, LHC, …)

RMB

Orbit camera (drag)

Scroll

Zoom

ESC

Quit

Vulkan / GPU Troubleshooting

The simulation uses Taichi with the Vulkan backend. If you see Vulkan-related errors:

  • NVIDIA: Install the latest proprietary drivers; Vulkan is usually included.

  • AMD: Use Mesa (Linux) or AMD Adrenalin (Windows) with Vulkan support.

  • Intel: Ensure Mesa or Intel drivers with Vulkan are installed.

Verify Vulkan with:

vulkaninfo

If Vulkan is unavailable, Taichi can fall back to other backends by editing src/quantum_collider_sandbox/__main__.py and changing ti.init(arch=ti.vulkan) to ti.init(arch=ti.cpu) or ti.init(arch=ti.gpu).

License

MIT 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

quantum_collider_sandbox-1.0.1.tar.gz (31.6 kB view details)

Uploaded Source

Built Distribution

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

quantum_collider_sandbox-1.0.1-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file quantum_collider_sandbox-1.0.1.tar.gz.

File metadata

  • Download URL: quantum_collider_sandbox-1.0.1.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quantum_collider_sandbox-1.0.1.tar.gz
Algorithm Hash digest
SHA256 6854893f0cda7d773f34bd4d23b52221bbbf370704d490223363959d590e2098
MD5 b286a43c9bf759509d87ba6d71468e91
BLAKE2b-256 c9a3a67d0504c246f104d3800c0333fdd56a09ff14cc200fc7b19e3df444e8a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for quantum_collider_sandbox-1.0.1.tar.gz:

Publisher: python-publish.yml on ml3m/quantum-collider-sandbox

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

File details

Details for the file quantum_collider_sandbox-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for quantum_collider_sandbox-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 06a02ab98e3de00927ce1c77eab81554b21d80997e60fbb93511bbefa366dbd2
MD5 f52a74d34d9b49e59f0fed7b5eabdf28
BLAKE2b-256 ecedd15ece4b01cc2633f097302616316a5e2393cb3608a12869e4fb1ffe5458

See more details on using hashes here.

Provenance

The following attestation bundles were made for quantum_collider_sandbox-1.0.1-py3-none-any.whl:

Publisher: python-publish.yml on ml3m/quantum-collider-sandbox

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