You are browsing as a guest. Sign up (or log in) to start making projects!

DOSEFIELD

  • 4 Devlogs
  • 7 Total hours

Predicting radiation dose to astronauts on a Mars transit and designing the optimal spacecraft shielding.

Open comments for this post

1h 12m 49s logged

Devlog #4 — Heavy Elements Cut, Liquid Hydrogen Locked In

Lead and titanium were off by 50%. I didn’t hide it.

My model tracks how particles slow down inside matter. For heavy elements like lead and titanium, you need a correction for the atom’s electron shells — skip it, and your numbers drift by half the actual value. I haven’t built that correction yet. Faking the results to look clean would gut the whole point of the model. So heavy elements are out for now.

Liquid hydrogen sits at the opposite extreme. One electron, no shell complexity — the model handles it without shortcuts. I checked against NIST’s official proton data: 0.14% deviation across the full energy range. In physics terms, that’s a bullseye.

Five Materials, One Hierarchy

I ran five materials together — liquid hydrogen, methane, polyethylene, water, and aluminum — and tested them as a chain. Two things had to hold: thicker shielding means lower dose, and going from hydrogen to aluminum, dose has to climb, because light elements stop protons better.

Both held, with no exceptions. Polyethylene and water differ by just 3% in electrons per gram — the model caught even that gap correctly.

The sharpest result: at 40 g/cm², liquid hydrogen cuts dose by 44% compared to aluminum. That’s why some spacecraft designs wrap the crew compartment in hydrogen tanks — fuel and radiation shield in one.

All five materials are now locked into regression tests. Total: 103 green tests in CI.

One Function, One Truth

The dashboard and the generated reports used to calculate their numbers separately. Two parallel code paths mean two places for drift to appear. Now both pull from a single shared function. The number on screen and the number in the report are physically incapable of disagreeing.

1

Loading discussion…

1
103
Open comments for this post

2h 35m 2s logged

Devlog #3 — DOSEFIELD Is Live 🚀Hi! Long time no see.DOSEFIELD is now live: https://izbanovj3-prog.github.io/DOSEFIELD/ The entire dosimeter now runs directly in your browser — no installation required. That includes the controls, dose-vs-thickness chart, particle fragmentation toggle, and validation panel.Under the hood, the project is built with Vite and automatically deployed to GitHub Pages through a GitHub Actions workflow. Every push to the main branch triggers a fresh build and deployment. The setup is intentionally simple: deployment uses GitHub’s built-in Actions token, with no external services and no additional secrets.The only challenge in this release wasn’t physics — it was infrastructure. The first deployment failed because GitHub Actions cannot automatically enable GitHub Pages for a repository. The workflow reached that permission boundary and stopped. After enabling Pages in the repository settings and rerunning the workflow, everything deployed successfully.Once the site was live, I verified that all critical assets were being served correctly. The page, stylesheets, and, most importantly, the Web Worker bundle all return HTTP 200 responses with the correct content types.That Web Worker is particularly important because it handles the species-by-species dose integration calculations off the main UI thread. In practice, this means the interface remains responsive while the physics calculations run in the background.No physics models changed in this release, and the known limitations remain the same. This phase was focused entirely on one goal: shipping a fully accessible browser version of DOSEFIELD.The live demo link is now featured at the top of the README.

1

Loading discussion…

1
62
Open comments for this post

1h 12m 24s logged

DOSEFIELD DAY #2:Fragmentation is now in the live app. Until today the web dosimeter only ran the primary-only transport — the most interesting result, that breaking up heavy ions is why hydrogen-rich shielding wins, was buried in a console script. Now there’s a “Primaries only ⇄ + Fragmentation” toggle, and flipping it visibly bends the curves: polyethylene pulls away from aluminium and the mean quality factor drops. Concretely, at solar minimum behind 20 g/cm², polyethylene’s edge over aluminium jumps from 12% to 34% the moment fragmentation turns on — the same figure the validation script prints, read from the same function, not hardcoded. Mean ⟨Q⟩ behind 16 g/cm² of aluminium falls 4.47 → 4.14. Nothing was tuned; the toggle just calls the existing Bradt–Peters model. And the honest ceiling stays put: still no secondary neutrons, so the absorbed-dose gap vs the real MSL/RAD measurement (~0.31 vs 0.46 mGy/day) remains — and the UI footnote says so out loud. 76/76 tests green, build clean. Next: surface the NIST + RAD validation inside the app itself. 

0

Loading discussion…

1
20
Open comments for this post

1h 30m 51s logged

Day #1: the hard part is in, now I find out if it’s right

I’m building DOSEFIELD, a 1D model that estimates how much radiation an
astronaut absorbs on a deep-space mission — and how much shielding actually
helps. Cosmic rays in, dose-equivalent out.

What’s already solid: the stopping-power core matches NIST PSTAR reference data
to within 1.6%, and behind 10 g/cm² of aluminium at solar minimum the model
gives 1.96 mSv/day — about 0.70 Sv over a 360-day Mars cruise. That’s 17% past
NASA’s 600 mSv career limit. A round trip to Mars quietly blows through the
radiation an astronaut is allowed for their entire career. That’s the reason
this project exists.

But the first version only tracked primary particles, and it showed: my
aluminium, polyethylene and water curves were sitting almost on top of each
other. That’s physically wrong — polyethylene should shield noticeably better,
because hydrogen is good at breaking up heavy ions. The missing piece is nuclear
fragmentation.

So this week I implemented it — real fragmentation cross sections
(Bradt–Peters), not a fudge factor tuned to match NASA’s measured value. The
material difference has to come out of the physics: hydrogen has the shortest
nuclear interaction length per g/cm², so it should win on its own. No parameter
is fit to the answer.

Now I’m validating it, and I’m writing the test down BEFORE the result so I
can’t quietly move the goalposts. If the physics is right, I should see four
things: the curves separate (polyethylene below aluminium), aluminium flatten
out at depth, the mean quality factor drop from 4.82 toward ~3.5–4, and the dose
move closer to the real MSL/RAD cruise measurement. If they don’t, the model is
wrong and I’ll say so.

Numbers in the next entry. Either it works or it doesn’t — that’s the whole
point of logging the test first.

What it still isn’t: 1D, simplified fragmentation, not a replacement for NASA’s
HZETRN. Every value traces to a cited source, and the validation suite re-runs
on every change.

1

Loading discussion…

1
42

Followers

Loading…