Difference between revisions of "Surface types"
From Serpent Wiki
(→Planes) |
Ana Jambrina (Talk | contribs) |
||
(210 intermediate revisions by 5 users not shown) | |||
Line 2: | Line 2: | ||
== Elementary surfaces == | == Elementary surfaces == | ||
+ | <u>Notes:</u> | ||
+ | |||
+ | *Elementary surfaces refer here to surfaces that can be represented by a single equation. | ||
=== Planes === | === Planes === | ||
+ | |||
+ | <u>Notes:</u> | ||
+ | |||
+ | *Parametric form of the general plane is assumed if four values are provided in the surface card. With six values the plane is assumed to be defined by three points. | ||
+ | *The positive side for a plane defined by three points is determined by the order in which the points are entered (see the [https://en.wikipedia.org/wiki/Right-hand_rule right-hand rule]). | ||
{|class="wikitable" style="text-align: left;" | {|class="wikitable" style="text-align: left;" | ||
Line 11: | Line 19: | ||
! Description | ! Description | ||
|- | |- | ||
− | | <tt> | + | | <tt>px</tt> |
| ''x<sub>0</sub>'' | | ''x<sub>0</sub>'' | ||
| <math>S(x) = x - x_0</math> | | <math>S(x) = x - x_0</math> | ||
| Plane perpendicular to x-axis at ''x = x<sub>0</sub>'' | | Plane perpendicular to x-axis at ''x = x<sub>0</sub>'' | ||
|- | |- | ||
− | | <tt> | + | | <tt>py</tt> |
| ''y<sub>0</sub>'' | | ''y<sub>0</sub>'' | ||
| <math>S(y) = y - y_0</math> | | <math>S(y) = y - y_0</math> | ||
− | | Plane perpendicular to | + | | Plane perpendicular to y-axis at ''y = y<sub>0</sub>'' |
|- | |- | ||
− | | <tt> | + | | <tt>pz</tt> |
| ''z<sub>0</sub>'' | | ''z<sub>0</sub>'' | ||
| <math>S(z) = z - z_0</math> | | <math>S(z) = z - z_0</math> | ||
Line 29: | Line 37: | ||
| ''A, B, C, D'' | | ''A, B, C, D'' | ||
| <math>S(x,y,z) = Ax+ By + Cz - D</math> | | <math>S(x,y,z) = Ax+ By + Cz - D</math> | ||
− | | General plane | + | | General plane in parametric form |
+ | |- | ||
+ | | <tt>plane</tt> | ||
+ | | ''x<sub>1</sub>, y<sub>1</sub>, z<sub>1</sub>, x<sub>2</sub>, y<sub>2</sub>, z<sub>2</sub>, x<sub>3</sub>, y<sub>3</sub>, z<sub>3</sub>'' | ||
+ | | | ||
+ | | General plane defined by three points | ||
|- | |- | ||
|} | |} | ||
− | === | + | === Second-order quadratic surfaces === |
+ | <u>Notes:</u> | ||
+ | |||
+ | *<tt>cyl</tt> is the same surface as <tt>cylz</tt> | ||
+ | *Infinite cylinders use the same names as the [[#Truncated_cylinders|truncated cylinders]]. | ||
+ | *With three values provided in the surface card for <tt>cylx</tt>, <tt>cyly</tt>, <tt>cylz</tt> or <tt>cyl</tt> the surface is an infinite cylinder. With five values the surface is an [[#Truncated_cylinders|truncated cylinder]]. | ||
+ | |||
+ | {|class="wikitable" style="text-align: left;" | ||
+ | ! Surface name | ||
+ | ! Parameters | ||
+ | ! Surface equation | ||
+ | ! Description | ||
+ | |- | ||
+ | | <tt>cylx</tt> | ||
+ | | ''y<sub>0</sub>, z<sub>0</sub>, r'' | ||
+ | | <math>S(y,z) = (y - y_0)^2 + (z - z_0)^2 - r^2</math> | ||
+ | | Infinite cylinder parallel to x-axis, centred at (''y<sub>0</sub>,z<sub>0</sub>''), radius ''r'' | ||
+ | |- | ||
+ | | <tt>cyly</tt> | ||
+ | | ''x<sub>0</sub>, z<sub>0</sub>, r'' | ||
+ | | <math>S(x,z) = (x - x_0)^2 + (z - z_0)^2 - r^2</math> | ||
+ | | Infinite cylinder parallel to y-axis, centred at (''x<sub>0</sub>,z<sub>0</sub>''), radius ''r'' | ||
+ | |- | ||
+ | | <tt>cylz, cyl</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, r'' | ||
+ | | <math>S(x,y) = (x - x_0)^2 + (y - y_0)^2 - r^2</math> | ||
+ | | Infinite cylinder parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), radius ''r'' | ||
+ | |- | ||
+ | | <tt>cylv</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, u<sub>0</sub>, v<sub>0</sub>, w<sub>0</sub>, r'' | ||
+ | | <math>S(x,y,z) = (1-u_0^2)(x - x_0)^2 + (1-v_0^2)(y - y_0)^2 + (1-w_0^2)(z - z_0)-r^2</math> | ||
+ | | Infinite cylinder, parallel to (''u<sub>0</sub>,v<sub>0</sub>,w<sub>0</sub>''), centred at (''x<sub>0</sub>,y<sub>0</sub>,z<sub>0</sub>''), radius ''r'' | ||
+ | |- | ||
+ | | <tt>sph</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, r'' | ||
+ | | <math>S(x,y,z) = (x - x_0)^2 + (y - y_0)^2 + (z - z_0)^2 - r^2</math> | ||
+ | | Sphere, centred at (''x<sub>0</sub>,y<sub>0</sub>,z<sub>0</sub>''), radius ''r'' | ||
+ | |- | ||
+ | | <tt>cone</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, r, h'' | ||
+ | | <math>S(x,y,z) = (x - x_0)^2 + (y - y_0)^2 - \left(1 - (z - z_0)/h\right)r^2</math> | ||
+ | | Half cone parallel to z-axis, base at (''x<sub>0</sub>,y<sub>0</sub>,z<sub>0</sub>''), base radius ''r'', height ''h'' (distance from base to vertex) | ||
+ | |- | ||
+ | | <tt>quadratic</tt> | ||
+ | | ''A, B, C, D, E, F, G, H, I, J'' | ||
+ | | <math>S(x,y,z) = Ax^2 + By^2 + Cz^2 + Dxy + Eyz + Fzx + Gx + Hy + Iz + J</math> | ||
+ | | General quadratic surface in parametric form | ||
+ | |} | ||
+ | |||
+ | === Non-quadratic surfaces === | ||
+ | <u>Notes:</u> | ||
+ | |||
+ | *Serpent can handle circular and elliptical torii. Radii ''r<sub>1</sub>'' and ''r<sub>2</sub>'' must be set equal (denoted in the surface equations as ''r'') to describe a circular torus surface. | ||
+ | |||
+ | {|class="wikitable" style="text-align: left;" | ||
+ | ! Surface name | ||
+ | ! Parameters | ||
+ | ! Surface equation | ||
+ | ! Description | ||
+ | ! Notes | ||
+ | |- | ||
+ | | <tt>inf</tt> | ||
+ | | - | ||
+ | | <math>S(y,x,z) = -\infty</math> | ||
+ | | All space | ||
+ | | Can not be used in [[Input_syntax_manual#set_root|root universe]] | ||
+ | |- | ||
+ | | <tt>torx</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, R, r, r'' | ||
+ | | <math> S(x,y,z) = \left(R - \sqrt{(y - y_0)^2 + (z - z_0)^2}\right)^2 + (x - x_0)^2 - r^2</math> | ||
+ | | Circular torus with major radius ''R'' perpendicular to x-axis (revolving radius), centred at (''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>''), minor radius ''r'' (inner radius). | ||
+ | | | ||
+ | |- | ||
+ | | | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, R, r<sub>1</sub>, r<sub>2</sub>'' | ||
+ | | <math> S(x,y,z) = \dfrac{\left(R - \sqrt{(y - y_0)^2 + (z - z_0)^2}\right)^2}{r_2^2} + \dfrac{(x - x_0)^2}{r_1^2} - 1</math> | ||
+ | | Elliptic torus with major radius ''R'' perpendicular to x-axis (revolving radius) centred at (''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>''), vertical (x-)semi-axis ''r<sub>1</sub>'' and horizontal (y-/z-)semi-axis ''r<sub>2</sub>''. | ||
+ | | | ||
+ | |- | ||
+ | | <tt>tory</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, R, r, r'' | ||
+ | | <math> S(x,y,z) = \left(R - \sqrt{(x - x_0)^2 + (z - z_0)^2}\right)^2 + (y - y_0)^2 - r^2</math> | ||
+ | | Circular torus with major radius ''R'' perpendicular to y-axis (revolving radius), centred at (''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>''), minor radius ''r'' (inner radius). | ||
+ | | | ||
+ | |- | ||
+ | | | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, R, r<sub>1</sub>, r<sub>2</sub>'' | ||
+ | | <math> S(x,y,z) = \dfrac{\left(R - \sqrt{(x - x_0)^2 + (z - z_0)^2}\right)^2}{r_2^2} + \dfrac{(y - y_0)^2}{r_1^2} - 1</math> | ||
+ | | Elliptic torus with major radius ''R'' perpendicular to y-axis (revolving radius) centred at (''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>''), vertical (y-)semi-axis ''r<sub>1</sub>'' and horizontal (x-/z-)semi-axis ''r<sub>2</sub>''. | ||
+ | | | ||
+ | |- | ||
+ | | <tt>torz</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, R, r, r'' | ||
+ | | <math> S(x,y,z) = \left(R - \sqrt{(x - x_0)^2 + (y - y_0)^2}\right)^2 + (z - z_0)^2 - r^2</math> | ||
+ | | Circular torus with major radius ''R'' perpendicular to z-axis (revolving radius), centred at (''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>''), minor radius ''r'' (inner radius). | ||
+ | | | ||
+ | |- | ||
+ | | | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, R, r<sub>1</sub>, r<sub>2</sub>'' | ||
+ | | <math> S(x,y,z) = \dfrac{\left(R - \sqrt{(x - x_0)^2 + (y - y_0)^2}\right)^2}{r_2^2} + \dfrac{(z - z_0)^2}{r_1^2} - 1</math> | ||
+ | | Elliptic torus with major radius ''R'' perpendicular to z-axis (revolving radius) centred at (''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>''), vertical (z-)semi-axis ''r<sub>1</sub>'' and horizontal (x-/y-)semi-axis ''r<sub>2</sub>''. | ||
+ | | | ||
+ | |} | ||
== Derived surface types == | == Derived surface types == | ||
− | === | + | <u>Notes:</u> |
+ | |||
+ | *Derived surfaces refer here to surfaces composed of two or more elementary types. | ||
+ | |||
+ | === Truncated cylinders === | ||
+ | |||
+ | <u>Notes:</u> | ||
+ | |||
+ | *Truncated cylinders use the same names as the [[#Second-order_quadratic_surfaces|infinite cylinders]]. | ||
+ | *With five values provided in the surface card for <tt>cylx</tt>, <tt>cyly</tt>, <tt>cylz</tt> or <tt>cyl</tt> the surface is an truncated cylinder. With three values the surface is an [[#Second-order_quadratic_surfaces|infinite cylinder]]. | ||
+ | |||
+ | {|class="wikitable" style="text-align: left;" | ||
+ | ! Surface name | ||
+ | ! Parameters | ||
+ | ! Composed of | ||
+ | ! Description | ||
+ | |- | ||
+ | | <tt>cylx</tt> | ||
+ | | ''y<sub>0</sub>, z<sub>0</sub>, r, x<sub>0</sub>, x<sub>1</sub>'' | ||
+ | | Infinite cylinder + two planes | ||
+ | | Infinite cylinder parallel to x-axis, centred at (''y<sub>0</sub>,z<sub>0</sub>''), radius ''r'', truncated between [''x<sub>0</sub>, x<sub>1</sub>''] | ||
+ | |- | ||
+ | | <tt>cyly</tt> | ||
+ | | ''x<sub>0</sub>, z<sub>0</sub>, r, y<sub>0</sub>, y<sub>1</sub>'' | ||
+ | | Infinite cylinder + two planes | ||
+ | | Infinite cylinder parallel to y-axis, centred at (''x<sub>0</sub>,z<sub>0</sub>''), radius ''r'', truncated between [''y<sub>0</sub>, y<sub>1</sub>''] | ||
+ | |- | ||
+ | | <tt>cylz, cyl</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, r, z<sub>0</sub>, z<sub>1</sub>'' | ||
+ | | Infinite cylinder + two planes | ||
+ | | Infinite cylinder parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), radius ''r'', truncated between [''z<sub>0</sub>, z<sub>1</sub>''] | ||
+ | |} | ||
+ | |||
+ | === Regular prisms === | ||
+ | <u>Notes:</u> | ||
+ | |||
+ | *All prisms are parallel to z-axis, and they can be rotated using [[Input syntax manual#trans (transformations)|surface transformations]]. | ||
+ | *Infinite and truncated triangular prisms use the same name, and are composed by three or five planes, respectively. Infinite prism is assumed if three/four values are provided in the surface card ''tric''. With six values the surface is assumed to be a truncated (equilateral) triangular prism. | ||
+ | *Triangular prisms orientation, ''ori'', corresponds to the cardinal direction of the non-aligned vertex of the triangle. Default orientation is North. It follows the scheme: W-S-E-N (W=1, S=2, E=3, N=4). | ||
+ | |||
+ | {|class="wikitable" style="text-align: left;" | ||
+ | ! Surface name | ||
+ | ! Parameters | ||
+ | ! Composed of | ||
+ | ! Description | ||
+ | |- | ||
+ | |<tt>tric</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d, ori'' | ||
+ | |three planes | ||
+ | |Infinite (equilateral) triangular prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), half-width ''d'', orientation ''ori'' (optional) | ||
+ | |- | ||
+ | | | ||
+ | |''x<sub>0</sub>, y<sub>0</sub>, d, ori, z<sub>0</sub>, z<sub>1</sub>'' | ||
+ | |five planes | ||
+ | |Truncated (equilateral) triangular prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), half-width ''d'', orientation ''ori'', truncated between [''z<sub>0</sub>, z<sub>1</sub>''] | ||
+ | |- | ||
+ | | <tt>sqc</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d'' | ||
+ | | four planes | ||
+ | | Infinite square prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), half-width ''d'' | ||
+ | |- | ||
+ | | <tt>rect</tt> | ||
+ | | ''x<sub>0</sub>, x<sub>1</sub>, y<sub>0</sub>, y<sub>1</sub>'' | ||
+ | | four planes | ||
+ | | Infinite rectangular prism parallel to z-axis, between [''x<sub>0</sub>, x<sub>1</sub>''] and [''y<sub>0</sub>, y<sub>1</sub>''] | ||
+ | |- | ||
+ | | <tt>hexxc</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d'' | ||
+ | | six planes | ||
+ | | Infinite hexagonal prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), flat surface perpendicular to x-axis, half-width ''d'' | ||
+ | |- | ||
+ | | <tt>hexyc</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d'' | ||
+ | | six planes | ||
+ | | Infinite hexagonal prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), flat surface perpendicular to y-axis, half-width ''d'' | ||
+ | |- | ||
+ | | <tt>hexxprism</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d, z<sub>0</sub>, z<sub>1</sub>'' | ||
+ | | eight planes | ||
+ | | Truncated hexagonal prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), flat surface perpendicular to x-axis, half-width ''d'', truncated between [''z<sub>0</sub>, z<sub>1</sub>''] | ||
+ | |- | ||
+ | | <tt>hexyprism</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d, z<sub>0</sub>, z<sub>1</sub>'' | ||
+ | | eight planes | ||
+ | | Truncated hexagonal prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), flat surface perpendicular to y-axis, half-width ''d'', truncated between [''z<sub>0</sub>, z<sub>1</sub>''] | ||
+ | |- | ||
+ | | <tt>octa</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d<sub>1</sub>, d<sub>2</sub>'' | ||
+ | | eight planes | ||
+ | | Infinite octagonal prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), half-widths ''d<sub>1</sub>'' and ''d<sub>2</sub>''. If the last value is omitted: ''d = d<sub>1</sub> = d<sub>2</sub>'' | ||
+ | |- | ||
+ | | <tt>dode</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d<sub>1</sub>, d<sub>2</sub>'' | ||
+ | | twelve planes | ||
+ | | Infinite dodecagonal prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), half-widths ''d<sub>1</sub>'' and ''d<sub>2</sub>''. If the last value is omitted: ''d = d<sub>1</sub> = d<sub>2</sub>'' | ||
+ | |} | ||
+ | |||
+ | <gallery mode="nolines" widths=320px heights=320px> | ||
+ | Image:hexxc1.png|'''X-type hexagonal prism''' (hexxc) | ||
+ | Image:hexyc1.png|'''Y-type hexagonal prism''' (hexyc) | ||
+ | Image:octa1.png|'''Octagonal prism''' (octa) | ||
+ | Image:dode1.png|'''Dodecagonal prism''' (dode) | ||
+ | </gallery> | ||
+ | |||
+ | === 3D polyhedra === | ||
+ | <u>Notes:</u> | ||
+ | |||
+ | *The description of parallelepiped may be wrong. | ||
+ | |||
+ | {|class="wikitable" style="text-align: left;" | ||
+ | ! Surface name | ||
+ | ! Parameters | ||
+ | ! Composed of | ||
+ | ! Description | ||
+ | |- | ||
+ | | <tt>cube</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, d'' | ||
+ | | six planes | ||
+ | | Cube, centred at (''x<sub>0</sub>,y<sub>0</sub>,z<sub>0</sub>''), half-width ''d'' | ||
+ | |- | ||
+ | | <tt>cuboid</tt> | ||
+ | | ''x<sub>0</sub>, x<sub>1</sub>, y<sub>0</sub>, y<sub>1</sub>, z<sub>0</sub>, z<sub>1</sub>'' | ||
+ | | six planes | ||
+ | | Cuboid, between [''x<sub>0</sub>, x<sub>1</sub>''], [''y<sub>0</sub>, y<sub>1</sub>''] and [''z<sub>0</sub>, z<sub>1</sub>''] | ||
+ | |- | ||
+ | | <tt>ppd</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, L<sub>x</sub>, L<sub>y</sub>, L<sub>z</sub>, α<sub>x</sub>, α<sub>y</sub>, α<sub>z</sub>'' | ||
+ | | six planes | ||
+ | | Parallelepiped, with corner at ''(x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>)'' and edges of length ''L<sub>x</sub>, L<sub>y</sub> and L<sub>z</sub>'' at angles ''α<sub>x</sub>, α<sub>y</sub>'' and ''α<sub>z</sub>'' (in degrees) with respect to the coordinate axes | ||
+ | |} | ||
+ | |||
+ | === Other derived surface types === | ||
+ | |||
+ | {|class="wikitable" style="text-align: left;" | ||
+ | ! Surface name | ||
+ | ! Parameters | ||
+ | ! Description | ||
+ | |- | ||
+ | | <tt>pad</tt> | ||
+ | | style="white-space: nowrap;"| ''x<sub>0</sub>, y<sub>0</sub>, r<sub>1</sub>, r<sub>2</sub>, α<sub>1</sub>, α<sub>2</sub>'' | ||
+ | | Sector from ''α<sub>1</sub>'' to ''α<sub>2</sub>'' (in degrees) of a cylinder parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), between radii ''r<sub>1</sub>'' and ''r<sub>2</sub>'' | ||
+ | |- | ||
+ | | <tt>cross</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, l, d'' | ||
+ | | Cruciform prism parallel to z-axis, centered at (''x<sub>0</sub>,y<sub>0</sub>''), half-width ''l'', half-thickness ''d'' | ||
+ | |- | ||
+ | | <tt>gcross</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, d<sub>1</sub>, d<sub>2</sub>, ...'' | ||
+ | | Prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), formed by planes at distances ''d<sub>n</sub>'' from the center ("generalized cruciform prism", see figure below) | ||
+ | |- | ||
+ | | <tt>hexxap</tt> | ||
+ | | style="white-space: nowrap;" | ''x<sub>0</sub>, y<sub>0</sub>, wd, dw, a'' | ||
+ | | Surface for simplified modeling of hexagonal fuel assembly angle pieces. Consists of two infinite hexagonal prisms parallel to z-axis, centered at (''x<sub>0</sub>, y<sub>0</sub>''), flat surfaces perpendicular to x-axis, with the outer hexagon having outer half-width of ''wd'', and the surface perpendicular thickness is ''dw'' (the inner hexagon half width is ''wd - dw''), and each half-section of each angle piece with width of ''a'', measured from the tip of the angle piece angle to the flat surface of the angle piece. | ||
+ | |- | ||
+ | | <tt>hexyap</tt> | ||
+ | | style="white-space: nowrap;" | ''x<sub>0</sub>, y<sub>0</sub>, wd, dw, a'' | ||
+ | | Surface for simplified modeling of hexagonal fuel assembly angle pieces. Consists of two infinite hexagonal prisms parallel to z-axis, centered at (''x<sub>0</sub>, y<sub>0</sub>''), flat surfaces perpendicular to y-axis, with the outer hexagon having outer half-width of ''wd'', and the surface perpendicular thickness is ''dw'' (the inner hexagon half width is ''wd - dw''), and each half-section of each angle piece with width of ''a'', measured from the tip of the angle piece angle to the flat surface of the angle piece. | ||
+ | |- | ||
+ | | <tt>involute</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, r<sub>0</sub>, θ<sub>1</sub>, θ<sub>2</sub>, r<sub>1</sub>, r<sub>2</sub>'' | ||
+ | | Involute parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), involute radius ''r<sub>0</sub>'', and involute starting angle ''θ<sub>0</sub>'' (defined by ''θ<sub>1</sub>'' and ''θ<sub>2</sub>'', first and second involute angles, respectively, in radians), and, limited by an inner and an outer cylinder with radii ''r<sub>1</sub>'' and ''r<sub>2</sub>'', respectively.<ref name="TUM_involutes">Reiter, C. ''"Implementation of involutes in Serpent."'' 10th International Serpent User Group Meeting, Garching, Germany, October 27-30, 2020.[http://montecarlo.vtt.fi/mtg/2020_Munich/Reiter1.pdf UGM 2020]</ref> | ||
+ | |- | ||
+ | | <tt>vessel</tt> | ||
+ | | ''x<sub>0</sub>, y<sub>0</sub>, r, z<sub>1</sub>, z<sub>2</sub>, h<sub>1</sub>, h<sub>2</sub>'' | ||
+ | | Vessel-like surface based on a infinite cylinder parallel to z-axis centred at (''x<sub>0</sub>, y<sub>0</sub>''), radius ''r'', truncated between [''z<sub>1</sub>,z<sub>2</sub>''], and two semi-ellipsoids: [bottom] centred at (''x<sub>0</sub>,y<sub>0</sub>,z<sub>1</sub>''), with semi-axes ''r, r, h<sub>1</sub>'', truncated at ''z<sub>1</sub>''; [top] centred at (''x<sub>0</sub>,y<sub>0</sub>,z<sub>2</sub>''), with semi-axes ''r, r, h<sub>2</sub>'', truncated at ''z<sub>2</sub>''. If the last value is omitted: ''h = h<sub>1</sub> = h<sub>2</sub>'' | ||
+ | |} | ||
+ | |||
+ | <gallery mode="nolines" widths=320px heights=320px> | ||
+ | Image:pad1.png|'''Cylinder sector''' (pad) | ||
+ | Image:cross1.png|'''Cruciform prism''' (cross) | ||
+ | Image:gcross1.png|'''Generalized cruciform prism''' (gcross) | ||
+ | </gallery> | ||
+ | |||
+ | === Rounded corners === | ||
+ | |||
+ | Infinite prisms: | ||
+ | *<tt>sqc</tt> | ||
+ | *<tt>hexxc</tt> | ||
+ | *<tt>hexyc</tt> | ||
+ | *<tt>cross</tt> | ||
+ | |||
+ | Allow defining rounded corners. The radius is then provided as the last surface parameter (''s'' in figure below): | ||
+ | <gallery mode="nolines" widths=320px heights=320px> | ||
+ | Image:sqc1.png|'''Square prism with rounded corners''' | ||
+ | </gallery> | ||
+ | |||
+ | == MCNP-equivalent surfaces == | ||
+ | |||
+ | <u>Notes:</u> | ||
+ | |||
+ | *Additional surfaces included to simplify input conversion between Serpent and MCNP. | ||
+ | *For description, see Chapter 5, Section 5.3 of the MCNP6.3 User Manual.<ref>Kulesza, J. A. (ed.), ''“MCNP code version 6.3.0 Theory & User Manual,”'' LA-UR-22-30006, Rev. 1, Los Alamos National Laboratory [https://mcnp.lanl.gov/pdf_files/TechReport_2022_LANL_LA-UR-22-30006Rev.1_KuleszaAdamsEtAl.pdf (2022)].</ref> | ||
+ | |||
+ | {|class="wikitable" style="text-align: left;" | ||
+ | ! Surface name | ||
+ | ! Equivalent surface in MCNP | ||
+ | |- | ||
+ | | <tt>box</tt> | ||
+ | | <tt>BOX</tt> | ||
+ | |- | ||
+ | | <tt>ckx</tt> | ||
+ | | <tt>K/X</tt> | ||
+ | |- | ||
+ | | <tt>cky</tt> | ||
+ | | <tt>K/Y</tt> | ||
+ | |- | ||
+ | | <tt>ckz</tt> | ||
+ | | <tt>K/Z</tt> | ||
+ | |- | ||
+ | | <tt>mplane</tt> | ||
+ | | <tt>P</tt> (form defined by three points) | ||
+ | |- | ||
+ | | <tt>rcc</tt> | ||
+ | | <tt>RCC</tt> | ||
+ | |- | ||
+ | | <tt>x</tt> | ||
+ | | <tt>X</tt> | ||
+ | |- | ||
+ | | <tt>y</tt> | ||
+ | | <tt>Y</tt> | ||
+ | |- | ||
+ | | <tt>z</tt> | ||
+ | | <tt>Z</tt> | ||
+ | |} | ||
+ | |||
+ | == User-defined surfaces == | ||
+ | |||
+ | <u>Notes:</u> | ||
+ | |||
+ | *Remember to make a backup of your subroutine before installing new updates. | ||
+ | *If you have a working surface routine that might be useful for other users as well, contact the Serpent team and we'll include it in the next update as a built-in type. | ||
+ | |||
+ | {|class="wikitable" style="text-align: left;" | ||
+ | ! Surface name | ||
+ | ! Parameters | ||
+ | ! Description | ||
+ | |- | ||
+ | | <tt>usr</tt> | ||
+ | |''p<sub>1</sub>, p<sub>2</sub>, ...'' | ||
+ | | User-defined surface, implemented in source file "usersurf.c". The subroutine receives the number and list of surface parameters as input. Instructions are included as comments in the source file. | ||
+ | |} | ||
+ | |||
+ | == References == | ||
+ | |||
+ | <references/> | ||
+ | |||
+ | [[Category:Input]] | ||
+ | [[Category:Theory]] |
Latest revision as of 21:56, 25 May 2023
Contents
Elementary surfaces
Notes:
- Elementary surfaces refer here to surfaces that can be represented by a single equation.
Planes
Notes:
- Parametric form of the general plane is assumed if four values are provided in the surface card. With six values the plane is assumed to be defined by three points.
- The positive side for a plane defined by three points is determined by the order in which the points are entered (see the right-hand rule).
Surface name | Parameters | Surface equation | Description |
---|---|---|---|
px | x0 | ![]() |
Plane perpendicular to x-axis at x = x0 |
py | y0 | ![]() |
Plane perpendicular to y-axis at y = y0 |
pz | z0 | ![]() |
Plane perpendicular to z-axis at z = z0 |
plane | A, B, C, D | ![]() |
General plane in parametric form |
plane | x1, y1, z1, x2, y2, z2, x3, y3, z3 | General plane defined by three points |
Second-order quadratic surfaces
Notes:
- cyl is the same surface as cylz
- Infinite cylinders use the same names as the truncated cylinders.
- With three values provided in the surface card for cylx, cyly, cylz or cyl the surface is an infinite cylinder. With five values the surface is an truncated cylinder.
Surface name | Parameters | Surface equation | Description |
---|---|---|---|
cylx | y0, z0, r | ![]() |
Infinite cylinder parallel to x-axis, centred at (y0,z0), radius r |
cyly | x0, z0, r | ![]() |
Infinite cylinder parallel to y-axis, centred at (x0,z0), radius r |
cylz, cyl | x0, y0, r | ![]() |
Infinite cylinder parallel to z-axis, centred at (x0,y0), radius r |
cylv | x0, y0, z0, u0, v0, w0, r | ![]() |
Infinite cylinder, parallel to (u0,v0,w0), centred at (x0,y0,z0), radius r |
sph | x0, y0, z0, r | ![]() |
Sphere, centred at (x0,y0,z0), radius r |
cone | x0, y0, z0, r, h | ![]() |
Half cone parallel to z-axis, base at (x0,y0,z0), base radius r, height h (distance from base to vertex) |
quadratic | A, B, C, D, E, F, G, H, I, J | ![]() |
General quadratic surface in parametric form |
Non-quadratic surfaces
Notes:
- Serpent can handle circular and elliptical torii. Radii r1 and r2 must be set equal (denoted in the surface equations as r) to describe a circular torus surface.
Surface name | Parameters | Surface equation | Description | Notes |
---|---|---|---|---|
inf | - | ![]() |
All space | Can not be used in root universe |
torx | x0, y0, z0, R, r, r | ![]() |
Circular torus with major radius R perpendicular to x-axis (revolving radius), centred at (x0, y0, z0), minor radius r (inner radius). | |
x0, y0, z0, R, r1, r2 | ![]() |
Elliptic torus with major radius R perpendicular to x-axis (revolving radius) centred at (x0, y0, z0), vertical (x-)semi-axis r1 and horizontal (y-/z-)semi-axis r2. | ||
tory | x0, y0, z0, R, r, r | ![]() |
Circular torus with major radius R perpendicular to y-axis (revolving radius), centred at (x0, y0, z0), minor radius r (inner radius). | |
x0, y0, z0, R, r1, r2 | ![]() |
Elliptic torus with major radius R perpendicular to y-axis (revolving radius) centred at (x0, y0, z0), vertical (y-)semi-axis r1 and horizontal (x-/z-)semi-axis r2. | ||
torz | x0, y0, z0, R, r, r | ![]() |
Circular torus with major radius R perpendicular to z-axis (revolving radius), centred at (x0, y0, z0), minor radius r (inner radius). | |
x0, y0, z0, R, r1, r2 | ![]() |
Elliptic torus with major radius R perpendicular to z-axis (revolving radius) centred at (x0, y0, z0), vertical (z-)semi-axis r1 and horizontal (x-/y-)semi-axis r2. |
Derived surface types
Notes:
- Derived surfaces refer here to surfaces composed of two or more elementary types.
Truncated cylinders
Notes:
- Truncated cylinders use the same names as the infinite cylinders.
- With five values provided in the surface card for cylx, cyly, cylz or cyl the surface is an truncated cylinder. With three values the surface is an infinite cylinder.
Surface name | Parameters | Composed of | Description |
---|---|---|---|
cylx | y0, z0, r, x0, x1 | Infinite cylinder + two planes | Infinite cylinder parallel to x-axis, centred at (y0,z0), radius r, truncated between [x0, x1] |
cyly | x0, z0, r, y0, y1 | Infinite cylinder + two planes | Infinite cylinder parallel to y-axis, centred at (x0,z0), radius r, truncated between [y0, y1] |
cylz, cyl | x0, y0, r, z0, z1 | Infinite cylinder + two planes | Infinite cylinder parallel to z-axis, centred at (x0,y0), radius r, truncated between [z0, z1] |
Regular prisms
Notes:
- All prisms are parallel to z-axis, and they can be rotated using surface transformations.
- Infinite and truncated triangular prisms use the same name, and are composed by three or five planes, respectively. Infinite prism is assumed if three/four values are provided in the surface card tric. With six values the surface is assumed to be a truncated (equilateral) triangular prism.
- Triangular prisms orientation, ori, corresponds to the cardinal direction of the non-aligned vertex of the triangle. Default orientation is North. It follows the scheme: W-S-E-N (W=1, S=2, E=3, N=4).
Surface name | Parameters | Composed of | Description |
---|---|---|---|
tric | x0, y0, d, ori | three planes | Infinite (equilateral) triangular prism parallel to z-axis, centred at (x0,y0), half-width d, orientation ori (optional) |
x0, y0, d, ori, z0, z1 | five planes | Truncated (equilateral) triangular prism parallel to z-axis, centred at (x0,y0), half-width d, orientation ori, truncated between [z0, z1] | |
sqc | x0, y0, d | four planes | Infinite square prism parallel to z-axis, centred at (x0,y0), half-width d |
rect | x0, x1, y0, y1 | four planes | Infinite rectangular prism parallel to z-axis, between [x0, x1] and [y0, y1] |
hexxc | x0, y0, d | six planes | Infinite hexagonal prism parallel to z-axis, centred at (x0,y0), flat surface perpendicular to x-axis, half-width d |
hexyc | x0, y0, d | six planes | Infinite hexagonal prism parallel to z-axis, centred at (x0,y0), flat surface perpendicular to y-axis, half-width d |
hexxprism | x0, y0, d, z0, z1 | eight planes | Truncated hexagonal prism parallel to z-axis, centred at (x0,y0), flat surface perpendicular to x-axis, half-width d, truncated between [z0, z1] |
hexyprism | x0, y0, d, z0, z1 | eight planes | Truncated hexagonal prism parallel to z-axis, centred at (x0,y0), flat surface perpendicular to y-axis, half-width d, truncated between [z0, z1] |
octa | x0, y0, d1, d2 | eight planes | Infinite octagonal prism parallel to z-axis, centred at (x0,y0), half-widths d1 and d2. If the last value is omitted: d = d1 = d2 |
dode | x0, y0, d1, d2 | twelve planes | Infinite dodecagonal prism parallel to z-axis, centred at (x0,y0), half-widths d1 and d2. If the last value is omitted: d = d1 = d2 |
3D polyhedra
Notes:
- The description of parallelepiped may be wrong.
Surface name | Parameters | Composed of | Description |
---|---|---|---|
cube | x0, y0, z0, d | six planes | Cube, centred at (x0,y0,z0), half-width d |
cuboid | x0, x1, y0, y1, z0, z1 | six planes | Cuboid, between [x0, x1], [y0, y1] and [z0, z1] |
ppd | x0, y0, z0, Lx, Ly, Lz, αx, αy, αz | six planes | Parallelepiped, with corner at (x0, y0, z0) and edges of length Lx, Ly and Lz at angles αx, αy and αz (in degrees) with respect to the coordinate axes |
Other derived surface types
Surface name | Parameters | Description |
---|---|---|
pad | x0, y0, r1, r2, α1, α2 | Sector from α1 to α2 (in degrees) of a cylinder parallel to z-axis, centred at (x0,y0), between radii r1 and r2 |
cross | x0, y0, l, d | Cruciform prism parallel to z-axis, centered at (x0,y0), half-width l, half-thickness d |
gcross | x0, y0, d1, d2, ... | Prism parallel to z-axis, centred at (x0,y0), formed by planes at distances dn from the center ("generalized cruciform prism", see figure below) |
hexxap | x0, y0, wd, dw, a | Surface for simplified modeling of hexagonal fuel assembly angle pieces. Consists of two infinite hexagonal prisms parallel to z-axis, centered at (x0, y0), flat surfaces perpendicular to x-axis, with the outer hexagon having outer half-width of wd, and the surface perpendicular thickness is dw (the inner hexagon half width is wd - dw), and each half-section of each angle piece with width of a, measured from the tip of the angle piece angle to the flat surface of the angle piece. |
hexyap | x0, y0, wd, dw, a | Surface for simplified modeling of hexagonal fuel assembly angle pieces. Consists of two infinite hexagonal prisms parallel to z-axis, centered at (x0, y0), flat surfaces perpendicular to y-axis, with the outer hexagon having outer half-width of wd, and the surface perpendicular thickness is dw (the inner hexagon half width is wd - dw), and each half-section of each angle piece with width of a, measured from the tip of the angle piece angle to the flat surface of the angle piece. |
involute | x0, y0, r0, θ1, θ2, r1, r2 | Involute parallel to z-axis, centred at (x0,y0), involute radius r0, and involute starting angle θ0 (defined by θ1 and θ2, first and second involute angles, respectively, in radians), and, limited by an inner and an outer cylinder with radii r1 and r2, respectively.[1] |
vessel | x0, y0, r, z1, z2, h1, h2 | Vessel-like surface based on a infinite cylinder parallel to z-axis centred at (x0, y0), radius r, truncated between [z1,z2], and two semi-ellipsoids: [bottom] centred at (x0,y0,z1), with semi-axes r, r, h1, truncated at z1; [top] centred at (x0,y0,z2), with semi-axes r, r, h2, truncated at z2. If the last value is omitted: h = h1 = h2 |
Rounded corners
Infinite prisms:
- sqc
- hexxc
- hexyc
- cross
Allow defining rounded corners. The radius is then provided as the last surface parameter (s in figure below):
MCNP-equivalent surfaces
Notes:
- Additional surfaces included to simplify input conversion between Serpent and MCNP.
- For description, see Chapter 5, Section 5.3 of the MCNP6.3 User Manual.[2]
Surface name | Equivalent surface in MCNP |
---|---|
box | BOX |
ckx | K/X |
cky | K/Y |
ckz | K/Z |
mplane | P (form defined by three points) |
rcc | RCC |
x | X |
y | Y |
z | Z |
User-defined surfaces
Notes:
- Remember to make a backup of your subroutine before installing new updates.
- If you have a working surface routine that might be useful for other users as well, contact the Serpent team and we'll include it in the next update as a built-in type.
Surface name | Parameters | Description |
---|---|---|
usr | p1, p2, ... | User-defined surface, implemented in source file "usersurf.c". The subroutine receives the number and list of surface parameters as input. Instructions are included as comments in the source file. |