class openmc.Quadric(a=0.0, b=0.0, c=0.0, d=0.0, e=0.0, f=0.0, g=0.0, h=0.0, j=0.0, k=0.0, *args, **kwargs)[source]

A surface of the form $$Ax^2 + By^2 + Cz^2 + Dxy + Eyz + Fxz + Gx + Hy + Jz + K = 0$$.

Parameters
• a (float, optional) – coefficients for the surface. All default to 0.

• b (float, optional) – coefficients for the surface. All default to 0.

• c (float, optional) – coefficients for the surface. All default to 0.

• d (float, optional) – coefficients for the surface. All default to 0.

• e (float, optional) – coefficients for the surface. All default to 0.

• f (float, optional) – coefficients for the surface. All default to 0.

• g (float, optional) – coefficients for the surface. All default to 0.

• h (float, optional) – coefficients for the surface. All default to 0.

• j (float, optional) – coefficients for the surface. All default to 0.

• k (float, optional) – coefficients for the surface. All default to 0.

• 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 surface. 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
• k (a, b, c, d, e, f, g, h, j,) – coefficients for the surface

• 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