# How to calculate the Keff value when run in fixed source mode?

**URL:** <https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303>\
**Category:** User Support\
**Created:** [July 10, 2021, 9:45am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303 "2021-07-10T09:45:52Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![billytnp](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@billytnp](https://openmc.discourse.group/u/billytnp)\
**Post date:** [July 10, 2021, 9:45am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/1 "2021-07-10T09:45:52Z")

</div>

In fix-source calculation mode, Keff value cannot be calculated by openmc module. So how to calculate the Keff ?

---

<div class="post-metadata">

**Author:** ![gridley](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/gridley/32/1064_2.png) [@gridley](https://openmc.discourse.group/u/gridley)\
**Post date:** [July 13, 2021, 3:22pm UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/2 "2021-07-13T15:22:54Z")

</div>

The concept of k\_eff does not exist in a fixed source calculation. This is because in fixed source mode, we assume that k\_eff is less than one, and the problem is source-driven. If you add a source to a k-eigenvalue problem, it isn’t an eigenvalue problem in the conventional sense as you’d be solving a problem of the form Ax=(1/k)Bx + b.

Perhaps if you described your problem a little more, we could help point you in the right direction.

---

<div class="post-metadata">

**Author:** ![watermelon](https://avatars.discourse-cdn.com/v4/letter/w/958977/32.png) [@watermelon](https://openmc.discourse.group/u/watermelon)\
**Post date:** [July 14, 2021, 12:39am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/3 "2021-07-14T00:39:40Z")

</div>

oh, yes, this answer is great. k\_eff does not in the fixed source calculation.  
I think the fixed source calculation is the fission source term and the external source term are constant. And the k\_eff is the eigenvalue which controls the fission source term, so it does not appear in the fixed source calculation, am i right?

---

<div class="post-metadata">

**Author:** ![gridley](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/gridley/32/1064_2.png) [@gridley](https://openmc.discourse.group/u/gridley)\
**Post date:** [July 14, 2021, 1:37am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/4 "2021-07-14T01:37:40Z")

</div>

Hey @watermelon, that’s definitely it. I would hesitate to call the fission source term constant, since it will vary from generation to generation as source neutrons induce fissions, and the exact coordinates of source neutrons will also vary from generation to generation. I suppose if we’re talking about the continuous PDE we’re approximating with Monte Carlo, yes, those terms are constant.

In principle, we could tune the intensity of our fission source by having a user-defined k\_eff in a fixed source calculation. The difference, though, would be that the user has to manually set k\_eff ahead of time. The problem is that a perfectly critical fixed source calculation may take a very long time to run, as we halt the generation once all secondaries have been processed, and fission neutrons count as secondaries in a fixed source calculation but not in an eigenproblem.

---

<div class="post-metadata">

**Author:** ![watermelon](https://avatars.discourse-cdn.com/v4/letter/w/958977/32.png) [@watermelon](https://openmc.discourse.group/u/watermelon)\
**Post date:** [July 16, 2021, 7:27am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/5 "2021-07-16T07:27:08Z")

</div>

OK, thank you sir, I think I got it~

---

<div class="post-metadata">

**Author:** ![billytnp](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@billytnp](https://openmc.discourse.group/u/billytnp)\
**Post date:** [August 10, 2021, 8:23am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/6 "2021-08-10T08:23:15Z")

</div>

Dear @gridley, Thank you for your explanation.

What if I have to do the depletion in fix source mode and I want to investigate the depletion of k-eff . Could it be possible to solve it with openmc? At first, I’ve used fission rate/ absorption + leakage to find k-eff in fix source mode. I would appreciate it if you could give me some idea.

Best regard,  
Thanapong

---

<div class="post-metadata">

**Author:** ![paulromano](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/paulromano/32/486_2.png) [@paulromano](https://openmc.discourse.group/u/paulromano)\
**Post date:** [August 11, 2021, 12:42pm UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/7 "2021-08-11T12:42:00Z")

</div>

@billytnp I would say the answer depends on what you are interested in. Do you want to know what k-effective would be if you took the model with depleted compositions and ran it in a k-eigenvalue iteration? Or do you want to know what k-effective value would reproduce the actual observed multiplication factor (which depends on the external source)? For subcritical multiplication, often people will distinguish [two values](https://laws.lanl.gov/vhosts/mcnp.lanl.gov/pdf_files/la-ur-10-00141.pdf), kf (multiplication corresponding to the intrinsic fission source) and kq (multiplication corresponding to the external source), so one might also be interested in these two different values instead of a single keff value.

---

<div class="post-metadata">

**Author:** ![billytnp](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@billytnp](https://openmc.discourse.group/u/billytnp)\
**Post date:** [August 11, 2021, 4:41pm UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/8 "2021-08-11T16:41:16Z")

</div>

Dear @paulromano , Thank you for pointing me to the useful information.

> [@paulromano](#):
>
> Do you want to know what k-effective would be if you took the model with depleted compositions and ran it in a k-eigenvalue iteration? Or do you want to know what k-effective value would reproduce the actual observed multiplication factor (which depends on the external source)?

From paper [“Application of FLUKA and OpenMC in coupled physics calculation of target and subcritical reactor for ADS”,](https://www.researchgate.net/publication/330101221_Application_of_FLUKA_and_OpenMC_in_coupled_physics_calculation_of_target_and_subcritical_reactor_for_ADS) in section 3.2 the keff value from MCNPX was compared with the keff value from Openmc which was obtained by fix-source calculation (refer from paper). I’m not sure that the keff mentioned in the paper represents one of these options? As far as I understand, maybe it is the “k-effective value would reproduce the actual observed multiplication factor (which depends on the external source)” right? Could you give me some idea how to get the keff value same as the paper present?

As I know maybe I was mistaken, kf and kq are still not automatically calculated in fix source mode.

Please correct me if I was wrong in any point.

Thank you very much for your time and kindly explanation,  
thanapong

---

<div class="post-metadata">

**Author:** ![paulromano](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/paulromano/32/486_2.png) [@paulromano](https://openmc.discourse.group/u/paulromano)\
**Post date:** [August 11, 2021, 7:13pm UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/9 "2021-08-11T19:13:16Z")

</div>

> [@billytnp](#):
>
> in section 3.2 the keff value from MCNPX was compared with the keff value from Openmc which was obtained by fix-source calculation (refer from paper)

Looking at that paper, I’m fairly certain they just ran the problem in k-eigenvalue mode rather than as a fixed source problem. We don’t have any built-in method for estimating k-effective during a fixed source simulation.

> [@billytnp](#):
>
> Could you give me some idea how to get the keff value same as the paper present?

If you want to use a depleted configuration to find k-effective, your best bet is to use `ResultsList.export_to_materials` to create a new `Materials` object from the depletion results and then use that to export a new materials.xml file. At that point, you can change your settings to run in k-eigenvalue mode to get a k-effective value.

> [@billytnp](#):
>
> kf and kq are still not automatically calculated in fix source mode.

That is correct.

---

<div class="post-metadata">

**Author:** ![billytnp](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@billytnp](https://openmc.discourse.group/u/billytnp)\
**Post date:** [August 14, 2021, 12:58pm UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/10 "2021-08-14T12:58:30Z")

</div>

Dear @paulromano ,

It works!! thank you very much. Now I can move on next progress.

Have a nice day,  
Thanapong

---

<div class="post-metadata">

**Author:** ![watermelon](https://avatars.discourse-cdn.com/v4/letter/w/958977/32.png) [@watermelon](https://openmc.discourse.group/u/watermelon)\
**Post date:** [September 27, 2021, 10:16am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/11 "2021-09-27T10:16:50Z")

</div>

Oh yes, this is a good way to couple the eigenvalue calculation with the burnup calculation. Thanks.

---

<div class="post-metadata">

**Author:** ![Naruto](https://avatars.discourse-cdn.com/v4/letter/n/6bbea6/32.png) [@Naruto](https://openmc.discourse.group/u/Naruto)\
**Post date:** [August 21, 2025, 3:50pm UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/12 "2025-08-21T15:50:36Z")

</div>

I’m working on a somewhat similar problem. I’m trying to model a neutron multiplier system that can be integrated as an attachment to a beamline. In this setup, the source of neutrons is fixed. However, to enhance the neutron flux, I’d like to introduce a small fissile region to generate additional fast neutrons, which could then drive (n,2n) multiplication in the multiplier layer. Could you advise on how this can be implemented? Should I treat is as an eigenvalue mode problem or a fixed source problem? as Keff will be an important factor here

---

<div class="post-metadata">

**Author:** ![vkrao](https://avatars.discourse-cdn.com/v4/letter/v/fbc32d/32.png) [@vkrao](https://openmc.discourse.group/u/vkrao)\
**Post date:** [August 26, 2025, 7:12am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/13 "2025-08-26T07:12:34Z")

</div>

Hi Naruto! Are you working on developing something related to this paper?[https://doi.org/10.1103/PhysRevApplied.16.014059](https://doi.org/10.1103/PhysRevApplied.16.014059)

---

<div class="post-metadata">

**Author:** ![Naruto](https://avatars.discourse-cdn.com/v4/letter/n/6bbea6/32.png) [@Naruto](https://openmc.discourse.group/u/Naruto)\
**Post date:** [August 28, 2025, 2:00pm UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/14 "2025-08-28T14:00:49Z")

</div>

Yes, I’m working on something in a similar direction.

---

<div class="post-metadata">

**Author:** ![jiangjiang](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/jiangjiang/32/3483_2.png) [@jiangjiang](https://openmc.discourse.group/u/jiangjiang)\
**Post date:** [December 11, 2025, 2:01am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/15 "2025-12-11T02:01:48Z")

</div>

Hello, I have attempted to use `ResultsList.export_to_materials`, but it only succeeds when applied to `openmc.deplete.ResultsList(“./depletion_results.h5”)`.  
However, it does not work when applied to a specific depletion step within it, such as `./openmc_simulation_n3.h5`. Is this not permitted?  
If I wish to obtain the materials after a particular step has concluded, how should I proceed？Is it only possible to compute separately, for instance by using `./depletion_results.h5` after a specific step has concluded?🧐

---

<div class="post-metadata">

**Author:** ![jiangjiang](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/jiangjiang/32/3483_2.png) [@jiangjiang](https://openmc.discourse.group/u/jiangjiang)\
**Post date:** [December 12, 2025, 9:07am UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/16 "2025-12-12T09:07:43Z")

</div>

> [@jiangjiang](#):
>
> openmc.deplete.ResultsList

maybe I asked a stupid quetion. I solved by using another Python-API, “**openmc.deplete.Results.export\_to\_materials()” .**  
😵‍💫

---

<div class="post-metadata">

**Author:** ![ligross](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/ligross/32/1653_2.png) [@ligross](https://openmc.discourse.group/u/ligross)\
**Post date:** [December 16, 2025, 6:56pm UTC](https://openmc.discourse.group/t/how-to-calculate-the-keff-value-when-run-in-fixed-source-mode/1303/17 "2025-12-16T18:56:59Z")

</div>

OpenMC stores the eigenvalue and nuclides at each burn step in `depletion_results.h5`. The `openmc_simulation_N.h5` is the statepoint file with the beginning of step composition, as shown in the source code [here](https://github.com/openmc-dev/openmc/blob/bbfa18d72c34d8710b5f4f3fa1fff54f5248fcc5/openmc/deplete/coupled_operator.py#L503-L515)
