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

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

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.

2 Likes

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?

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.

1 Like

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

1 Like

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

@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, 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.

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

From paper “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

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.

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.

That is correct.

2 Likes

Dear @paulromano ,

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

Have a nice day,
Thanapong

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