Open Workspace for Engineered Neutronics
Created by Aaron W. Calhoun
Write, check, convert, and run MCNP, OpenMC, Serpent, and SCONE decks in VS Code and Cursor. Language-server diagnostics, a 3D preview of the real geometry, converters between the four codes, a results viewer, and visual lattice / input builders — fully offline.
A BelvoirDynamics product · part of ReactorMC
Get it from the VS Marketplace, Open VSX, or GitHub Releases — the badges above show the current version on each.
OWEN is the editor toolkit for MCNP, OpenMC, Serpent, and SCONE. Catch cross-reference and physics mistakes as you type, hover a nuclide for its library and temperature, preview the geometry in 3D, convert a deck to another code, run the solver, and read k-eff without leaving VS Code or Cursor — and without a network connection.
Cell Map of an MCNP lattice. Root universe, the lat=1 cell, and the three
universes it places — fuel pin, guide tube, instrument tube — with surface
senses, materials, and fill counts, so you can walk a deck the way the code
will. Click a card to jump to the card in the original file.
A full BEAVRS core in 3D. OWEN draws every pin of the nested lattice. Turn on axial segments to see fuel, plena, and grid spacers as separate layers; peel off the vessel or slice through the core. Scroll zooms toward whatever you point at — it no longer leaps from the whole vessel onto a single pin.
Geometry checked against your own OpenMC, not against OWEN's opinion of it.
OWEN: Verify Geometry with OpenMC runs the model through your real OpenMC install — local or WSL —
and reports overlapping cells on five sampled planes plus a short lost-particle probe. Overlap
pixels come back highlighted in magenta, and the panel says plainly that sampled planes are
evidence rather than proof.
Five highlight palettes per code, previewed side by side before you commit.
OWEN: Choose Highlight Palette shows Classic, Solarized, High Contrast, Pastel,
and Custom on the language you picked. Click a card to apply it. Custom colors
live in owen.highlight.customColors.
| Feature | Description |
|---|---|
| Syntax highlighting | Grammars and five palettes (Classic, Solarized, High Contrast, Pastel, Custom) for MCNP, OpenMC, Serpent, SCONE, and PHITS. Switch palettes with OWEN: Choose Highlight Palette. |
| Snippets | Ready-to-edit decks: PWR pin cell, 17×17 PWR assembly, criticality array, and shielding slab for MCNP; full OpenMC pin/assembly Python scripts plus depletion runs (omc_deplete, omc_deplete_results); SCONE fuel pin, 5×5 assembly, and shielding tutorials; PHITS starter deck, source, material, and T-Track tally blocks. |
| MC Language Server | A real language server for MCNP, Serpent, and SCONE: real-time diagnostics as you type — density-sign and fraction-sign conventions, S(α,β) thermal scattering on non-hydrogenous materials, ZAID format, macrobody parameter counts, MCNP line length, and cross-reference errors (a cell referencing an undefined surface/material/universe/transform is flagged; defined-but-unused entities are faded hints) — plus hover, go-to-definition, find-references, and a grouped document outline (Cells / Surfaces / Materials / Universes / Transforms / Tallies). Ships as a self-contained out/server.js, reusable by other editors over stdio. OpenMC Python files keep Pylance plus OWEN: Validate Input File. |
| Nuclide & library hover | Hover a ZAID and read the nuclide and what its suffix means: 92238.80c is ENDF/B-VII.1 at 293.6 K (not VIII.0 — that is .00c), .71c is VII.0 at 600 K and wants a TMP card, lwtr.20t is H in light water from ENDF71SaB. Serpent and SCONE suffixes are explained as the temperature indices they are; OpenMC 'U235' strings get the nuclide and the cell > material > settings temperature rule. Class letters follow Table B.1. |
| MCNP cross-reference tracker | Role- and position-aware hover, Go-to-Definition, Find-All-References, occurrence highlight, and a MCNP References tree for MCNP decks. A number is resolved by what it is and where it sits on the card — cell id (1st field), material number (2nd field; 0 = void), geometry surface refs (signed entries), surface id (1st field of a surface card), u= universe, fill/lat (lattice fill arrays are decoded so universe references inside them resolve), trcl/tr transforms, and mt/mx material-data cards. Clicking surface 3 finds only the references to surface 3 — never material 3, cell 3, or the digit 3 inside a fill= index. |
| MCNP workspace validation | Cross-file diagnostics when owen.mcnp.projectRoot is set: undefined references and duplicate IDs across included MCNP decks (OWEN: Set MCNP Project Root). |
| Workspace validation (all codes) | OWEN: Validate Workspace reads the files next to the deck and checks that they describe one model. OpenMC XML projects get the checks that matter between files — tally filter bins against the geometry's cell/material/surface/mesh ids, tally <nuclides> against the materials, fill and lattice universes, run_mode against source and fissile content, and model.xml against the separate files (OpenMC runs model.xml when both exist, so a stale one is an error, a newer separate file a warning). Serpent: include resolution, mat/therm/universe references, set acelib. SCONE: aceLibrary, materials, cells, universes. OpenMC Python: local imports and whether the exported XML is older than the script. Every language also gets a quick geometry sample (overlaps, lost points). Runs on open and save with a status-bar item; the report lists what was verified. |
| Deep validation | On-demand language-aware diagnostics with codes — ZAID format, density/fraction sign conventions, mt/S(α,β) target-element checks, macrobody parameter counts (MCNP); IndependentSource/RectangularPrism API checks, MCNP-style S(α,β) names, density units (OpenMC); cuboid vs rect, trcl, CLI omp (Serpent); aceNeutronDatabase, temperature-suffix matching, pinUniverse radii/fills (SCONE). |
| OpenMC XML validation | Live diagnostics on materials.xml / geometry.xml / settings.xml / tallies.xml / model.xml (detected by root element, so renamed exports work too): duplicate ids, GNDS nuclide-name format, density units, ao/wo conflicts, MCNP-style sab names, surface/boundary types, region → surface and cell → material cross-references (against a sibling materials.xml), inactive < batches, run modes, tally filter references. |
| Feature | Description |
|---|---|
| Input Builder | Snippet wizards for Material, Surface, Cell, Lattice (integrated visual grid editor with W 17×17 / BWR presets and editable identifiers), Source, and Settings — plus a searchable template library. Pick code, add materials from an 18-entry curated library or the searchable PNNL-15870 Rev. 2 compendium (411 materials), pin-cell or lattice geometry, run settings, preview — then insert or open as a new file (Ctrl+Shift+I). |
| Lattice Builder | Shortcut into Input Builder's Lattice tab — same visual grid editor that generates MCNP / OpenMC / Serpent / SCONE lattice code from a pin map. |
| Materials (NRDP + PNNL) | OWEN: Insert Material from Database inserts reactor materials rendered for the detected deck language — the curated Nuclear Reactor Data Project set (bundled snapshot, optional live refresh from reactormc.net) plus the full PNNL-15870 Rev. 2 compendium with correct per-code conventions (isotopic ZAIDs with weight fractions for MCNP/Serpent, add_element/add_nuclide for OpenMC, atom densities for SCONE; S(α,β) only on hydrogenous moderators). Auto-assigns the next free mN (and mtN) from the open deck so inserts do not collide with existing material numbers. |
| Prebuilt models | OWEN: Open Prebuilt Model… opens bundled, offline reactor decks in a new editor with the correct language. Ships the complete BEAVRS Cycle-1 full core (all 193 assemblies, full axial pin stacks, baffle/barrel/shields/RPV) for all four codes — MCNP, OpenMC, Serpent, and SCONE — plus 17×17 PWR assembly starters and a Reflected UO2 Pin Cell teaching model in all four codes (the OpenMC twin is run-verified: k-inf 1.2256 ± 0.0010). The SCONE full-core deck is the author-verified source of truth; the MCNP/OpenMC/Serpent decks are geometry/materials-faithful translations of it. |
| Cross-code converter | OWEN: Convert Deck… (owen.convertDeck) converts MCNP ↔ OpenMC — a high-fidelity engine with a full boolean region AST, multi-level universes and rect/hex lattices, transforms, graveyard handling, and tally/source mapping, validated against the bundled BEAVRS full core in real OpenMC — plus MCNP → Serpent / SCONE (experimental). Anything that can't be mapped emits a clearly marked TODO(owen-convert) comment instead of being silently dropped, and results open in a Rosetta diff view — source and converted deck side-by-side with aligned cells/surfaces/materials sections and TODO highlights. OWEN: Convert to OpenMC XML (openmc adapters) additionally drives the OpenMC team's own converters (openmc_mcnp_adapter, openmc_serpent_adapter, both MIT) through your Python as a second opinion — they emit real openmc.Model XML for geometry + materials, but ignore source/tally definitions and write placeholder settings, so OWEN flags that in the result. Not bundled; OWEN offers the pip command if one is missing. Measured side-by-side: docs/ADAPTER_COMPARISON.md. |
| Feature | Description |
|---|---|
| 3D geometry preview | Three.js webview (bundled, works offline) rendering of MCNP / OpenMC / Serpent / SCONE geometry with component / material / axial-layer toggles, slice planes, and a Disc/Layers fidelity control. Renders a full BEAVRS core (all 193 assemblies) across every code — including OpenMC cores whose lattices are built programmatically (comprehension/dict-driven assembly maps are statically expanded, no Python executed) — without dropping pins, and shows the full axial stack for OpenMC too — each pin is reconstructed as its real z-column from the deck's _SHELLS/STACKS/R[key] tables, so grid spacers, plena, end plugs and SS nozzles render with their own per-band shells/materials over the complete 0→460 cm assembly height, matching MCNP/Serpent/SCONE. Geometry is instanced (so draw calls stay low) and a configurable instance budget (owen.preview.maxInstances, default 1.5M) auto-simplifies detail (shells→discs, then collapses axial) instead of hiding pins when a deck is huge. Hover any part to read its layer, material, axial index, radius/diameter and z-range; solo a layer to isolate it; and measure distances (with Δx Δy Δz), included angles, and pin/shell radii directly in the view. |
| Render with OpenMC | OWEN: Render with OpenMC (authoritative) shells out to your actual OpenMC installation and shows OpenMC's own slice plots (xy/xz/yz, origin/width controls, material/cell coloring, optional 3D ray trace on OpenMC ≥ 0.15) in a panel — ground truth straight from OpenMC's geometry kernel, ideal for verifying OWEN's built-in preview or debugging geometry. Finds your interpreter automatically (settings → ms-python → PATH → WSL) and falls back to the built-in preview when OpenMC isn't installed. |
| Verify Geometry with OpenMC | OWEN: Verify Geometry with OpenMC runs an OpenMC model through your local OpenMC installation and checks for overlapping cells (slice plots with overlap detection at several sampled planes) and lost particles (a short capped probe run). The results panel shows per-plane images with overlap highlights, the lost-particle report, or a green all-clear — with the honest caveat that sampled planes are evidence, not proof. |
| Check Geometry / Cell Volumes (built in) | The same questions answered by OWEN's own exact-geometry engine, for all four codes and with no solver: OWEN: Check Geometry samples each universe in its own frame plus the full fill/lattice descent and names the overlapping cell pairs and the gaps (also published as Problems); OWEN: Cell Volumes gives stochastic per-instance volumes with errors, masses where a mass density is known, and — for MCNP — the vol/sd cards that keep an F4/F7 tally on a lattice or infinite cell from being a fatal error. |
| Source & tally overlays | The 3D preview draws the deck's ksrc/sdef pos, OpenMC stats.Point/stats.Box, Serpent src sp/sx sy sz and SCONE pointSource as markers, and fmesh / RegularMesh / Serpent det dx dy dz as wireframe boxes with their divisions, toggleable. A source point on a surface or a mesh that misses the fuel is visible at once. |
| ALLEN σ(E) explorer + Doppler Studio | Built-in cross-section webview: log-log σ(E) plots from ENDF/B-VIII.0, nuclide/reaction picker, multi-overlay, hover readout — with nuclides auto-detected from the active deck. Doppler Studio adds multi-temperature overlays (294/600/900/1200 K), a resonance-integral readout, and a Bondarenko σ₀ self-shielding slider. Cross-library comparison (e.g. ENDF/B-VIII.0 vs JEFF-3.3) lives on the companion reactormc.net ALLEN pages, one click away. |
| Feature | Description |
|---|---|
| Simulation runner | One-command launcher that starts the right solver (MCNP / OpenMC / Serpent / SCONE) in a dedicated terminal, with per-code executable settings and WSL support for SCONE on Windows. |
| Results Viewer | OWEN: View Results parses the outputs of all four codes (OpenMC statepoint.h5 via h5wasm + stdout fallback, MCNP mctal, Serpent _res.m, SCONE .out) and shows k-eff convergence, flux spectrum (log-log), a tally table, and mesh heatmaps — mesh tallies can be overlaid on the 3D geometry preview as a colored slice plane. |
| Parametric sweep + dashboard | JSON-described parameter sweeps with per-run input mutation, output capture, k-eff parsing, and a manifest + TSV summary — then OWEN: View Sweep Results plots k-eff vs the swept parameter with error bars, per-run convergence small-multiples, and a run table. |
| Community Library | Browse and insert approved models shared on ReactorMC, filtered to the code you are editing. Enabled by default; disable with owen.community.enabled. |
| Tutorials | In-editor ReactorMC search (OWEN: Search ReactorMC (Tutorials & NRDP)) over bundled (and optional live) site index — tutorials, NRDP pages, reactors, and tools open on reactormc.net in one click. |
From the VS Code Marketplace:
- Open the Extensions view (
Ctrl+Shift+X/Cmd+Shift+X). - Search for OWEN and click Install — or install
belvoirdynamics.owen-neutronics.
From Open VSX (Cursor, VSCodium, etc.): install belvoirdynamics/owen-neutronics.
From a VSIX (GitHub Releases):
code --install-extension owen-neutronics-<version>.vsix
# Cursor:
cursor --install-extension owen-neutronics-<version>.vsixOr in the editor: Extensions view → ... menu → Install from VSIX….
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and type OWEN:
| Command | Description |
|---|---|
OWEN: Open ALLEN Cross-Sections |
σ(E) webview — nuclide/reaction picker, log-log plot, multi-overlay, Doppler Studio |
OWEN: Open Input Builder |
Snippet wizards: materials (curated + PNNL), surfaces, cells, lattice, source, settings → starter deck |
OWEN: Open Input Builder (Lattice tab) |
Visual lattice grid editor (alias for Lattice Builder) |
OWEN: Validate Input File |
Deep MCNP / OpenMC / Serpent / SCONE checks on demand |
OWEN: Run Simulation |
Launch the appropriate solver in a dedicated terminal |
OWEN: Run Parameter Sweep |
Generate and run a JSON-described sweep |
OWEN: View Sweep Results (Dashboard) |
k-eff vs parameter, per-run convergence, run table |
OWEN: View Results |
k-eff convergence with a convergence reading (halves test, drift, source-entropy plateau, lost particles), the k-eff estimator table with spreads, Shannon-entropy plot when the run wrote one, MCNP's ten statistical checks row by row, flux spectrum, tallies, mesh heatmaps — all four codes |
OWEN: Open 3D Geometry Preview |
Three.js webview — full-core BEAVRS, layer toggles, measurement tools |
OWEN: Render with OpenMC (authoritative) |
Native OpenMC slice plots of the active OpenMC Python model (requires OpenMC installed) |
OWEN: Verify Geometry with OpenMC |
Overlap + lost-particle checks through your local OpenMC |
OWEN: Convert Deck… |
Any of MCNP / OpenMC / Serpent / SCONE to any other. MCNP ↔ OpenMC is stable; Serpent and SCONE → MCNP go through the exact-geometry model (experimental); the remaining pairs pivot through MCNP and carry both hops' TODOs. Rosetta diff view. |
OWEN: Convert to OpenMC XML (openmc adapters) |
Second-opinion MCNP/Serpent → OpenMC conversion via the OpenMC team's adapters in your Python (geometry + materials only) |
OWEN: Open Prebuilt Model… |
Load a bundled BEAVRS full-core, assembly, or pin-cell deck |
OWEN: Show MCNP References (Cross-Reference Tracker) |
Open the MCNP cross-reference tracker dock |
OWEN: Show Cell Map |
Structure tree of the fill hierarchy (root → lattices → pins, with placement counts) beside a flowchart of the cells by universe, a path-from-root breadcrumb for any cell, per-cell material/density and bounding surfaces, click to jump to the card. Serpent/SCONE/OpenMC names are kept. MCNP, OpenMC, Serpent, and SCONE. Opens in a new window or a tab (asked each time; owen.cellMap.openIn pins it). |
OWEN: Validate Workspace (files working together) |
Cross-file check of the whole model, for every code: OpenMC materials/geometry/settings/tallies.xml plus model.xml (tally filters → cells that exist, nuclides → materials that contain them, model.xml vs the separate files — OpenMC runs model.xml when both exist), MCNP root + read/copy includes, Serpent include cards / mat names / therm / acelib, SCONE aceLibrary / materials / universes / cells, OpenMC Python local imports and stale exports. Runs on open and save (status-bar item), publishes findings to Problems, and the report lists what it verified — so a healthy project shows green instead of silence. |
OWEN: Check Geometry (overlaps & gaps) |
Samples every universe in its own frame and the full fill/lattice descent, and reports overlapping cells and points no cell claims — the lost-particle causes — as a report and as Problems on the cell cards. All four codes. |
OWEN: Cell Volumes (vol / sd cards) |
Stochastic per-instance cell volumes (and masses where the deck gives a mass density) with one-sigma errors; for MCNP writes the vol and sd cards an F4/F6/F7 tally on a lattice or infinite cell needs, and inserts them. |
OWEN: Compare Geometry with… |
Same model in two decks (any codes): point-sample agreement of the boundaries, material pairing, composition by class, and where they disagree. This is the test that shows whether an MCNP, Serpent, SCONE or OpenMC version of one reactor is really the same reactor. |
OWEN: Semantic Diff with… |
Diff two decks by model rather than text: both are reduced to a canonical listing (surfaces, cells per universe, fills, materials with normalised fractions) and opened in VS Code's diff viewer, so renumbering and formatting vanish and a changed radius is one line. |
OWEN: Set MCNP Project Root |
Root .inp for cross-file workspace validation |
OWEN: Insert Material from Database |
NRDP + PNNL-15870 material picker, language-aware (auto-numbered mN) |
OWEN: Search ReactorMC (Tutorials & NRDP) |
In-editor search over reactormc.net tutorials, NRDP, and site tools |
OWEN: Choose Highlight Palette |
Switch between Classic / Solarized / High Contrast / Pastel / Custom |
OWEN: Toggle Invisible Characters |
Reveal tabs/trailing whitespace that break fixed-format decks |
OWEN: Input from Community Library |
Browse approved ReactorMC community models and insert one |
OWEN: Open Community Library on reactormc.net |
Open the community library in a browser to upload, rate, or comment |
OWEN: Reference Documentation... |
Upstream manuals for the code you have open, plus NNDC / IAEA / JANIS and ReactorMC |
All settings live under the OWEN section (Ctrl+, → search "owen"):
| Key | Default | Notes |
|---|---|---|
owen.mcnp.executable |
mcnp6 |
Path to the MCNP executable |
owen.mcnp.lineLengthLimit |
80 |
MCNP card-image column limit (set 128 for MCNP6.2+); drives diagnostics and the editor ruler |
owen.serpent.executable |
sss2 |
Path to the Serpent executable |
owen.openmc.executable |
openmc |
Non-Python OpenMC entry point only |
owen.openmc.pythonExecutable |
python |
Interpreter for OpenMC model scripts; when explicitly set it is also the first candidate for Render with OpenMC |
owen.openmc.crossSections |
(blank) | cross_sections.xml as the interpreter sees it (a WSL path when OpenMC lives in WSL). Blank means OWEN searches the environment, the openmc config, and the usual install locations |
owen.openmc.deckArgs |
(blank) | Arguments a model script is run with for Render with OpenMC / Verify Geometry, e.g. --preset base. Also editable in the render panel |
owen.scone.executable |
scone |
On Windows, SCONE typically requires WSL |
owen.highlight.<lang>.palette |
Classic |
Palette for mcnp / openmc / serpent / scone. Also settable from OWEN: Choose Highlight Palette |
owen.highlight.customColors |
{} |
Colors for the Custom palette, per token role ("keyword": "#FF9100" or {foreground, fontStyle} objects). Unset roles fall back to Classic |
owen.highlight.openmc.decorate |
true |
Draw the OpenMC palette on top of the Python highlighter. Set false to leave coloring to Pylance |
owen.highlight.openmc.coverage |
Full deck |
Whether the OpenMC palette also colors Python comments, strings, numbers, keywords and def/class names, or only OpenMC API names |
owen.preview.maxInstances |
1500000 |
Max cylinder instances in the 3D preview; auto-simplifies detail (not pins) above this. Raise (e.g. 4000000) for full shell+axial detail on a full core |
owen.cellMap.openIn |
ask |
Where the Cell Map opens: ask each time, newWindow, beside, or activeGroup. Clicking a cell always reveals the deck's existing tab, never a copy |
owen.simulation.workingDirectory |
"" |
Empty = the input file's directory |
owen.mcnp.projectRoot |
"" |
MCNP root .inp for cross-file workspace validation |
owen.mcnp.workspaceValidation.enabled |
true |
Merge cross-file diagnostics into the language server |
owen.mcnp.workspaceValidation.warnUnused |
true |
Hint on defined-but-unused MCNP entities |
owen.nrdp.live |
true |
Live-fetch NRDP snapshots when online |
owen.nrdp.endpoint |
https://reactormc.net/data |
Base URL for live NRDP JSON |
owen.allen.dataBaseUrl |
https://reactormc.net/data/allen |
Base URL for ALLEN σ(E) JSON; override for offline use |
owen.community.enabled |
true |
Browse the ReactorMC Community Library in the editor |
owen.community.webUrl |
https://reactormc.net/community |
Page opened by OWEN: Open Community Library on reactormc.net |
owen.supabase.url |
ReactorMC project | Backend for the Community Library; override to browse a different one |
owen.supabase.anonKey |
ReactorMC publishable key | Public read-only credential; override alongside the URL |
The Community Library now points at ReactorMC out of the box. The bundled key is a Supabase publishable key, which is public by design — Row Level Security restricts it to reading approved models, and OWEN's client is created with
persistSession: false, so it cannot sign in or write anything. Setowen.community.enabledtofalseto stop OWEN contacting the backend at all; the bundled prebuilt models and snippets are unaffected either way.Uploading, rating, and commenting happen on the website — OWEN browses and inserts only.
OWEN is an editor toolkit — it does not bundle the Monte Carlo solvers. To run simulations, render/verify with OpenMC, install and point the settings above at your own builds of:
- MCNP (Los Alamos National Laboratory — export-controlled, requires a license)
- OpenMC (open source; run via the Python interpreter you configure)
- Serpent (VTT — requires a license)
- SCONE (University of Cambridge — open source; on Windows it typically runs under WSL)
Syntax highlighting, snippets, the language server, validation, the lattice/input builders, the converter, prebuilt models, ALLEN, and the built-in geometry preview all work without any solver installed.
| Language | Highlighting | Snippets | Diagnostics | Runner |
|---|---|---|---|---|
| MCNP | Yes (4 palettes) | Yes | Real-time (LSP) + on-demand | mcnp6 inp=… |
| OpenMC (Python) | Decorations + injection grammar (4 palettes) | Yes | On-demand (deep) + Pylance | python <file> |
| Serpent | Yes (4 palettes) | Yes | Real-time (LSP) + on-demand | sss2 <file> |
| SCONE | Yes (4 palettes) | Yes | Real-time (LSP) + on-demand | scone <file> (WSL on Windows) |
| OpenMC XML | VS Code's XML | — | Live (extension host) | — |
| PHITS | Yes | Yes | — (highlighting + snippets only) | — |
PHITS is a syntax-only tier, by decision. OWEN's diagnostics, 3D preview, Cell Map, geometry tools and converter are built on a shared exact-geometry engine for MCNP, OpenMC, Serpent and SCONE. PHITS gets the grammar and snippets (which are useful on their own) and the reference links, and nothing that would imply a physics check has been done. That is a deliberate scope line, not an oversight; it will move only if PHITS users ask for a specific tool.
OpenMC models are often built in Jupyter. Every OWEN command that reads a deck — 3D preview,
Cell Map, Validate, Convert, Check Geometry, Cell Volumes, Compare, Semantic Diff — accepts a
notebook cell and treats all code cells of that notebook, joined in order, as the deck.
Click-to-reveal and diagnostics map back to the owning cell. The live OpenMC export path needs a
file, so for notebooks call model.export_to_model_xml() once and OWEN reads the sibling
model.xml.
OWEN works with no network. Three.js (3D preview) and uPlot (Results, ALLEN, Sweep dashboard)
ship inside the VSIX under media/vendor/; nothing is fetched from a CDN. ALLEN's σ(E) curves
and the live NRDP/Community data are the only network features, and each has an offline fallback
or an off switch.
OWEN integrates with OpenMC (MIT License, © OpenMC contributors) for
the Render with OpenMC (authoritative) and Verify Geometry with OpenMC features — the images
and checks in those panels are produced by your locally installed OpenMC, not by OWEN. OpenMC
itself is not bundled or redistributed.
The optional adapter convert backend (OWEN: Convert to OpenMC XML (openmc adapters)) drives
the OpenMC team's own converters, openmc_mcnp_adapter
and openmc_serpent_adapter (both MIT
License, © OpenMC contributors), through your Python environment. Neither adapter is bundled or
redistributed — OWEN offers the pip install command when one is missing. OWEN's built-in
converter is an independent implementation; the adapters serve as a second opinion
(docs/ADAPTER_COMPARISON.md).
Compendium material data derives from PNNL-15870 Rev. 2 (April 2021): R.S. Detwiler,
R.J. McConn Jr., T.F. Grimes, S.A. Upton, E.J. Engel, Compendium of Material Composition Data
for Radiation Transport Modeling, PNNL. https://doi.org/10.2172/1782721 — via the PyNE
materials-compendium export (BSD-2-Clause).
- ReactorMC — tutorials, the community library, ALLEN cross-section pages, and the NRDP material data that powers OWEN.
- GROVES — the companion desktop editor for the same input languages.
- NICHOLS — Sublime Text and Notepad++ packages for the same languages.
OWEN gets better when people run it on their actual decks and say what broke. Some fixes in recent releases trace directly to:
- b-shaffer — GitHub issues on the MCNP line-length limit, non-cylinder rendering in the geometry preview, layer-tab scrolling, macrobody support in the converter, and default material-library interpretation.
- Cibi Sundaram (cibi-sundaram) —
the MCNP 6.3.1
READcard report. - Lubomír Bureš (Saltfoss Energy) — feedback on the geometry tools against real multi-file decks, which set off the field-corpus release: include-following in every geometry tool, exact OpenMC hex lattices, Serpent vertical stacks, and honest skips instead of invented geometry.
Found something wrong? Open an issue — reports with a deck attached get fixed fastest.
MIT © 2026 BelvoirDynamics.



