What C++ programming paradigm is used in OpenMC

We are interested in coupling with OpenMC at Texas A&M university. Interesting question: It almost looks like OpenMC follows more of a procedural programming paradigm than object-oriented. I would be interested to know what y’all classify it as.

1 Like

Hi @Naktakala and welcome to the community! Glad to hear you are interested in coupling with OpenMC. We have an interesting history – OpenMC started off as a fairly procedural Fortran 2008 code and around the 2018–2019 timeframe was converted over to C++. This is effectively why you see a mix of proper object-oriented code and more old-school procedural code. We are hoping to improve abstractions and the overall structure of the code over time, but sadly it’s not a priority compared to other ongoing activities. Hope this helps!