Depletion of Boric Acid

Hi Everyone
In SERPENT and many other monte carlo codes, we can model the depletion of boric acid through burnup. I have read some topics about openmc’s capabilites about this and as I understand, there is no such capability. Here is what I dont understand, cant we just use the stochastic volume calculation methods and add the openmc.depletable = True attribute to the borated water and plot the boric acid level ? If not, whats the most efficient way to calculate the boric acid level at each depletion step, assuming an initial concentration is given? Apologies for asking too many questions. Thanks…

Hello!

I have depleted burnable absorbers containing B4C in the past by doing basically what you’ve mentioned, set material.depletable = True. I don’t think it’s impossible to use OpenMC to get an idea of boric acid depletion, but you should be aware of how your modeling choices could impact accuracy.

If you are using a water coolant with boric acid dissolved, you need to make sure that the regions containing depletable materials (i.e. coolant) have enough discretization to account for spatial variation in flux. For example, using one cylinder with one openmc.Material to represent a coolant channel will smear out important spatial and energy effects of depletion, which are key for boron accuracy. Along with this, you need to make sure there is a unique material for each spatial region so each depletes separately (based on local \phi(\mathbf{r},E)). You can facilitate this via the .clone() method or by making as many unique materials (MAT1,MAT2, …) as you will fill into openmc.Cell(region=REG_i, material=MAT_i).

Another thing to consider is accurate temperature distributions, as that can also affect your spectrum. This one is more secondary, though, especially in the absence of multiphysics simulations.

1 Like

Hi AEjder,
From what I understand regarding the soluble boron concentration ini PWR, the concentration itself were controlled manually to achieve a critical state.
That’s why the boron concentration were changed during the reactor operation to make sure the reactor were critical during each operation.

At the beginning (BOC), maybe its only SD rods cluster and 1-2 gray rod cluster were fully up. Other gray rods were in specific axial height to make sure the uniform power distribution, and boron was added just to make it critical.
In another time later, more control rods were withdrawn or its position were higher that previous calculation because the fuel has been burned. So the boron concentration also tuned, maybe a lower concentration, just to make sure the reactor could become critical.

So I think there was some water chemistry system in PWR to control the soluble boron concentration in the primary coolant, and I think boron concentration in core didn’t really depends on the depleted B-10 in B4C caused by capture reaction. Mostly, it was controlled manually by operator during reactor operation.

Then I think soluble boron couldn’t be treated as burnable absorber because it was a bit different to the burnable absorber such as PYREX, WABA, Gd, or B4C that installed in our fuel assembly an will be inside the reactor during its cycle. Actually we can control the soluble boron concentration during reactor operation, but maybe other members could gives their comments or experience on this topic or reactor operation.

Sorry if I misunderstood your question.

1 Like

Hi wahidluthfi,
Thank you for your answer. Of course the soluble boron concentration is controlled manually in reactor operation. I think that initially there is a level of soluble boron concentration which will not cause corrosion and keep the water with negative moderator temperature coefficient. Regulating Control Rods will compensate for the remaining required negative reactivity. But through burnup, the need for soluble boron & control rod compensation should decrease. What I want to find is that assuming no additional soluble boron is added after initial loading, will the control rods be able to control reactivity for the decreasing soluble boron concentration. So I need to see the level of soluble boron concentration through its burnup. Since its a PWR, the soluble boron will stay in the primary loop and will face neutron flux continuously and burn out.
I hope I explained my problem well.
Thanks…

Okay, if the idea is to calculate the boron concentration changes because you only want to add it in the beginning (without additional soluble boron during core cycle), then at the beginning, you need to make sure that the initial boron concentration added (at the BOC) could give you enough excess reactivity for power manouvering during whole core cycle length (BOC to EOC) right? So you can only control reactivity by using the control rod clusters in your core, because you treat the soluble boron as burnable poison.

But, disclaimer, I didn’t have any experience with this kind of modeling, so it’s just a small tough. If the coolant spatial discretization were implemented to take account for flux in coolant region, then I think you are gonna need to reevaluate the material composition at the beginning of each burnup steps by homogenizing all the separated coolant, because we know that the coolant will be mixed. I think, the coolant region closer to fuel pin gonna be mixed with the other coolant region far from the fuel pin. Then for each burnup steps, all coolant region will have the same initial coolant+soluble boron composition, but in the end of each burnup steps, each coolant region has its corresponding composition that gonna be used to calculate the homogenized coolant composition for the next burnup step. That’s what I think if you really want to implement spatial discretization for coolant region.

I hope other members that has experience on this topic could give their comment, it is an interesting idea and I would like to hear from others.

1 Like