blocks.Pin()

class feign.blocks.Pin(*args, **kwargs)

A class used to represent a Pin. With Pin.add_region() coaxial circles can be added to describe the content (eg. fuel pellet, helium gap, clad). In case no region is added, the Pin() object will behave as an empty channel filled with the coolant material.

Parameters

*args (str) – ID of the pin

_id

ID of the pin

Type

str

regions

(Material, radius) pairs to describe coaxial regions within pin, radius in cm.

Type

list of tuples

materials

list of Material._id identifiers within the pin

Type

list of str

radii

list of radii of regions within the pin, radii in cm

Type

list of floats

add_region(material=None, radius=None)

The function to add coaxial circles and rings to a pin. In case of consecutive calls (ie. more regions added), the radii has to increase.

Parameters
  • material (Material) – material filled into new region

  • radius – radius of new region

Examples

>>> uo2 = Material('1')
>>> he = Material('2')
>>> zr = Material('3')
>>> fuel = Pin('1')
>>> fuel.add_region(uo2,0.41)
>>> fuel.add_region(he,0.42)
>>> fuel.add_region(zr,0.48)
>>> fuel.regions
[(Material(matID=1), 0.41),
 (Material(matID=2), 0.42),
 (Material(matID=3), 0.48)]