# Question: ur\_opposite\_water\_cell in OpenMC 0.14.0 BWR Tutorial is an Empty Set

**URL:** <https://openmc.discourse.group/t/question-ur-opposite-water-cell-in-openmc-0-14-0-bwr-tutorial-is-an-empty-set/6204>\
**Category:** User Support\
**Created:** [January 30, 2026, 12:26am UTC](https://openmc.discourse.group/t/question-ur-opposite-water-cell-in-openmc-0-14-0-bwr-tutorial-is-an-empty-set/6204 "2026-01-30T00:26:23Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mcmx](https://avatars.discourse-cdn.com/v4/letter/m/71e660/32.png) [@mcmx](https://openmc.discourse.group/u/mcmx)\
**Post date:** [January 30, 2026, 12:26am UTC](https://openmc.discourse.group/t/question-ur-opposite-water-cell-in-openmc-0-14-0-bwr-tutorial-is-an-empty-set/6204/1 "2026-01-30T00:26:24Z")

</div>

Hi everyone,

I’m working through the OpenMC 0.14.0 BWR pin cell modeling tutorial and noticed an issue with the ur\_opposite\_water\_cell definition: this cell never appears in my geometry plots, even when my plotting code is configured correctly. After a detailed geometric analysis, I suspect the cell’s region is actually an empty set, and I’d like to verify this with the community.

* * *

### My Analysis & Calculations

All values are strictly extracted from the tutorial’s code, with no additional assumptions.

#### 1. Key Parameters Extracted from Tutorial Code

Parameter: pitch (RectangularPrism width/height) → Quantified Value (cm): 1.6256

Parameter: margin (Geometric tolerance) → Quantified Value (cm): 1e-8 (≈0)

Parameter: sleave\_inner\_radius (0.9652 + margin) → Quantified Value (cm): ≈0.9652

Parameter: sleave\_hor\_bound (XPlane, x0 = pitch/2 - sleave\_inner\_radius - margin) → Quantified Value (cm): -0.1524

Parameter: sleave\_ver\_bound (YPlane, y0 = pitch/2 - sleave\_inner\_radius + margin) → Quantified Value (cm): -0.1524

Parameter: pin\_cell\_box (-RectangularPrism(width=pitch, height=pitch)) → Quantified Value (cm): x ∈ [-0.8128, 0.8128], y ∈ [-0.8128, 0.8128]

#### 2. Region Definition of ur\_opposite\_water\_cell

The tutorial defines the cell’s region as:

ur\_opposite\_water\_cell.region = pin\_cell\_box & -ur\_sleave\_hor\_bound & -ur\_sleave\_ver\_bound & +ur\_sleave\_ir

Translating to geometric conditions:

- pin\_cell\_box: x is between -0.8128 and 0.8128, and y is between -0.8128 and 0.8128

- -ur\_sleave\_hor\_bound: Negative side of XPlane → x \< -0.1524

- -ur\_sleave\_ver\_bound: Negative side of YPlane → y \< -0.1524

- +ur\_sleave\_ir: Positive side of ZCylinder → Distance from point to sleeve center (-0.1524, -0.1524) \> 0.9652

#### 3. Critical Intersection Check

To check if any point satisfies all conditions, I evaluated the farthest point in the x \< -0.1524 and y \< -0.1524 sub-region of pin\_cell\_box:

- Farthest point: (-0.8128, -0.8128) (bottom-left corner of pin\_cell\_box)

- Distance to sleeve center:

Since 0.9339 \< 0.9652 (sleeve inner radius), no point in this sub-region can satisfy the cylinder positive side condition.

* * *

### Conclusion

The four geometric conditions for ur\_opposite\_water\_cell have no overlapping points, so the cell’s region is an empty set. This explains why it never appears in plots—it is a geometric definition issue, not a bug in my plotting code.

### Request

Could other users or developers verify this analysis? Am I interpreting the region logic correctly, or is there a detail I missed in the tutorial’s setup?

Here is the relevant tutorial code snippet for reference:

ur\_opposite\_water\_cell = openmc.Cell(name=‘ur opposite water’)

ur\_opposite\_water\_cell.region = pin\_cell\_box & -ur\_sleave\_hor\_bound & -ur\_sleave\_ver\_bound & +ur\_sleave\_ir

ur\_opposite\_water\_cell.fill = water

And my plotting code:

ur\_corner\_plot = openmc.Plot()

ur\_corner\_plot.filename = ‘ur\_corner\_pin\_plot’

ur\_corner\_plot.width = (2, 2)

ur\_corner\_plot.pixels = (400, 400)

ur\_corner\_plot.color\_by = ‘cell’

ur\_corner\_plot.colors = {uo2: ‘orange’, water: ‘blue’, zircaloy: ‘grey’}

ur\_corner\_plot.universe = ur\_corner\_pin\_universe

ur\_corner\_plot.basis = ‘xy’

ur\_corner\_plot.origin = (3.5_pitch, 3.5_pitch, 0)

Thanks in advance for your help!

 ![ur_corner_pin_plot](https://global.discourse-cdn.com/free1/uploads/openmc/original/2X/7/7f08aca87d968cc4f8931ef813aedb7bbbfdd03b.png)
