Rattlesnake is built on the MOOSE framework. Rattlesnake manages meshes with libMesh [25] and solves the system equation with PETSc [26] through MOOSE. Support of unstructured meshes, parallelization with domain decomposition, various time integration schemes, most of nonlinear solvers features, multiphysics coupling are all inherited from the framework. Rattlesnake is responsible for setting up the discretization of RTE with interfaces provided by MOOSE. Because Rattlesnake is built on a general framework, it can perform calculations in 1D, 2D and 3D unstructured meshes via MPI (message passing interface) [27] and multi-threading. The weak forms can be directly translated into code under the MOOSE framework, which results in codes easy to maintain and extend. Multiple developers can co-work seamlessly on Rattlesnake. This development pattern allows splitting the work into the physics-related items residing in Rattlesnake, and physics-irrelevant items residing in the framework. The benefit is twofold: Rattlesnake can push the development on the framework side, which can benefit all the other MOOSE-based applications and any improvements in MOOSE can improve Rattlesnake. For example, the common software development procedure is managed by MOOSE, e.g. the version control, regression tests, on-line documentation. In addition, coupling Rattlesnake with other MOOSE-based applications dealing with other physics is straightforward because these applications are based on the same framework. As an example, the reactor physics application MAMMOTH [2, 28] leverages components spread over Rattlesnake, MOOSE and its modules, Bison [29, 30, 31], and Relap-7 [32]. In summary, being built on MOOSE makes Rattlesnake powerful and unique. There indeed are constraints imposed by the framework, but this is not insurmountable and outweighted by all the advantages provided by this development pattern. In Section 2, we first state the RTE for various particles. Currently, we only consider two particles: neutron and thermal radiation but Rattlesnake can be extended easily to other types. Particles mostly share the same time derivative,