# Openmc

> Use when writing OpenMC Python code for neutron/photon transport simulations, geometry construction (CSG surfaces, cells, universes, lattices), material definition (nuclides, elements, enrichment, density), settings configuration (eigenvalue, fixed-source, batches, particles, source distributions), or when debugging OpenMC Python errors. Covers fission reactor design and research neutronics workflows.

- Skill: `itaybnv/openmc` (Agent Skill, multi-file: 30 files)
- Install (CLI): `npx skillmds@latest add itaybnv/openmc`
- Raw SKILL.md: https://api.skillmd.com/api/skills/itaybnv/openmc/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- License: MIT
- Author: itaybnv (https://skillmd.com/u/itaybnv)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/itaybnv/openmc

---


# OpenMC Knowledge Base

**Coverage:** Materials · CSG Geometry · Composite Geometry · Lattice Geometry · Settings · Settings Advanced · Tallies · Statepoint · Model API · **Model Mutation** · **Kinetics** · **Sensitivity** · Gotchas · Depletion · MGXS · Nuclear Data · **Data Functions** · openmc.lib · Patterns · Overview · Parallel · Plots · Mesh · Filters · Sources · Volume & Tracks · **CMFD** · **DAGMC** · **Random Ray**

**Not yet covered** (Phase 6): README, community docs, public release

## Task Routing

## Entry Points

**Broad / orientation / "how does OpenMC work" / "getting started" / unclear scope:**
Read `docs/overview.md`

**Complete example / end-to-end script / "full simulation" / "copy-paste runnable" / workflow:**
Read `docs/patterns.md`

---

Load the docs relevant to the task at hand. For narrow questions, load one file (e.g., only tallies.md for a filter question). For cross-cutting tasks, load the files that span the question (e.g., tallies.md + statepoint.md for construction-through-readback). Never load all docs indiscriminately — choose based on what the task actually requires.

---

## Cluster A — Build a Model

**Materials / nuclides / enrichment / density / get_activity / get_decay_heat / decay heat / waste classification / waste_disposal_rating / NCrystal / from_ncrystal / ncrystal_cfg / Macroscopic / material Mixture / mix_materials / Nuclide class / Element class / activation material:**
Read `docs/materials.md`

**CSG geometry — surfaces, cells, regions, universes / torus / ZTorus / XTorus / YTorus / Quadric / ZCone / XCone / YCone / double cone / get_rotation_matrix / get_all_cells / get_all_materials / get_all_surfaces / get_all_universes / determine_paths / num_instances / cell paths / cell atoms / remove_redundant_surfaces / geometry introspection:**
Read `docs/geometry-csg.md`

**Composite surfaces / convenience builders / TRISO — RightCircularCylinder / RCC / HexagonalPrism / Polygon / ConicalFrustum / frustum / CylinderSector / IsogonalOctagon / OrthogonalBox / RectangularParallelepiped / Vessel / CruciformPrism / ConeOneSided / XConeOneSided / YConeOneSided / ZConeOneSided / one-sided cone / TRISO / pack_spheres / create_triso_lattice / borated_water / pin / subdivide / cylinder_from_points / model builder:**
Read `docs/geometry-composite.md`

**Simulation settings — batches, particles, source, run mode, physics mode, photon transport, electron treatment, resonance scattering, ptables, convergence trigger, keff trigger, IndependentSource:**
Read `docs/settings.md`
*(For the full distribution reference — Watt, Maxwell, Uniform, Box, Point, CartesianIndependent, SphericalIndependent, MeshSpatial, Isotropic, PolarAzimuthal, Monodirectional, Normal, Legendre, Mixture, Muir/muir, PowerLaw, delta_function, combine_distributions, PointCloud, spherical_uniform — see Cluster J below: `docs/sources.md`)*

**Advanced settings — particle limits, surface source, weight windows file, UFS, statepoint schedule, verbosity, seed, trace, volume calculations, event-based parallelism:**
Read `docs/settings-advanced.md`

**Building a complete model (geometry + materials + settings together):**
Read `docs/geometry-csg.md` + `docs/materials.md` + `docs/settings.md`

## Cluster B — Lattice Geometry

**Lattice geometry — RectLattice, HexLattice, nested universes, assembly geometry:**
Read `docs/geometry-lattices.md`

**Lattice geometry + CSG (pin universe construction + lattice fill):**
Read `docs/geometry-lattices.md` + `docs/geometry-csg.md`

**TRISO particles + lattice (pack_spheres → create_triso_lattice → RectLattice) / TRISO packing workflow / pebble bed:**
Read `docs/geometry-composite.md` + `docs/geometry-lattices.md`

## Cluster C — Tallies and Results

**Tallies / tally construction / filters / scores / normalization / EnergyFilter / MeshFilter / common filters at a glance:**
Read `docs/tallies.md`

**Full filter reference / complete filter list / filter reference / all filter types / expansion filter / Legendre / spherical harmonics / Zernike / collision filter / time filter / cell instance / CellBorn / MeshBorn / MeshSurface / delayed group / parent nuclide / polar filter / azimuthal filter:**
Read `docs/filters.md`

**Weight windows / variance reduction / WeightWindows / WeightWindowsList:**
Read `docs/tallies.md` (see §Weight Windows subsection)

**Statepoint post-processing / keff / tally results / mesh tally readback:**
Read `docs/statepoint.md`

**Tally + statepoint together (construction through readback):**
Read `docs/tallies.md` + `docs/statepoint.md`

**TallyDerivative / sensitivity / perturbation theory / first-order derivative / nuclide_density derivative / temperature derivative / density derivative / tally arithmetic / hybrid_product / summation / average / diagonalize_filter / CrossScore / AggregateScore / AggregateNuclide / CrossNuclide / tally algebra / wwinp_to_wws / hdf5_to_wws / WeightWindowsList.from_wwinp / collision-track readers / read_collision_track_file / read_collision_track_hdf5:**
Read `docs/tallies.md`

**Summary / summary.h5 / standalone summary / geometry reconstruction / openmc.Summary / StatePoint.link_with_summary / Summary.add_volume_information:**
Read `docs/statepoint.md`

**Sensitivity + readback together (TallyDerivative construction through derivative result):**
Read `docs/tallies.md` + `docs/statepoint.md`

## Cluster D — Depletion and Nuclear Data

**Depletion / burnup / CoupledOperator / IndependentOperator / material volume / depletion chain / R2S / R2SManager / shutdown dose / activation / decay photon source / continuous reprocessing / continuous feed / TransferRates / ExternalSourceRates / add_transfer_rate / integrator selection / CE/CM / CF4 / EPCRK4 / LEQI / SICELIIntegrator / cram48 / MicroXS HDF5 / write_microxs_hdf5 / read_microxs_hdf5 / Chain API / chain.nuclides / Chain.reduce / decay_modes / DecayTuple / ReactionTuple / StepResult / OperatorResult / ReactionRates / AtomNumber:**
Read `docs/depletion.md`

**Nuclear data / cross_sections.xml / OPENMC_CROSS_SECTIONS / DataLibrary / IncidentNeutron / IncidentPhoton / Decay / ThermalScattering / query cross section / from_hdf5 / reaction MT / MT=18 fission / MT=102 / reaction cross section / photon cross section / thermal scattering / S(alpha,beta) query / chain generation:**
Read `docs/nuclear-data.md`

**Nuclear data scalar functions / units / atomic_mass / atomic_weight / half_life / decay_constant / decay_photon_energy / decay_energy / dose_coefficients / gnds_name / zam / isotopes / water_density / eV vs MeV / half-life seconds / amu / ICRP / dose conversion / water density temperature:**
Read `docs/data-functions.md`

**Depletion + nuclear data together (chain loading, operator setup):**
Read `docs/depletion.md` + `docs/nuclear-data.md`

## Cluster E — Advanced / In-Memory

**Multigroup cross sections / mgxs.Library / EnergyGroups / MGXS types:**
Read `docs/mgxs.md`
*(For MG data-file authoring — MGXSLibrary / XSdata / export_to_hdf5 / from_hdf5 / random-ray XS files — see Cluster M below: `docs/random-ray.md`)*

**openmc.lib / in-memory simulation / TemporarySession / lib.run / live Material / batch control / lib.find_cell / lib.find_material / lib.sample_external_source / source_bank / lib.calculate_volumes / lib.Mesh / lib.RegularMesh / lib.Filter / lib filter classes / lib non-parity / find cell at point / find material at point / geometry query / lib vs top-level / non-interchangeable:**
Read `docs/openmc-lib.md`

## Cluster F — Debugging / Gotchas

**Diagnosing silent zero tallies / wrong normalization / unexpected behavior ("why is my tally wrong"):**
Read `docs/gotchas.md`

## Cluster G — Model API

**Model API / Model.run() / export_to_xml / from_model_xml / keff_search / criticality search:**
Read `docs/model.md`

## Cluster H — Visualization and Parallel Execution

**Geometry visualization / plots / plot_geometry / openmc.Plot / voxel / slice plot / color_by / RayTracePlot / WireframeRayTracePlot / SolidRayTracePlot / 3D plot / ray tracing / camera_position / look_at / horizontal_field_of_view / Phong shading / wireframe / volume rendering / orthographic / perspective projection / ProjectionPlot:**
Read `docs/plots.md`

**Parallel execution / MPI / threading / threads= / OpenMP / variance reduction / survival biasing / weight window generation / WeightWindowGenerator:**
Read `docs/parallel.md` (see also `docs/tallies.md` §Weight Windows for WeightWindows/WeightWindowsList)

## Cluster I — Mesh & Filters

**Cylindrical mesh / spherical mesh / rectilinear mesh / unstructured mesh / non-regular mesh / custom mesh / MOAB / libMesh / from_domain / from_rect_lattice / build_cells / material_volumes / get_homogenized_materials / write_data_to_vtk / VTK / MeshMaterialVolumes / mesh construction helpers:**
Read `docs/mesh.md`

**Legendre filter / SpatialLegendre / spherical harmonics filter / Zernike filter / ZernikeRadial / expansion filter / functional expansion / scattering moments / angular flux moments / PolarFilter / AzimuthalFilter / DelayedGroupFilter / UniverseFilter / CellInstanceFilter / CellFromFilter / MaterialFromFilter / CellBornFilter / MeshBornFilter / MeshSurfaceFilter / CollisionFilter / TimeFilter / WeightFilter / MuSurfaceFilter / ParentNuclideFilter / full filter list / filter reference:**
Read `docs/filters.md`

## Cluster J — Sources & Distributions / Volume & Tracks

**Source class family / file source / compiled source / mesh source / custom source / surface source / source bank / source constraints / fissionable rejection / source restart / write_source_file / read_source_file / SourceParticle / ParticleList:**
Read `docs/sources.md`

**Full distribution reference / all distribution classes / Watt / Maxwell / Uniform / Box / Point / CartesianIndependent / SphericalIndependent / MeshSpatial / Isotropic / PolarAzimuthal / Monodirectional / Normal / Legendre / Mixture / Muir / muir / PowerLaw / delta_function / combine_distributions / PointCloud / spherical_uniform / Univariate / Spatial / UnitSphere base hierarchy / openmc.stats:**
Read `docs/sources.md`

**Stochastic volume calculation / VolumeCalculation / volume_calculations / material volume / volume uncertainty / ufloat volume / run_mode volume / particle track / Track / Tracks / ParticleTrack / tracks.h5 / track plotting / track visualization / particle_restart / restart particle / require_statepoint_data:**
Read `docs/volume-tracks.md`

**Source + surface-source restart workflow (surf_source_write + surf_source_read round-trip):**
Read `docs/sources.md` + `docs/settings-advanced.md` (settings-advanced.md owns the dict schemas; sources.md owns the workflow)

**Source + volume together (setting up sources and estimating material volumes):**
Read `docs/sources.md` + `docs/volume-tracks.md`

## Cluster K — CMFD Acceleration

**CMFD / CMFDRun / CMFDMesh / cmfd acceleration / coarse mesh / k_cmfd / cmfd fission source / CMFD feedback / cmfd_on / cmfd_balance / StatePoint cmfd readback / h5py cmfd group:**
Read `docs/cmfd.md`

## Cluster L — DAGMC / CAD Geometry

**DAGMC / DAGMCUniverse / DAGMCCell / CAD geometry / h5m / DAGMC file / UWUW / material override / sync_dagmc_universes / dagmc_universe_cell_ids / imprint mesh / graveyard:**
Read `docs/dagmc.md`

## Cluster M — Random Ray / MG Data Authoring

**Random ray / random-ray / multigroup solver / energy_mode multi-group / MGXSLibrary / XSdata / MG data file / mgxs.h5 / convert_to_random_ray / convert_to_multigroup / distance_active / distance_inactive / ray_source / MG cross section authoring / XSdata.set_scatter_matrix / scatter matrix shape:**
Read `docs/random-ray.md`

## Cluster N — Model Mutation & Kinetics

**In-place model mutation / rotate_cells / translate_cells / update_densities / update_cell_temperatures / update_material_volumes / differentiate_mats / differentiate_depletable_mats / in-place mutation / parametric sweep / material perturbation / diff_volume_method / InvalidIDError:**
Read `docs/model.md`

**IFP kinetics / IFP / kinetics parameters / generation time / beta effective / beta_eff / delayed neutron fraction / add_kinetics_parameters_tallies / get_kinetics_parameters / KineticsParameters / ifp-time-numerator / ifp-beta-numerator / ifp-denominator / kinetics parameters readback:**
Read `docs/model.md` + `docs/statepoint.md`

**Mutation + kinetics together (setup through readback):**
Read `docs/model.md` + `docs/statepoint.md`

## Full Simulation Co-loads

**Full simulation (geometry + materials + settings + tallies + results):**
Read `docs/geometry-csg.md` + `docs/materials.md` + `docs/settings.md` + `docs/tallies.md` + `docs/statepoint.md`

**Full simulation with lattice geometry (geometry + lattice + materials + settings + tallies + results):**
Read `docs/geometry-csg.md` + `docs/geometry-lattices.md` + `docs/materials.md` + `docs/settings.md` + `docs/tallies.md` + `docs/statepoint.md`

