Skip to content

SAnsell/CombLayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,042 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CombLayer

CombLayer is a high-performance C++ framework for building and exporting parametric CSG geometry to Monte Carlo codes.
Designed for flexibility, reuse, and speed—ideal for complex scientific facilities and simulations.

Designed for speed, flexibility, and scalability, CombLayer enables users to rapidly generate sophisticated geometric models optimized for leading Monte Carlo codes such as MCNP, FLUKA, and PHITS.

At its core, CombLayer uses modular, plug-and-play components that can be combined, reused, and reoriented with ease. Each component is defined in its own local coordinate system, allowing you to assemble large, intricate models with minimal effort while maintaining full parametric control.

CombLayer goes beyond geometry construction. It provides integrated support for materials, tallies (estimators), and source definitions, helping streamline the entire simulation setup process. Built-in validation and variance reduction tools ensure both accuracy and performance.

The framework has been successfully used to model real-world, large-scale facilities, including:

While the workflow is conceptually similar to GEANT4 — where reusable component classes define geometry — CombLayer is specifically optimized for CSG-based simulation engines, delivering efficient and production-ready output.

👉 See the documentation for a deeper introduction to the design philosophy and usage

and check out our DeepWiki section: Ask DeepWiki


🚀 Features

CombLayer helps you go from idea to simulation faster:

  • Multi-code export
    Seamlessly generate geometry for:

    • MCNP
    • FLUKA
    • PHITS
    • POV-Ray (visualization)
    • VTK (analysis & visualization)
  • Full simulation support

    • Automatic export of materials and tallies
    • Source term generation (when applicable)
  • High-performance geometry handling

    • Efficient object–object intersections
    • Optimized for fast Monte Carlo execution
  • Advanced variance reduction tools
    Compatible with MCNP, FLUKA, and PHITS:

    • Cell-based methods
    • Mesh-based methods
    • Angular biasing (MCNP & PHITS)
  • Fully parametric design system
    Build flexible, reusable, and configurable geometries with ease.


📦 Source Code

https://github.com/SAnsell/CombLayer


⚙️ Installation

Requirements

  • CMake
  • C++ compiler (e.g., Clang or GCC)
  • Boost
  • GSL (GNU Scientific Library)

Build Instructions

Build directly in the source directory:

cmake ./
make

Or use a separate build directory:

cmake -B /path/to/buildDirectory -S /path/to/srcDirectory
make

You can speed up compilation with options like -j8, or enable verbose output with VERBOSE=1.

About

MCNP(X) project builder using C++

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors