OpenMC Logo
  • Quick Install Guide
  • Examples
  • Release Notes
  • Theory and Methodology
  • User’s Guide
  • Developer’s Guide
    • 1. Contributing to OpenMC
    • 2. Development Workflow
    • 3. Style Guide for OpenMC
    • 4. Policies
    • 5. Test Suite
    • 6. Making User Input Changes
    • 7. Building Sphinx Documentation
    • 8. Deployment with Docker
  • Python API
  • C/C++ API
  • File Format Specifications
  • Publications
  • License Agreement
OpenMC
  • Developer’s Guide
  • View page source

Developer’s Guide

Welcome to the OpenMC Developer’s Guide! This guide documents how contributions are made to OpenMC, what style rules exist for the code, how to run tests, and other related topics.

  • 1. Contributing to OpenMC
    • 1.1. Overview
    • 1.2. Terminology
    • 1.3. Contribution Process
    • 1.4. Becoming a Committer
    • 1.5. TC Process
    • 1.6. Leadership Team
    • 1.7. Next Steps
  • 2. Development Workflow
    • 2.1. Overview
    • 2.2. Code Review Criteria
    • 2.3. Contributing
    • 2.4. Setting Up Upstream Tracking (Required for Versioning)
    • 2.5. Private Development
    • 2.6. Working in “Development” Mode
  • 3. Style Guide for OpenMC
    • 3.1. C++
    • 3.2. Python
  • 4. Policies
    • 4.1. Python Version Policy
    • 4.2. C++ Standard Policy
    • 4.3. CMake Version Policy
  • 5. Test Suite
    • 5.1. Prerequisites
    • 5.2. Running Tests
    • 5.3. Possible Reasons for Test Failures
    • 5.4. Debugging Tests in CI
    • 5.5. Generating XML Inputs
    • 5.6. Adding C++ Unit Tests
    • 5.7. Adding Tests to the Regression Suite
  • 6. Making User Input Changes
  • 7. Building Sphinx Documentation
    • 7.1. Building Documentation as a Webpage
    • 7.2. Building Documentation as a PDF
  • 8. Deployment with Docker
Previous Next

© Copyright 2011-2025, Massachusetts Institute of Technology, UChicago Argonne LLC, and OpenMC contributors.

Built with Sphinx using a theme provided by Read the Docs.