openmc.ZPlane

class openmc.ZPlane(z0=0.0, boundary_type='transmission', name='', surface_id=None)[source]

A plane perpendicular to the z axis of the form \(z - z_0 = 0\)

Parameters:
  • surface_id (int, optional) – Unique identifier for the surface. If not specified, an identifier will automatically be assigned.
  • boundary_type ({'transmission, 'vacuum', 'reflective', 'periodic', 'white'}, optional) – Boundary condition that defines the behavior for particles hitting the surface. Defaults to transmissive boundary condition where particles freely pass through the surface. Only axis-aligned periodicity is supported, i.e., x-planes can only be paired with x-planes.
  • z0 (float, optional) – Location of the plane. Defaults to 0.
  • name (str, optional) – Name of the plane. If not specified, the name will be the empty string.
Variables:
  • z0 (float) – Location of the plane
  • boundary_type ({'transmission, 'vacuum', 'reflective', 'periodic', 'white'}) – Boundary condition that defines the behavior for particles hitting the surface.
  • periodic_surface (openmc.Surface) – If a periodic boundary condition is used, the surface with which this one is periodic with
  • coefficients (dict) – Dictionary of surface coefficients
  • id (int) – Unique identifier for the surface
  • name (str) – Name of the surface
  • type (str) – Type of the surface
bounding_box(side)[source]

Determine an axis-aligned bounding box.

An axis-aligned bounding box for surface half-spaces is represented by its lower-left and upper-right coordinates. For the z-plane surface, the half-spaces are unbounded in their x- and y- directions. To represent infinity, numpy.inf is used.

Parameters:side ({'+', '-'}) – Indicates the negative or positive half-space
Returns:
  • numpy.ndarray – Lower-left coordinates of the axis-aligned bounding box for the desired half-space
  • numpy.ndarray – Upper-right coordinates of the axis-aligned bounding box for the desired half-space
evaluate(point)[source]

Evaluate the surface equation at a given point.

Parameters:point (3-tuple of float) – The Cartesian coordinates, \((x',y',z')\), at which the surface equation should be evaluated.
Returns:\(z' - z_0\)
Return type:float
translate(vector)[source]

Translate surface in given direction

Parameters:vector (iterable of float) – Direction in which surface should be translated
Returns:Translated surface
Return type:openmc.ZPlane