Downloads
SRTC ships as a self-contained bundle: the solver, the web GUI, and the physics libraries, as prebuilt container images. Docker is the only prerequisite — there is no toolchain to install and no nuclear data to fetch.
Docker is required. SRTC is distributed as container images
rather than a native binary, so install Docker before downloading:
Docker Desktop
on macOS, or
Docker Engine with the
Compose plugin on Linux (curl -fsSL https://get.docker.com | sh).
Nothing else is needed — no toolchain, no nuclear-data downloads.
SRTC is in closed beta — downloads need a password. Checksums below are shown without one, so a file you were given can always be verified.
What’s new in v0.1.4-beta
Released 2026-08-29. This is the only version offered for download; earlier bundles are not published here.
Mission profiles. A project is the spacecraft — geometry, detectors, materials. A mission is the environment — proton and electron spectra, a heavy-ion file, NIEL curves — plus the analyses derived from it: the dose-depth setup, internal charging, and the mission duration. They are now separate saved records, so one spacecraft can be flown against many missions without rebuilding the geometry each time. Missions export as a single self-contained file that carries an uploaded heavy-ion environment's own text, so it opens on a machine that has never seen that file.
Faster, safer detector editing. Deleting a detector on a large imported CAD assembly could freeze the interface for many seconds and leave the marker on screen. The geometry cache now keeps the scene you are editing instead of evicting it, and deletions apply immediately. Detector selections and per-detector response materials follow the right detector when the list is renumbered, rather than quietly moving to a neighbour.
Dose-depth curves are scoped to the mission. The curve picker offered every CSV in the curves directory, including the spectrum files a --spectra run writes alongside — which could be selected and silently read as a dose curve. Only real dose-depth curves are listed now, and the picker shows the applied mission's own curves first with the rest one click away.
One detector definition across solvers. The adjoint and raytrace paths scored detectors of different thickness, so their doses were not directly comparable. They now describe the same detector, converted through the response material's own density.
Accuracy flags on adjoint electron results. An electron run whose environment sits below the shield's range cutoff now says so on the result, with what to cross-check it against. Those electrons reach the detector only through straggling and bremsstrahlung, which the adjoint under-credits.
Validation in this release
Dose-depth is now checked against Geant4 in five shield materials — polyethylene, aluminium, iron, copper and tungsten — on both transport solvers, rather than aluminium alone. The Geant4 configuration behind every reference curve, including each nuclear and electromagnetic data library, is published with the code. Secondary-neutron production is compared against OLTARIS in iron and tungsten.
The public physics page carries the result, including where SRTC does not yet agree.
Known limitations
- Electron dose behind high-Z shields is about an order of magnitude low — tungsten reads 0.07–0.09 of Geant4 for both solvers. Aluminium and iron agree. Dose behind a heavy shield is carried by bremsstrahlung made inside it, and that chain is under investigation.
- Copper dose reads 0.63–0.86 of Geant4 for protons, consistently across both solvers, which points at the copper cross-section data rather than transport.
- The 3D adjoint under-predicts electron dose behind thick shields, growing with thickness. The mechanism is identified — the reverse walk over-scatters and fewer histories reach the source — and a mitigation exists but is not yet the default. For a deep-shield electron dose, cross-check against a 1D dose-depth curve in the matching sphere geometry.
- Heavy-ion transport produces no fragments, so ion flux at depth is a lower bound and LET is unrestricted — an upper bound for thin sensitive volumes.
x86-64
Linux on Intel/AMD · Intel Macs
ARM64
Apple Silicon Macs · ARM64 Linux
Install
Unpack and run the installer. It loads the images, seeds the physics-data volume, starts the stack, and prints the URL.
tar xzf srtc-v0.1.4-beta-arm64.tar.gz
./srtc-v0.1.4-beta-arm64/install.sh
# → http://localhost:8080
Sharing the machine? Run ./install.sh --multi-user
instead: everyone signs in at the same URL and gets a private profile, with the
database container already inside the bundle. See
Shared installs & user profiles.
Substitute amd64 for arm64 if you downloaded the x86-64
bundle. Pick the bundle that matches your CPU: the wrong one still runs, under
emulation, several times slower — the installer warns you if it detects a
mismatch.
Verify your download
Compare the checksum against the value published above before installing.
# macOS
shasum -a 256 srtc-v0.1.4-beta-arm64.tar.gz
# Linux
sha256sum srtc-v0.1.4-beta-amd64.tar.gz
A SHA256SUMS.txt covering both bundles sits alongside them —
(needs the password, like the bundles). The installer
also verifies the checksums of the image files inside the bundle every time it
runs.
Requirements
| Needs | |
|---|---|
| macOS | Docker Desktop (match the bundle to your CPU) |
| Linux | Docker Engine 20.10+ with the Compose plugin — curl -fsSL https://get.docker.com | sh |
| Disk | ~2 GB for the images, plus room for run output |
| Memory | 8 GB minimum; transport scales with cores |
Managing the install
./install.sh --status # container state and what the server reports
./install.sh --stop # stop; all jobs and data are kept
./install.sh --start # start again
./install.sh --port 9000 # serve on a different port (remembered)
./install.sh --uninstall # remove containers, images, and all data
Your work — saved geometry, uploaded STEP files, run outputs, and generated
dose-depth curves — lives in Docker volumes that survive stopping and upgrading.
Re-running install.sh from a newer bundle upgrades in place and keeps
them. Only --uninstall deletes them.
What's in the bundle
- The
srtcsolver with 1D forward Monte Carlo and 3D CSG multigroup forward and adjoint transport. srtc-cadfor STEP CAD import.- The browser workflow GUI, served locally.
- The JENDL-5 derived physics libraries — cross sections, stopping power, and coupled multigroup matrices.
- Example geometries, decks, and reference dose-depth curves.
- A Results tab listing every run you have done, with each run's inputs (spectrum, dose-depth curve, geometry) and outputs linked.
Everything runs locally. SRTC makes no network calls and sends nothing anywhere. The command-line solver is available too, without the GUI:
docker compose run --rm -v "$PWD":/io backend srtc --help
One capability is not in this distribution. Building multigroup data for a new material from the GUI requires the raw evaluated nuclear data and the build toolchain, neither of which ships in the bundle. Every material already in the bundled library works normally.
This is a beta release — please read the validation status and known limitations before relying on results.