openmc.Quadric

class openmc.Quadric(surface_id=None, boundary_type='transmission', 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, name='')[source]

A surface of the form \(Ax^2 + By^2 + Cz^2 + Dxy + Eyz + Fxz + Gx + Hy + Jz + K = 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'}, optional) – Boundary condition that defines the behavior for particles hitting the surface. Defaults to transmissive boundary condition where particles freely pass through the surface.
  • b, c, d, e, f, g, h, j, k (a,) – coefficients for the surface. All default to 0.
  • name (str, optional) – Name of the surface. If not specified, the name will be the empty string.
Variables:
  • b, c, d, e, f, g, h, j, k (a,) – coefficients for the surface
  • boundary_type ({'transmission, 'vacuum', 'reflective', 'periodic'}) – 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')\), 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
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.Quadric