Problem with diff_burnable_mats=True

Dear all,

I hope all of you are doing fine. I am running APR-1400 model burnup calculations (full core 241 assemblies). The problem I am having is that when I turn the diff_burnable_mats = True I get an error saying “ERROR: Could not find material 116124 specified on cell 1”. The material file that is generated shows the wrong volume for the burnable materials. If I turn the option off, the burnup calculation runs but of-course the results are not correct due to using the same material.

your help in this regard is highly appreciated. I am using OpenMC vresion 0.13.4

OpenMC version 0.13.4
Git SHA1: bd1c2286f8b569bfc863a3da3c67894dcc22df62
Copyright (c) 2011-2023 MIT, UChicago Argonne LLC, and contributors
MIT/X license at https://docs.openmc.org/en/latest/license.html
Build type: RelWithDebInfo
Compiler ID: GNU 8.5.0
MPI enabled: no
Parallel HDF5 enabled: no
PNG support: no
DAGMC support: no
libMesh support: no
MCPL support: no
NCrystal support: no
Coverage testing: no
Profiling flags: no

Hello @khurrum,

I am facing the same issue in version 0.14.0.

I believe i got around the problem by including the following lines in my Python script before running the depletion simulation:

geometry.determine_paths(instances_only = False) 

model = openmc.model.Model(...)

model.differentiate_depletable_mats(diff_volume_method = 'divide equally')

This seems to differentiate the burnable materials in the model before we include that option in the openmc.deplete.CoupledOperator, but i am not sure.

1 Like

Hi @Artur
Thank you for sharing your experience regarding the same problem but for me I am still having the same error even after incorporating the code lines you shared :frowning:

Hello @khurrum,

I would suggest updating OpenMC to the 0.14 version if you are using an older version.

I actually found that the only line needed to avoid the problem is the following:

model.differentiate_depletable_mats(diff_volume_method = 'divide equally')

Before passing the model to the openmc.deplete.CoupledOperator. However, i do not understand why simply setting diff_burnable_mats = True does not work.

1 Like

I have the same problem with v14.0 as you did. Your suggestion addressed the issue for me, thanks.

1 Like

Hye @Artur

thank you for sharing. I updated my OpenMC installation to the latest master branch 0.14.0 and, unfortunately, I am still having the same error.
I also tried the develop branch with no success.

@paulromano @developers any help will be appreciated

Related PR that needs a review if anyone has time correct the material expansion and volume assigning in differentiate_burnup_mats by likaiwen123 · Pull Request #2808 · openmc-dev/openmc · GitHub

1 Like

@khurrum @EdP, another option to avoid the problem would be to explicitly create different materials for each depletion region. Since you are working with a PWR, this should be fairly straightforward using the Python API, given the repetitive structure of pressurized water reactors. This strategy has the additional advantage of allowing the user to control the depletion region definition. For example, you can assign one fuel material per fuel assembly to reduce computational costs.

@Artur Thank you. This is exactly what I have done. the problem was that I am working on APR-1400 and there are 2-3 distinct fuel pins with varying number in each assembly and then there are 9 distinct fuel assemblies. So I defined fuel materials based on fuel assemblies and then used the coloning option for defining each fuel assembly separately and I am getting reasonable resutls.