Releases: caalh/owen
Release list
OWEN 1.0.2 — Input Builder integrated lattice editor
Patch release after 1.0.1 — integrated visual lattice editor inside Input Builder.
Changed
- Input Builder — integrated Lattice tab: full visual grid editor (paint pin types, W 17×17 / BWR presets, editable identifiers) inside Snippet Wizards → Lattice. Preview, validation, and insert use the same pipeline as other wizards.
owen.openLatticeBuildernow opens Input Builder focused on the Lattice tab.- Full Deck lattice assembly uses the shared lattice map state from the integrated editor.
Install
- VS Code Marketplace / Open VSX: search OWEN (
belvoirdynamics.owen-neutronics) — maintainer publish pending. - Manual: download
owen-neutronics-1.0.2.vsixbelow → Extensions →...→ Install from VSIX.
Built from caalh/BelvoirDynamics monorepo owen/ at v1.0.2.
OWEN 1.0.1 — Input Builder wizards + MCNP workspace validation
OWEN 1.0.1
Patch release after 1.0.0 — Input Builder snippet wizards and MCNP cross-file workspace validation.
Added
- Input Builder wizards — material, surface, cell, lattice, source, and settings snippet wizards with validation preview;
Ctrl+Shift+I - MCNP workspace validation — set project root; validate cells/surfaces/materials/universes across read/copy includes; Problems panel diagnostics
- Shared
packages/mcnp-workspacebundled into the language server
Install: download the VSIX below, then code --install-extension owen-neutronics-1.0.1.vsix
OWEN 1.0.0 — stable release
OWEN 1.0.0
First stable release. MCNP↔OpenMC converter graduates from beta (BEAVRS-validated). Serpent/SCONE converter targets remain experimental.
Highlights
- MC Language Server (diagnostics, hover, defs, refs, symbols)
- High-fidelity MCNP↔OpenMC converter (stable)
- Render/Verify with OpenMC, Results Viewer, Doppler Studio
- PNNL-15870 Rev. 2 materials (411), prebuilt models, sweep dashboard
- 496 tests
Install: download the VSIX below, then code --install-extension owen-neutronics-1.0.0.vsix
OWEN 0.3.10 — marketplace metadata refresh
Marketplace metadata refresh — no code changes. This VSIX packages an accurate description, README.md, and keyword set covering the current feature set (MC Language Server, 3D BEAVRS preview, Render/Verify with OpenMC, Results Viewer, sweep dashboard, MCNP<->OpenMC converter beta, Lattice/Input Builders with the 411-material PNNL-15870 compendium, ALLEN + Doppler Studio). Publishing this VSIX to the VS Code Marketplace and Open VSX is what updates the stale 0.3.1 public listings.
Changed
package.jsondescription rewritten to the 0.3.x feature set; keywords 9 -> 16.- README restructured into Write / Build / Visualize & verify / Run & analyze, adding every feature that post-dated the last pass; all 19 commands listed; demo GIFs unchanged.
SHA256 (owen-neutronics-0.3.10.vsix): D181D54BAEB253147F1DDE130E25F228168CC03FD007B1CB282F20570D263021
OWEN v0.3.9 - PNNL-15870 Rev. 2 materials compendium
PNNL-15870 Rev. 2 materials compendium (411 materials)
The full PNNL Compendium of Material Composition Data for Radiation Transport Modeling (Rev. 2, April 2021, DOI 10.2172/1782721) is now a second material source alongside the curated featured set:
- Input Builder — searchable "PNNL Compendium" section in the Materials step (search by name, formula, acronym, or element symbol). Selected materials flow through deck generation for all four codes.
OWEN: Insert Material— compendium entries in the QuickPick, rendered for the detected deck language.- Per-code generation — MCNP/Serpent isotopic ZAIDs with negative weight fractions (carbon stays elemental
6000); OpenMCadd_element/add_nuclidewithpercent_type='wo'; SCONE atom densities with.03/temp 300. S(α,β) thermal scattering is attached only to hydrogenous moderators (light/heavy water, polyethylene) — never to fuels or metals. - Dataset ships as a lazy-loaded
data/pnnl-materials.json(~600 KB) — never injected into the webview or the extension bundle. - Citation shown wherever the data appears. Dataset derived from the PyNE
materials-compendiumexport (BSD-2-Clause), spot-verified against the official PDF tables.
Also widens two load-sensitive test timing budgets. Suite: 496 passing.
Install: download the VSIX below, then code --install-extension owen-neutronics-0.3.9.vsix (or Cursor: cursor --install-extension owen-neutronics-0.3.9.vsix).
SHA256 (VSIX): 54CFF9E7E5B23E064836974ABA62AB117A1F754ABED2AC12400356BF61049E63
OWEN 0.3.8 — high-fidelity MCNP<->OpenMC converter (beta)
MCNP <-> OpenMC converter rewritten — graduates to beta
Both directions rewritten from scratch and validated against the bundled BEAVRS full core in real OpenMC (0.15.3). Serpent/SCONE targets remain experimental.
MCNP -> OpenMC
- Full boolean region AST: intersections, unions,
#cell/#()complements, nested parentheses - All common surfaces: planes (incl. three-point), spheres, cylinders, cones (one/two-sided), tori, GQ/SQ ->
openmc.Quadric, and macrobodies RPP/RCC/BOX/RHP ->openmc.modelcomposites - Multi-level universes;
lat=1->RectLatticeandlat=2->HexLattice(fill arrays withnRrepeats, 3D arrays, self-fill,outer=heuristic) trcl=/fill transforms -> translation/rotation;tmp=-> cell temperature- Graveyard (
imp:n=0) elimination ->boundary_type='vacuum';*/+surfaces -> reflective/periodic - Materials split per cell density,
add_elementfor natural ZAIDs, official OpenMC S(a,b) names, metastable ZAIDs kcode/multi-pointksrc->Settings/IndependentSource; FMESH + F4/F6/F7 tallies
OpenMC -> MCNP
- New architecture: static parser for flat scripts + a pure-Python trace harness (no OpenMC install needed) for procedural scripts (loops/functions, e.g. native BEAVRS) -> JSON IR -> MCNP emitter
- De Morgan region normalization, synthesized lattice windows + graveyard, S(a,b) ->
mt, temperatures ->tmp=
Validation (BEAVRS gauntlet)
- Forward: converted full core loads in OpenMC — 327 cells / 62 universes / 16 lattices / 13 materials; 4000-point material sampling vs the native deck: 0 mismatches; transport smoke test runs
- Reverse: native procedural BEAVRS script traced -> MCNP; extractor instance parity +0.004%, validator zero Errors
- Round-trips (pin cell, 17x17 assembly) preserve materials, S(a,b), lattices, settings
- 52 new converter tests; suite total 483
Fixed
beavrs_fullcore_mcnp.i: root cells 300/303-307 illegally reused pin-cell ids — renumbered 343-348
Known gaps (TODO-marked, never silently dropped)
- Tallies beyond FMESH type-4 and F4/F6/F7;
sdefbeyond point sources; surface TR transforms flagged but not applied
OWEN 0.3.7 — adversarial-audit hardening
Hardening release: all 15 bugs found by an adversarial test audit (run against v0.3.4) are fixed, and the audit's adversarial suite (~180 tests) now ships in the test suite.
Fixed
Crash-level (extension-host OOM/hang from one malformed deck)
- MCNP repeat expansion (
fill= 1 2000000000r) capped at 1M entries in both the 3D-preview extractor and the references index (the latter rebuilds on every edit, so this was reachable just by typing). - Self- and mutually-referential lattices (
u=5filled with 5, or 5<->6) no longer recurse exponentially — cycle detection in the MCNP and Serpent universe walkers. - SCONE
shape (100000 100000 1)and Serpent giantlatheaders no longer allocate unbounded grids (5M-cell cap; Serpent rows capped to actual data).
Wrong-result
mcnp.material-signno longer fires false Errors on valid decks (including bundled BEAVRS): ZAID tokens like40000.80care no longer partially matched as fractions, and the material context is cleared when any new card starts.- Cells with negative universe IDs (
u=-5) are keyed by abs sofill=5finds them in the 3D preview. - OpenMC pitch detection ignores
#comments. - Results parsers and sweep k-eff scrapers require proper numeric tokens — no more
k-eff = NaNfromKEFF = ...or silently truncated1.2.3; non-finite samples are dropped. - Input Builder: no more
fill=undefinedPython on empty material selection; custom material names with quotes/backslashes no longer break the generated script.
Cosmetic
- ALLEN Bondarenko shielding factor no longer exceeds 1 for tiny sigma0/sigma (log1p + [0,1] clamp, plot config + webview).
src/test/fixtures/sample_openmc.logrenamed to.log.txtso fresh clones pass the test suite (*.logis gitignored).
Added
- Adversarial test suite in
src/test/suite/adv.*.test.ts— extractor edge cases for all four codes, validator regressions (zero-Errors sweep over every bundled prebuilt deck), results-parser garbage inputs, hostile input-builder names, ALLEN plot math, measurement math, LOD budget, and bounded hang-bomb repros. Full suite: 423 passing.
Install: download the VSIX below, then code --install-extension owen-neutronics-0.3.7.vsix
OWEN 0.3.6 - Prebuilt-model audit + Reflected Pin Cell teaching decks
Prebuilt-model quality release
Every bundled prebuilt model audited for syntax and physics correctness, plus a new Reflected UO2 Pin Cell teaching model in all four codes.
Added
- Reflected UO2 Pin Cell (MCNP, OpenMC, Serpent, SCONE): the classic "hello world" — one BEAVRS-spec 3.1 wt% fuel pin (pellet 0.39218 / clad 0.40005–0.45720 cm, pitch 1.26 cm) in 975 ppm borated water, reflective on all six faces → k-inf. All four decks are true cross-code twins using the verified BEAVRS number densities. The OpenMC deck is run-verified: k-inf 1.2256 ± 0.0010 (OpenMC 0.15.3, ENDF/B-VIII.0, 600 K neutron data); the others document that reference honestly as spec-derived.
- Headless extractor render tests for all pin-cell and 17×17 assembly decks.
Fixed
- Both MCNP decks: fatal
ksrc— the initial source point sat in instrument-tube air; moved into a fuel pin. - MCNP lines over 80 columns reformatted (fixed-format limit).
- Serpent 17×17 assembly: invalid
therm lwtr 600 lwj3.11t(interpolation form needs two libraries) → direct form. - OpenMC 17×17 assembly: placed only 21 of the advertised 25 guide/instrument tubes and had water-only guide tubes; fixed (also in the
omc_assembly_scriptsnippet) with Zr tube walls. - All decks normalized to LF line endings (SCONE requires UNIX newlines) and pinned via
.gitattributes.
Install: download the VSIX below, then code --install-extension owen-neutronics-0.3.6.vsix.
Test suite: 232 passing.
OWEN 0.3.5 — Language Server, Convert Deck, Verify Geometry, Sweep Dashboard
Four roadmap items in one release. Built and verified locally; Marketplace/Open VSX publish deferred to the maintainer (latest published version remains 0.3.1).
MC Language Server (LSP)
- Real-time diagnostics for MCNP, Serpent, and SCONE (all previous validator rules, MCNP line length, and new cross-reference checks: undefined surface/material/universe/transform = error, unused definitions = faded hint).
- Hover, go-to-definition, find-references, occurrence highlight, and a grouped document outline (Cells / Surfaces / Materials / Universes / Transforms / Tallies).
- Ships as a self-contained out/server.js; other editors (Sublime LSP, Neovim) can run it with node out/server.js --stdio. See AI_MAINTAINER_GUIDE.md.
OWEN: Convert Deck… (Experimental)
- The previously hidden MCNP<->OpenMC converter is now a visible command with a source->target picker, plus new MCNP->Serpent and MCNP->SCONE targets for the cleanly-mappable subset.
- Unconvertible constructs emit clearly marked TODO comments instead of being dropped.
- Results open in a Rosetta diff view: source and converted deck side-by-side with aligned sections and TODO highlights.
OWEN: Verify Geometry with OpenMC
- Runs your OpenMC model through the locally installed OpenMC: overlap scan (slice plots with show_overlaps=True at sampled planes) and a short lost-particle probe run.
- Reuses 0.3.4 interpreter discovery (explicit setting -> ms-python -> PATH -> WSL) with graceful fallback when OpenMC is absent.
OWEN: View Sweep Results
- Dashboard for completed parameter sweeps: k-eff vs swept parameter with error bars, per-run convergence small-multiples, and a run table.
Install
Download the VSIX below, then: code --install-extension owen-neutronics-0.3.5.vsix
SHA256(owen-neutronics-0.3.5.vsix) = 73186BA478CDD3FEAF6D7AD28B2CE539D362185953DA78C6B6AB1FF450216C4C
OWEN v0.3.4 — Render with OpenMC (authoritative)
Render with OpenMC (authoritative)
New command OWEN: Render with OpenMC (authoritative) — runs your OpenMC Python model through your locally installed OpenMC and shows its native slice plots inside the editor. Ground truth straight from OpenMC's geometry kernel: ideal for verifying OWEN's built-in 3D preview or debugging geometry.
- Basis (xy/xz/yz), origin, width, material/cell coloring — each change re-runs OpenMC (spinner shown; not real-time)
- Optional 3D ray trace when the installed OpenMC supports it (>= 0.15)
- Automatic interpreter discovery: explicit
owen.openmc.pythonExecutable-> ms-python active interpreter ->python/python3on PATH -> WSL (conda-aware,wslpathtranslation) - Safe deck execution:
openmc.run()/model.run()are no-op'd during the render pass, so decks that end in a transport run render instantly without starting one - Graceful fallback: if OpenMC isn't detected anywhere, OWEN says so and opens its built-in 3D Geometry Preview instead
Fixed
- The VSIX now ships
h5wasm, so the Results Viewer statepoint.h5 parser works in installed builds (0.3.3 silently fell back to stdout parsing).
Notes
- 157 unit tests green; verified end-to-end on Windows with OpenMC 0.15.3 under WSL.
- OWEN integrates with OpenMC (MIT License, (c) OpenMC contributors). OpenMC is not bundled.
Install: code --install-extension owen-neutronics-0.3.4.vsix (or Cursor: cursor --install-extension ...)