Cyclus Archetype Developer Guide


You are here because you have made (or are making) the transition from wanting to run simulations to wanting to dig in and start dictating agent logic and behavior on a more fundamental level. Perhaps existing archetypes are insufficient for your needs, perhaps you are curious as to how it all works, or are a devilishly handsome thrill-seeker. Whatever your reasons, you have come to the right place!

This guide assumes that you have Cyclus installed, are familiar with running simulations and understand user-level concepts.

To get started please follow the instructions in hello_world.

Writing Agents & Modules

A Word About Style

Having a consistent style in your code is important. Python has a great style guide encapsulated in PEP8. As our code base is mostly C++, the kernel development team follows the Google C++ Style Guide (GCSG) as closely as possible, and we invite you to as well! A notable (and required) exception to the GCSG used in Cyclus and Cycamore archetypes is the use of preprocessor-aware private member variables without a trailing underscore, due to consistency requirements across input files, implementation, and databases. Happy (well-styled) coding!