openmc.Region¶

class
openmc.
Region
[source]¶ Region of space that can be assigned to a cell.
Region is an abstract base class that is inherited by
openmc.Halfspace
,openmc.Intersection
,openmc.Union
, andopenmc.Complement
. Each of those respective classes are typically not instantiated directly but rather are created through operators of the Surface and Region classes.
clone
(memo=None)[source]¶ Create a copy of this region  each of the surfaces in the region’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 region Return type: openmc.Region

static
from_expression
(expression, surfaces)[source]¶ Generate a region given an infix expression.
Parameters:  expression (str) – Boolean expression relating surface halfspaces. The possible operators are union ‘’, intersection ‘ ‘, and complement ‘~’. For example, ‘(1 2)  3 ~(4 5)’.
 surfaces (dict) – Dictionary whose keys are suface IDs that appear in the Boolean expression and whose values are Surface objects.

get_surfaces
(surfaces=None)[source]¶ Recursively find all surfaces referenced by a region and return them
Parameters: surfaces (collections.OrderedDict, optional) – Dictionary mapping surface IDs to openmc.Surface
instancesReturns: surfaces – Dictionary mapping surface IDs to openmc.Surface
instancesReturn type: collections.OrderedDict

remove_redundant_surfaces
(redundant_surfaces)[source]¶ Recursively remove all redundant surfaces referenced by this region
New in version 0.12.
Parameters: redundant_surfaces (dict) – Dictionary mapping redundant surface IDs to class:openmc.Surface instances that should replace them.

rotate
(rotation, pivot=(0.0, 0.0, 0.0), order='xyz', inplace=False, memo=None)[source]¶ Rotate surface by angles provided or by applying matrix directly.
New in version 0.12.
Parameters:  rotation (3tuple of float, or 3x3 iterable) – A 3tuple of angles \((\phi, \theta, \psi)\) in degrees where the first element is the rotation about the xaxis in the fixed laboratory frame, the second element is the rotation about the yaxis in the fixed laboratory frame, and the third element is the rotation about the zaxis in the fixed laboratory frame. The rotations are active rotations. Additionally a 3x3 rotation matrix can be specified directly either as a nested iterable or array.
 pivot (iterable of float, optional) – (x, y, z) coordinates for the point to rotate about. Defaults to (0., 0., 0.)
 order (str, optional) – A string of ‘x’, ‘y’, and ‘z’ in some order specifying which rotation to perform first, second, and third. Defaults to ‘xyz’ which means, the rotation by angle \(\phi\) about x will be applied first, followed by \(\theta\) about y and then \(\psi\) about z. This corresponds to an xyz extrinsic rotation as well as a zy’x’’ intrinsic rotation using TaitBryan angles \((\phi, \theta, \psi)\).
 inplace (boolean) – Whether or not to return a new instance of Surface or to modify the coefficients of this Surface in place. Defaults to False.
 memo (dict or None) – Dictionary used for memoization
Returns: Translated region
Return type:
