# openmc.ZCone¶

class openmc.ZCone(x0=0.0, y0=0.0, z0=0.0, r2=1.0, *args, **kwargs)[source]

A cone parallel to the z-axis of the form $$(x - x_0)^2 + (y - y_0)^2 = r^2 (z - z_0)^2$$.

Parameters
• x0 (float, optional) – x-coordinate of the apex in [cm]. Defaults to 0.

• y0 (float, optional) – y-coordinate of the apex in [cm]. Defaults to 0.

• z0 (float, optional) – z-coordinate of the apex in [cm]. Defaults to 0.

• r2 (float, optional) – Parameter related to the aperature. Defaults to 1.

• boundary_type ({'transmission, 'vacuum', 'reflective', '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.

• name (str, optional) – Name of the cone. If not specified, the name will be the empty string.

• surface_id (int, optional) – Unique identifier for the surface. If not specified, an identifier will automatically be assigned.

Variables
• x0 (float) – x-coordinate of the apex in [cm]

• y0 (float) – y-coordinate of the apex in [cm]

• z0 (float) – z-coordinate of the apex in [cm]

• r2 (float) – Parameter related to the aperature

• boundary_type ({'transmission, 'vacuum', 'reflective', 'white'}) – Boundary condition that defines the behavior for particles hitting the surface.

• 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

evaluate(point)[source]

Evaluate the surface equation at a given point.

Parameters

point (3-tuple of float) – The Cartesian coordinates, $$(x',y',z')$$, in [cm] at which the surface equation should be evaluated.

Returns

$$Ax'^2 + By'^2 + Cz'^2 + Dx'y' + Ey'z' + Fx'z' + Gx' + Hy' + Jz' + K = 0$$

Return type

float