Skip to content
jessicahunter24 edited this page Apr 16, 2013 · 22 revisions

After creating materials, they can be assigned to regions. Regions are constructs representing infinite media, heterogeneous/homogeneous equivalence fuel/moderator regions, or even heterogeneous regions bounded by 2D quadratic surfaces, filled by a material. The Region class has subclasses for each of these cases: InfiniteMediumRegion(), EquivalenceRegion(), and BoundedRegion(). Examples for each region class are given below for each case.

Infinite Homogeneous Region

In this type of region all materials are homogenized, and there are no geometry effects. There should be only one region of this type defined for a simulation, and so the input is simple. The region is initialized with the InfiniteMediumRegion() construct, whose only argument is the name of the region:

>>> region_mix = InfiniteMediumRegion('Infinite Medium')

Once the region is initialized, the material is assigned to the region using the setMaterial() command, whose only argument is the pointer to the material.

>>> region_mix.setMaterial(mix)

Heterogeneous-Homogeneous Equivalence Region

This type of region is used to represent a fuel or moderator region in which heterogeneous-homogeneous equivalence theory is used. In this type of simulation, Carlvik's Rational Approximation is used for first flight collision probabilities. Regions for the equivalence theory case are a bit more complex. In this case (a pin cell) fuel and moderator regions are both specified. The EquivalenceRegion constructor has two subclasses used to define each region: EquivalenceFuelRegion() and EquivalenceModeratorRegion(). Their only argument is a title for the region. For the example below, it is assumed that a material with the handle 'moderator' and a material with the handle 'fuel' have already been initialized.

As shown in the example, fuel radius and pitch must be set for both regions so each region volume can be computed independently. These functions take in the fuel radius and pitch in units of cm.

>>> radius_fuel = 2.0
>>> pitch = 1.0
>>> region_mod = EquivalenceModeratorRegion('Moderator')
>>> region_mod.setMaterial(moderator)
>>> region_mod.setFuelRadius(radius_fuel)
>>> region_mod.setPitch(pitch)

>>> region_fuel = EquivalenceFuelRegion('Fuel')
>>> region_fuel.setMaterial(fuel)
>>> region_fuel.setFuelRadius(radius_fuel)
>>> region_fuel.setPitch(pitch)

#Bounded Region

Next: Geometry

Tutorials

Home

Clone this wiki locally