Difference between revisions of "Surface types"
From Serpent Wiki
Ana Jambrina (Talk | contribs) m (→Truncated cylinders) |
Ana Jambrina (Talk | contribs) (→Other derived surface types) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 50: | Line 50: | ||
*<tt>cyl</tt> is the same surface as <tt>cylz</tt> | *<tt>cyl</tt> is the same surface as <tt>cylz</tt> | ||
− | *Infinite | + | *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;" | {|class="wikitable" style="text-align: left;" | ||
Line 85: | Line 86: | ||
| <tt>cone</tt> | | <tt>cone</tt> | ||
| ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, r, h'' | | ''x<sub>0</sub>, y<sub>0</sub>, z<sub>0</sub>, r, h'' | ||
− | | <math>(x - x_0)^2 + (y - y_0)^2 - \left(1 - (z - z_0)/h\right)r^2</math> | + | | <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) | | 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) | ||
|- | |- | ||
Line 159: | Line 160: | ||
<u>Notes:</u> | <u>Notes:</u> | ||
− | *Truncated cylinders use the same names as the infinite cylinders | + | *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;" | {|class="wikitable" style="text-align: left;" | ||
Line 205: | Line 206: | ||
|''x<sub>0</sub>, y<sub>0</sub>, r, ori, z<sub>0</sub>, z<sub>1</sub>'' | |''x<sub>0</sub>, y<sub>0</sub>, r, ori, z<sub>0</sub>, z<sub>1</sub>'' | ||
|five planes | |five planes | ||
− | |Truncated (equilateral) triangular prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), incircle radius ''r'', orientation ''ori'', truncated between [z<sub>0</sub>, z<sub>1</sub>] | + | |Truncated (equilateral) triangular prism parallel to z-axis, centred at (''x<sub>0</sub>,y<sub>0</sub>''), incircle radius ''r'', orientation ''ori'', truncated between [''z<sub>0</sub>, z<sub>1</sub>''] |
|- | |- | ||
| <tt>sqc</tt> | | <tt>sqc</tt> | ||
Line 230: | Line 231: | ||
| ''x<sub>0</sub>, y<sub>0</sub>, d, z<sub>0</sub>, z<sub>1</sub>'' | | ''x<sub>0</sub>, y<sub>0</sub>, d, z<sub>0</sub>, z<sub>1</sub>'' | ||
| eight planes | | 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>] | + | | 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> | | <tt>hexyprism</tt> | ||
| ''x<sub>0</sub>, y<sub>0</sub>, d, z<sub>0</sub>, z<sub>1</sub>'' | | ''x<sub>0</sub>, y<sub>0</sub>, d, z<sub>0</sub>, z<sub>1</sub>'' | ||
| eight planes | | 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>] | + | | 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> | | <tt>octa</tt> | ||
Line 277: | Line 278: | ||
|- | |- | ||
| <tt>ppd</tt> | | <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>, | + | | ''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 | | 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 '' | + | | 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 |
|} | |} | ||
Line 290: | Line 291: | ||
|- | |- | ||
| <tt>pad</tt> | | <tt>pad</tt> | ||
− | | style="white-space: nowrap;"| ''x<sub>0</sub>, y<sub>0</sub>, r<sub>1</sub>, r<sub>2</sub>, | + | | 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 '' | + | | 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> | | <tt>cross</tt> | ||
Line 303: | Line 304: | ||
| <tt>hexxap</tt> | | <tt>hexxap</tt> | ||
| style="white-space: nowrap;" | ''x<sub>0</sub>, y<sub>0</sub>, wd, dw, a'' | | 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 ( | + | | 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> | | <tt>hexyap</tt> | ||
| style="white-space: nowrap;" | ''x<sub>0</sub>, y<sub>0</sub>, wd, dw, a'' | | 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 ( | + | | 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 radii ''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), 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>''), radii ''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>. | ||
|} | |} | ||
Latest revision as of 17:03, 9 May 2022
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 | x_{0} | Plane perpendicular to x-axis at x = x_{0} | |
py | y_{0} | Plane perpendicular to y-axis at y = y_{0} | |
pz | z_{0} | Plane perpendicular to z-axis at z = z_{0} | |
plane | A, B, C, D | General plane in parametric form | |
plane | x_{1}, y_{1}, z_{1}, x_{2}, y_{2}, z_{2}, x_{3}, y_{3}, z_{3} | 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 | y_{0}, z_{0}, r | Infinite cylinder parallel to x-axis, centred at (y_{0},z_{0}), radius r | |
cyly | x_{0}, z_{0}, r | Infinite cylinder parallel to y-axis, centred at (x_{0},z_{0}), radius r | |
cylz, cyl | x_{0}, y_{0}, r | Infinite cylinder parallel to z-axis, centred at (x_{0},y_{0}), radius r | |
cylv | x_{0}, y_{0}, z_{0}, u_{0}, v_{0}, w_{0}, r | Infinite cylinder, parallel to (u_{0},v_{0},w_{0}), centred at (x_{0},y_{0},z_{0}), radius r | |
sph | x_{0}, y_{0}, z_{0}, r | Sphere, centred at (x_{0},y_{0},z_{0}), radius r | |
cone | x_{0}, y_{0}, z_{0}, r, h | Half cone parallel to z-axis, base at (x_{0},y_{0},z_{0}), 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 r_{1} and r_{2} 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 | x_{0}, y_{0}, z_{0}, R, r, r | Circular torus with major radius R perpendicular to x-axis (revolving radius), centred at (x_{0}, y_{0}, z_{0}), minor radius r (inner radius). | ||
x_{0}, y_{0}, z_{0}, R, r_{1}, r_{2} | Elliptic torus with major radius R perpendicular to x-axis (revolving radius) centred at (x_{0}, y_{0}, z_{0}), vertical (x-)semi-axis r_{1} and horizontal (y-/z-)semi-axis r_{2}. | |||
tory | x_{0}, y_{0}, z_{0}, R, r, r | Circular torus with major radius R perpendicular to y-axis (revolving radius), centred at (x_{0}, y_{0}, z_{0}), minor radius r (inner radius). | ||
x_{0}, y_{0}, z_{0}, R, r_{1}, r_{2} | Elliptic torus with major radius R perpendicular to y-axis (revolving radius) centred at (x_{0}, y_{0}, z_{0}), vertical (y-)semi-axis r_{1} and horizontal (x-/z-)semi-axis r_{2}. | |||
torz | x_{0}, y_{0}, z_{0}, R, r, r | Circular torus with major radius R perpendicular to z-axis (revolving radius), centred at (x_{0}, y_{0}, z_{0}), minor radius r (inner radius). | ||
x_{0}, y_{0}, z_{0}, R, r_{1}, r_{2} | Elliptic torus with major radius R perpendicular to z-axis (revolving radius) centred at (x_{0}, y_{0}, z_{0}), vertical (z-)semi-axis r_{1} and horizontal (x-/y-)semi-axis r_{2}. |
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 | y_{0}, z_{0}, r, x_{0}, x_{1} | Infinite cylinder + two planes | Infinite cylinder parallel to x-axis, centred at (y_{0},z_{0}), radius r, truncated between [x_{0}, x_{1}] |
cyly | x_{0}, z_{0}, r, y_{0}, y_{1} | Infinite cylinder + two planes | Infinite cylinder parallel to y-axis, centred at (x_{0},z_{0}), radius r, truncated between [y_{0}, y_{1}] |
cylz, cyl | x_{0}, y_{0}, r, z_{0}, z_{1} | Infinite cylinder + two planes | Infinite cylinder parallel to z-axis, centred at (x_{0},y_{0}), radius r, truncated between [z_{0}, z_{1}] |
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 | x_{0}, y_{0}, r, ori | three planes | Infinite (equilateral) triangular prism parallel to z-axis, centred at (x_{0},y_{0}), incircle radius r, orientation ori (optional) |
x_{0}, y_{0}, r, ori, z_{0}, z_{1} | five planes | Truncated (equilateral) triangular prism parallel to z-axis, centred at (x_{0},y_{0}), incircle radius r, orientation ori, truncated between [z_{0}, z_{1}] | |
sqc | x_{0}, y_{0}, d | four planes | Infinite square prism parallel to z-axis, centred at (x_{0},y_{0}), half-width d |
rect | x_{0}, x_{1}, y_{0}, y_{1} | four planes | Infinite rectangular prism parallel to z-axis, between [x_{0}, x_{1}] and [y_{0}, y_{1}] |
hexxc | x_{0}, y_{0}, d | six planes | Infinite hexagonal prism parallel to z-axis, centred at (x_{0},y_{0}), flat surface perpendicular to x-axis, half-width d |
hexyc | x_{0}, y_{0}, d | six planes | Infinite hexagonal prism parallel to z-axis, centred at (x_{0},y_{0}), flat surface perpendicular to y-axis, half-width d |
hexxprism | x_{0}, y_{0}, d, z_{0}, z_{1} | eight planes | Truncated hexagonal prism parallel to z-axis, centred at (x_{0},y_{0}), flat surface perpendicular to x-axis, half-width d, truncated between [z_{0}, z_{1}] |
hexyprism | x_{0}, y_{0}, d, z_{0}, z_{1} | eight planes | Truncated hexagonal prism parallel to z-axis, centred at (x_{0},y_{0}), flat surface perpendicular to y-axis, half-width d, truncated between [z_{0}, z_{1}] |
octa | x_{0}, y_{0}, d_{1}, d_{2} | eight planes | Infinite octagonal prism parallel to z-axis, centred at (x_{0},y_{0}), half-widths d_{1} and d_{2} |
dode | x_{0}, y_{0}, d_{1}, d_{2} | twelve planes | Infinite dodecagonal prism parallel to z-axis, centred at (x_{0},y_{0}), half-widths d_{1} and d_{2} |
3D polyhedra
Notes:
- The description of parallelepiped may be wrong.
Surface name | Parameters | Composed of | Description |
---|---|---|---|
cube | x_{0}, y_{0}, z_{0}, d | six planes | Cube, centred at (x_{0},y_{0},z_{0}), half-width d |
cuboid | x_{0}, x_{1}, y_{0}, y_{1}, z_{0}, z_{1} | six planes | Cuboid, between [x_{0}, x_{1}], [y_{0}, y_{1}] and [z_{0}, z_{1}] |
ppd | x_{0}, y_{0}, z_{0}, L_{x}, L_{y}, L_{z}, α_{x}, α_{y}, α_{z} | six planes | Parallelepiped, with corner at (x_{0}, y_{0}, z_{0}) and edges of length L_{x}, L_{y} and L_{z} at angles α_{x}, α_{y} and α_{z} (in degrees) with respect to the coordinate axes |
Other derived surface types
Surface name | Parameters | Description |
---|---|---|
pad | x_{0}, y_{0}, r_{1}, r_{2}, α_{1}, α_{2} | Sector from α_{1} to α_{2} (in degrees) of a cylinder parallel to z-axis, centred at (x_{0},y_{0}), between radii r_{1} and r_{2} |
cross | x_{0}, y_{0}, l, d | Cruciform prism parallel to z-axis, centered at (x_{0},y_{0}), half-width l, half-thickness d |
gcross | x_{0}, y_{0}, d_{1}, d_{2}, ... | Prism parallel to z-axis, centred at (x_{0},y_{0}), formed by planes at distances d_{n} from the center ("generalized cruciform prism", see figure below) |
hexxap | x_{0}, y_{0}, 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_{0}, y_{0}), 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 | x_{0}, y_{0}, 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_{0}, y_{0}), 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 | x_{0}, y_{0}, r_{0}, θ_{1}, θ_{2}, r_{1}, r_{2} | Involute parallel to z-axis, centred at (x_{0},y_{0}), involute radii r_{0}, and involute starting angle θ_{0} (defined by θ_{1} and θ_{2}, first and second involute angles, respectively), and, limited by an inner and an outer cylinder with radii r_{1} and r_{2}, respectively.^{[1]} |
vessel | x_{0}, y_{0}, r, z_{1}, z_{2}, h_{1}, h_{2} | Vessel-like surface based on a infinite cylinder parallel to z-axis centred at (x_{0}, y_{0}), radii r, truncated between [z_{1},z_{2}], and two semi-ellipsoids: [bottom] centred at (x_{0},y_{0},z_{1}), with semi-axes r, r, h_{1}, truncated at z_{1}; [top] centred at (x_{0},y_{0},z_{2}), with semi-axes r, r, h_{2}, truncated at z_{2}. If the last value is omitted: h = h_{1} = h_{2}. |
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 3 of the MCNP5 User's Guide.^{[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 | p_{1}, p_{2}, ... | 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
- ^ Reiter, C. "Implementation of involutes in Serpent." 10th International Serpent User Group Meeting, Garching, Germany, October 27-30, 2020.UGM 2020
- ^ X-5 Monte Carlo Team. "MCNP — A General Monte Carlo N-Particle Transport Code, Version 5, Volume II: User’s Guide." LA-CP-03-0245, Los Alamos National Laboratory, 2003.