PATMOS is entirely written in C++11 but meant to be
used in Python, via a SWIG-generated interface, for all user
accessible objects. It is object oriented and makes heavy use
of polymorphism in order to always allow the choice between
competing algorithms: as an example, in PATMOS one can
mix nuclides with pre-computed Doppler-broadened cross
sections and nuclides with on-the-fly Doppler broadening.
Prototyping of PATMOS is first performed in Python for
agile programming. So there actually are two versions of
PATMOS, one in Python and one in C++. Verification tests
assure that the two versions give the same results.
Testing PATMOS performances for the Hoogenboom-Martin benchmark at the TGCC supercomputer.