Define a fuel region for IRT-4m FA

Hi Dear users and experts, I faced a problem during defining regions and materials for research reactor FA with 6 heterogeneous layers of fuel. I am attaching how does the FA look like:

I want to buil 6 layers of rectangular_prism.
Providing my code, what i tried:
(no problem here)
clad1_or1 = openmc.model.rectangular_prism(6.96, 6.96, corner_radius = 0.930)
clad1_ir1 = openmc.model.rectangular_prism(6.87, 6.87, corner_radius = 0.885)
fuel_or1 = openmc.model.rectangular_prism(6.87, 6.87, corner_radius = 0.885)
fuel_ir1 = openmc.model.rectangular_prism(6.73, 6.73, corner_radius = 0.815)
clad_or1 = openmc.model.rectangular_prism(6.73, 6.73, corner_radius = 0.815)
clad_ir1 = openmc.model.rectangular_prism(6.64, 6.64, corner_radius = 0.770)
clad1_or2 = openmc.model.rectangular_prism(6.27, 6.27, corner_radius = 0.850)
clad1_ir2 = openmc.model.rectangular_prism(6.18, 6.18, corner_radius = 0.805)
fuel_or2 = openmc.model.rectangular_prism(6.18, 6.18, corner_radius = 0.805)
fuel_ir2 = openmc.model.rectangular_prism(6.04, 6.04, corner_radius = 0.735)
clad_or2 = openmc.model.rectangular_prism(6.04, 6.04, corner_radius = 0.735)
clad_ir2 = openmc.model.rectangular_prism(5.95, 5.95, corner_radius = 0.690)
clad1_or3 = openmc.model.rectangular_prism(5.58, 5.58, corner_radius = 0.770)
clad1_ir3 = openmc.model.rectangular_prism(5.49, 5.49, corner_radius = 0.725)
fuel_or3 = openmc.model.rectangular_prism(5.49, 5.49, corner_radius = 0.725)
fuel_ir3 = openmc.model.rectangular_prism(5.35, 5.35, corner_radius = 0.655)
clad_or3 = openmc.model.rectangular_prism(5.35, 5.35, corner_radius = 0.655)
clad_ir3 = openmc.model.rectangular_prism(5.26, 5.26, corner_radius = 0.610)
clad1_or4 = openmc.model.rectangular_prism(4.89, 4.89, corner_radius = 0.690)
clad1_ir4 = openmc.model.rectangular_prism(4.80, 4.80, corner_radius = 0.645)
fuel_or4 = openmc.model.rectangular_prism(4.80, 4.80, corner_radius = 0.645)
fuel_ir4 = openmc.model.rectangular_prism(4.66, 4.66, corner_radius = 0.575)
clad_or4 = openmc.model.rectangular_prism(4.66, 4.66, corner_radius = 0.575)
clad_ir4 = openmc.model.rectangular_prism(4.57, 4.57, corner_radius = 0.530)
clad1_or5 = openmc.model.rectangular_prism(4.20, 4.20, corner_radius = 0.610)
clad1_ir5 = openmc.model.rectangular_prism(4.11, 4.11, corner_radius = 0.565)
fuel_or5 = openmc.model.rectangular_prism(4.11, 4.11, corner_radius = 0.565)
fuel_ir5 = openmc.model.rectangular_prism(3.97, 3.97, corner_radius = 0.495)
clad_or5 = openmc.model.rectangular_prism(3.97, 3.97, corner_radius = 0.495)
clad_ir5 = openmc.model.rectangular_prism(3.88, 3.88, corner_radius = 0.450)
clad1_or6 = openmc.model.rectangular_prism(3.51, 3.51, corner_radius = 0.530)
clad1_ir6 = openmc.model.rectangular_prism(3.42, 3.42, corner_radius = 0.485)
fuel_or6 = openmc.model.rectangular_prism(3.42, 3.42, corner_radius = 0.485)
fuel_ir6 = openmc.model.rectangular_prism(3.28, 3.28, corner_radius = 0.415)
clad_or6 = openmc.model.rectangular_prism(3.28, 3.28, corner_radius = 0.415)
clad_ir6 = openmc.model.rectangular_prism(3.19, 3.19, corner_radius = 0.370)

(also no problem)
fuel_region = fuel_or1 & fuel_ir1, fuel_or2 & fuel_ir2, fuel_or3 & fuel_ir3, fuel_or4 & fuel_ir4, fuel_or5 & fuel_ir5, fuel_or6 & fuel_ir6
clad1_region = clad1_or1 & clad1_or1, clad1_or2 & clad1_or2, clad1_or3 & clad1_or3, clad1_or4 & clad1_or4, clad1_or5 & clad1_or5, clad1_or6 & clad1_or6
clad_region = clad_or1 & clad_or1, clad_or2 & clad_or2, clad_or3 & clad_or3, clad_or4 & clad_or4, clad_or5 & clad_or5, clad_or6 & clad_or6

PROBLEM: when i want to define materials for regions i am facing an error. I gues it is becouse similar fuel is in multiple regions, but can not solve it yet.
fuel = openmc.Cell(name=‘fuel’)
fuel.fill = uo2
fuel.region = fuel_region
clad = openmc.Cell(name=‘clad’)
clad.fill = zirconium
clad.region = clad_region
clad1 = openmc.Cell(name=‘clad1’)
clad1.fill = zirconium1
clad1.region = clad_region1


Please give me some advise to solve this error.
Thank you!

The problem is that you have commas in the expression being assigned to a cell region. Python sees the commas and interprets that as a tuple. I think what you intended was to take the union of different regions, so something like:

fuel_region = (fuel_or1 & fuel_ir1) | (fuel_or2 & fuel_ir2) | ...

In the above expression, the | operator is the union operator.