Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blastgpu

GPU-resident 3D airblast solver for JWL-described explosives in air, built on AMReX block-structured AMR with embedded-boundary geometry imported directly from STL/OBJ.

Status: v0 scaffold. Nothing here produces a blast wave yet. The repository structure, build system, day-0 design decisions, and the two-material Mie–Grüneisen mixture EOS (with unit tests) are in place; the hydro core is stubbed and will be populated by forking PeleC's MOL/EB machinery (see docs/DECISIONS.md, D2).

Design in one paragraph

Five-equation diffuse-interface Euler (α, α₁ρ₁, α₂ρ₂, ρu, ρE) with both materials written in Mie–Grüneisen form so the isobaric mixture pressure closure is algebraic. MUSCL + HLLC, SSP-RK2 method of lines, block-structured AMR with subcycling. Geometry enters as an AMReX embedded boundary built from a watertight STL; loads are integrated on EB faces and mapped back to the source triangles. The detonation phase is run in 1D spherical / 2D axisymmetric at high resolution and remapped onto the 3D base grid before the shock reaches geometry. CPU build is the correctness target; CUDA/HIP/SYCL via AMReX's single-source backend is the performance target.

Layout

src/
  eos/      IdealGas, JWL, MGMixture (header-only, device-callable)   <- implemented
  hydro/    MUSCL, HLLC, MOL RK2                                      <- stub
  eb/       STL -> EB, redistribution, wall BC, face-load integration <- stub
  remap/    1D/2D detonation driver + 3D initialiser                  <- stub
  io/       gauges, per-triangle loads (HDF5), plotfiles              <- stub
pyblast/    preprocess (geometry repair, charge spec, gauges), orchestration, postprocess
inputs/     AMReX ParmParse example inputs
tests/      CPU unit tests (no AMReX dependency for EOS tests)
docs/       DECISIONS.md (day-0 decision memo), ROADMAP.md

Building

git submodule update --init --recursive            # pulls AMReX
cmake -B build -DBLASTGPU_GPU_BACKEND=NONE          # CPU / correctness
cmake -B build -DBLASTGPU_GPU_BACKEND=CUDA          # NVIDIA
cmake --build build -j
ctest --test-dir build

Windows: use WSL2 with CUDA passthrough. Native Windows and macOS are not v0 targets.

Roadmap

See docs/ROADMAP.md (M0–M4).

License

Not yet chosen. Decide before first external contribution — see docs/DECISIONS.md, D0.

About

GPU-resident 3D airblast solver (JWL/air, AMReX AMR + embedded boundaries from STL)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages