openmc.Intersection

class openmc.Intersection(nodes)[source]

Intersection of two or more regions.

Instances of Intersection are generally created via the & operator applied to two instances of openmc.Region. This is illustrated in the following example:

>>> equator = openmc.ZPlane(z0=0.0)
>>> earth = openmc.Sphere(r=637.1e6)
>>> northern_hemisphere = -earth & +equator
>>> southern_hemisphere = -earth & -equator
>>> type(northern_hemisphere)
<class 'openmc.region.Intersection'>

Instances of this class behave like a mutable sequence, e.g., they can be indexed and have an append() method.

Parameters:nodes (iterable of openmc.Region) – Regions to take the intersection of
Variables:bounding_box (tuple of numpy.array) – Lower-left and upper-right coordinates of an axis-aligned bounding box
clone(memo=None)[source]

Create a copy of this region - each of the surfaces in the intersection’s nodes will be cloned and will have new unique IDs.

Parameters:memo (dict or None) – A nested dictionary of previously cloned objects. This parameter is used internally and should not be specified by the user.
Returns:clone – The clone of this intersection
Return type:openmc.Intersection
insert(index, value)[source]

S.insert(index, value) – insert value before index

translate(vector, memo=None)[source]

Translate region in given direction

Parameters:
  • vector (iterable of float) – Direction in which region should be translated
  • memo (dict or None) – Dictionary used for memoization. This parameter is used internally and should not be specified by the user.
Returns:

Translated region

Return type:

openmc.Intersection