The description of a whole reactor down to the pin level can be made simpler by resorting to a set of templates that are available for TRIPOLI-4® and ROOT geometries. The geometry is described in a Python script that instantiates several template classes, including pin, assembly and core.
A 366 cm fuel pin, with internal and external clad radius of 0.4 and 0.5 cm, would be simply described by the following lines:
p1=Pin("P1", 366, 2)
p1.setRadialMesh([0,0.4,0.5])
p1.set(Materials([fuel, clad])
As another example, a 17x17 assembly, with a pitch of 1.26 cm and a height of 366 cm, with two kinds of pins p1 and p2, will be described by:
a=PWRAssembly("A1", 17, 1.26, 366, water)
a.loadMap("assembly.dat", [p1, p2])
where assembly.dat is an ASCII file that represents the positions of the pins:
This would result into the following configuration:
The same kind of procedure can be used for the whole core, seen as a regular array of assemblies.