Surface Cards in MCNP

Creating the geometric boundaries that define your model

The Role of Surfaces

Surface cards create the geometric boundaries that divide space into regions. Each surface acts like a mathematical fence, separating space into "inside" and "outside" regions. These regions become the building blocks for your cells, allowing you to create complex three-dimensional models from simple mathematical shapes.

Surface Format

mcnp
surface_number  type  parameters  $ comment

1  px   5.0    $ Plane at x = 5
2  cz   0.5    $ Cylinder on z-axis, radius 0.5
3  so   10.0   $ Sphere at origin, radius 10

Each surface begins with a unique number that you'll reference in your cell definitions. The surface type (px, cz, so) determines the mathematical shape, while parameters specify its size and position. Comments help document your geometric choices.

Essential Surface Types

Planes: The Basic Building Blocks

Planes are the workhorses of MCNP geometry. They can slice space, create boundaries, and form the faces of complex shapes. The three basic plane types (px, py, pz) create surfaces perpendicular to the coordinate axes, while the general plane (p) can create surfaces at any orientation.

mcnp
c Basic planes
1  px  5.0      $ Vertical plane at x = 5
2  py -2.0      $ Vertical plane at y = -2  
3  pz  0.0      $ Horizontal plane at z = 0
4  p   1 1 0 5  $ Diagonal plane: x + y = 5

Think of these planes as infinitely thin sheets cutting through space. The px plane at x=5 divides space into regions where x<5 (inside) and x>5 (outside). This inside/outside concept is fundamental to how you'll combine surfaces to create cells.

Cylinders: Perfect for Nuclear Applications

Cylindrical surfaces are essential in nuclear engineering because fuel pins, control rods, and coolant channels are typically cylindrical. MCNP provides several cylinder types to handle different orientations and positions.

mcnp
c Cylindrical surfaces
10  cz   0.5      $ Cylinder on z-axis, radius 0.5
11  cx   2.0      $ Cylinder on x-axis, radius 2.0
12  c/y  3 1 0.8  $ Cylinder parallel to y-axis at x=3,z=1

The cz surface creates an infinite cylinder centered on the z-axis, perfect for vertical fuel pins. The c/y variant creates a cylinder parallel to the y-axis but displaced to pass through the point (3,0,1). These displaced cylinders are useful for modeling off-center components.

Spheres: Modeling Sources and Detectors

Spherical surfaces excel at modeling point sources, spherical detectors, and problems with spherical symmetry. They're also useful for creating curved boundaries that approximate more complex shapes.

mcnp
c Spherical surfaces
20  so  5.0        $ Sphere at origin, radius 5
21  s   2 3 1 2.5  $ Sphere at (2,3,1), radius 2.5
22  sx  10.0  3.0  $ Sphere on x-axis at x=10, radius 3

The so surface centers a sphere at the origin, while the general s surface allows placement anywhere in space. The sx variant creates a sphere centered on the x-axis, which is convenient for problems with cylindrical symmetry where you need spherical boundaries at specific locations.

Building Real Geometries

Fuel Pin Assembly

Let's build a complete fuel pin with proper geometric boundaries. This example shows how surfaces work together to create a realistic nuclear component.

mcnp
c Fuel pin surfaces
1  cz  0.4096    $ Fuel pellet radius
2  cz  0.4180    $ Gap inner radius  
3  cz  0.4750    $ Cladding outer radius
4  cz  0.6350    $ Unit cell boundary
5  pz  0.0       $ Bottom of active fuel
6  pz  365.76    $ Top of active fuel
7  pz -10.0      $ Bottom reflector
8  pz  375.76    $ Top reflector

This surface set creates a realistic fuel pin with fuel pellets, gas gap, cladding, and reflector regions. The concentric cylinders define radial boundaries, while the horizontal planes create axial zones. Notice how the dimensions progress logically from smallest (fuel) to largest (unit cell boundary).

Shielding Configuration

For radiation protection problems, you often need rectangular boundaries with internal structures. Here's how to set up a typical shielding calculation.

mcnp
c Shielding problem surfaces
10  px  -100.0   $ Left boundary
11  px   100.0   $ Right boundary  
12  py  -100.0   $ Front boundary
13  py   100.0   $ Back boundary
14  pz   0.0     $ Ground level
15  pz   200.0   $ Top boundary
20  so   5.0     $ Source sphere
21  BOX  20 -30 0  40 0 0  0 60 0  0 0 150  $ Concrete shield

The six planes create a large rectangular boundary ensuring particles don't escape the problem. The spherical source provides a simple radiation emitter, while the BOX macrobody creates a concrete shield wall. This combination demonstrates how different surface types work together in practical problems.

Advanced Techniques

Using Macrobodies

Macrobodies combine multiple surfaces into predefined shapes, saving time and reducing errors. They're particularly useful for common geometric shapes that would otherwise require multiple surface definitions.

mcnp
c Macrobody examples
30  RCC  0 0 0  0 0 10  2.5    $ Right circular cylinder
31  HEX  0 0 0  0 0 20  3.0    $ Hexagonal prism
32  RPP  -5 5 -5 5 0 10        $ Rectangular parallelepiped

The RCC macrobody creates a finite cylinder with end caps, perfect for fuel pellets or control rods. HEX creates hexagonal prisms common in reactor lattices, while RPP forms rectangular boxes. These macrobodies automatically handle surface intersections and provide clean, unambiguous geometry definitions.

Practical Guidelines

Successful surface modeling requires systematic organization and careful attention to detail. Start by sketching your geometry on paper, identifying the key boundaries and dimensions. Group related surfaces using logical numbering schemes - for example, use 1-10 for fuel regions, 11-20 for structural components, and 21-30 for boundaries.

Always include descriptive comments that explain each surface's physical meaning. Comments like "fuel outer radius" or "containment wall" are much more helpful than just "cylinder" or "plane." This documentation becomes invaluable when debugging geometry errors or modifying your model later.

Use MCNP's plotting capabilities to verify your geometry before running calculations. The PLOT command can show cross-sections of your model, helping you catch errors in surface definitions or unintended gaps between regions. Remember that all dimensions are in centimeters and that surface intersections must be handled carefully to avoid ambiguous geometries.