# 3-dimensional HTR with 3 different types of fuel

**URL:** <https://openmc.discourse.group/t/3-dimensional-htr-with-3-different-types-of-fuel/3243>\
**Category:** User Support\
**Created:** [July 29, 2023, 1:27pm UTC](https://openmc.discourse.group/t/3-dimensional-htr-with-3-different-types-of-fuel/3243 "2023-07-29T13:27:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ruri](https://avatars.discourse-cdn.com/v4/letter/r/b487fb/32.png) [@Ruri](https://openmc.discourse.group/u/Ruri)\
**Post date:** [July 29, 2023, 1:27pm UTC](https://openmc.discourse.group/t/3-dimensional-htr-with-3-different-types-of-fuel/3243/1 "2023-07-29T13:27:15Z")

</div>

I am trying to design a 3-dimensional HTR (High-Temperature Reactor) with a pebble-bed mixture of three different fuels (Fuel 1, Fuel 2, Fuel 3). These three types of fuel will be mixed in the reactor core with a ratio of 3:3:4. How can I randomly distribute these three fuels into the cylindrical reactor core with a height of 100 cm and a diameter of 150 cm?

---

<div class="post-metadata">

**Author:** ![Youssef](https://avatars.discourse-cdn.com/v4/letter/y/df788c/32.png) [@Youssef](https://openmc.discourse.group/u/Youssef)\
**Post date:** [July 11, 2025, 6:04pm UTC](https://openmc.discourse.group/t/3-dimensional-htr-with-3-different-types-of-fuel/3243/2 "2025-07-11T18:04:04Z")

</div>

Hi, did you solve this problem? because i am also facing this problem!

---

<div class="post-metadata">

**Author:** ![Ruri](https://avatars.discourse-cdn.com/v4/letter/r/b487fb/32.png) [@Ruri](https://openmc.discourse.group/u/Ruri)\
**Post date:** [July 14, 2025, 11:10am UTC](https://openmc.discourse.group/t/3-dimensional-htr-with-3-different-types-of-fuel/3243/3 "2025-07-14T11:10:27Z")

</div>

Yes, I’ve solved this problem. You simply need to define three different fuels, formed in three different fuel-pebble (different cells). Then, you need to set their distribution ratio in the random generator. For example, if you have two fuel pebbles, **pebble1** and _pebble2_, with a **30:70 ratio** , you can do this:

```auto
pebbles = openmc.model.pack_spheres( radius = (..) , pf = (...), region = (...) )
pack = []
for c in pebbles:
    if random.random() < 0.3:
        pack.append(openmc.model.TRISO(fill=pebble1_univ, ...))
    else:
        pack.append(openmc.model.TRISO(fill=pebble2_univ, ...))

```

You can also see this discussion [link](https://openmc.discourse.group/t/rotating-rectangular-prism/3335/7)
