Poisoning calculation by "set poi 1"

Report all good and bad behavior here
bilodid
Posts: 28
Joined: Wed May 22, 2013 11:07 am
Security question 1: No
Security question 2: 92

Poisoning calculation by "set poi 1"

Post by bilodid » Wed Oct 16, 2013 5:38 pm

Hi!
I'm calculating burnup of BWR fuel cell with option "set poi 1" to obtain 8-group XS.
In serpent 2.1.16 I got output in _res.m:
% Poison cross sections:
INF_XE135_MICRO_ABS - which, I believe, is cell-homogenised the 8-group microscopic XS of XE-135 absorption
INF_XE135_MACRO_ABS - which, I believe, is the same macro-XS
from _dep.m I got Xe-135 concentration in fuel. I re-normalised it by coefficient fuel_Volume/cell_Volume to get concentration in cell.

But if I multiply microXS on Xe-concentration I do not get macroXS - difference is about 20% in the thermal group.
That am I doing wrong?

Yuri

Update: I also defined the detector to get microXS for Xe-135:

Code: Select all

mat Xe135 1.0 Xe-135.09c 1.0
det flux8 du 0 de 8gr
det maXe  du 0 dr -2 Xe135 de 8gr dt 3 flux8
the output of this detector is about 4% different in thermal groups from INF_XE135_MICRO_ABS. That is the reason?

User avatar
Jaakko Leppänen
Site Admin
Posts: 2387
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Poisoning calculation by "set poi 1"

Post by Jaakko Leppänen » Thu Oct 17, 2013 11:00 am

There are some differences. The macroscopic cross section is calculated by homogenizing the macroscopic absorption rate over the entire volume, while the microscopic cross section represents the spectrum-collapsed cross section of Xe-135 radiative capture. Multiplication by atomic density converts microscopic cross section to macroscopic, but it's not the same thing as the homogenized macroscopic cross section.

Your detector integrates over universe 0, which I assume contains the entire geometry? The cross section of Xe-135 is used as the response function for every collision, also those that occur in cladding and moderator. So what you get as a result is not the microscopic reaction rate in the fuel, but the microscopic reaction rate weighted by the spectrum over the entire geometry. Try replacing entry "du 0" with "dm <fuel>", where <fuel> is the name of your fuel material. This should give you a result that corresponds to INF_XE135_MICRO_ABS.
- Jaakko

bilodid
Posts: 28
Joined: Wed May 22, 2013 11:07 am
Security question 1: No
Security question 2: 92

Re: Poisoning calculation by "set poi 1"

Post by bilodid » Thu Oct 17, 2013 11:30 am

Thanks for answer!
That I actually need are cell-homogenized XS for a nodal code (DYN3D).
DYN3D takes Xenon contribution to node-homogenized absorption by
Σ_a = Σ_a_0xe + C_Xe135 * micro_abs_xe135
C_Xe135 - local concentration of Xe-135 calculated by DYN3D,
micro_abs_xe135 - node-homogenized absorption microXS of Xe-135,
Σ_a_0xe - homogenized macro absorption RABSXS minus Xe-135 contribution macro_abs_xe135 = micro_abs_xe135 * Xe-135 concentration from Serpent.

So, which values should I take from Serpent to get correct cell-homogenized micro and macro Xe-135 absorption?

User avatar
Jaakko Leppänen
Site Admin
Posts: 2387
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Poisoning calculation by "set poi 1"

Post by Jaakko Leppänen » Thu Oct 17, 2013 12:14 pm

So far I've done homogenization only for HZP reactor cores, so getting the poison cross sections to match the definition in nodal codes is something that is yet to be completed. You are also using HELIOS to generate cross sections for DYN3D, right? Could you find out how the second part of Σ_a is traditionally calculated in the HELIOS-DYN3D calculation sequence? I can then match the implementation in Serpent to that.

As for the first part, isn't Σ_a_0xe actually given by INF_RABSXS - INF_XE135_MACRO_ABS?
- Jaakko

bilodid
Posts: 28
Joined: Wed May 22, 2013 11:07 am
Security question 1: No
Security question 2: 92

Re: Poisoning calculation by "set poi 1"

Post by bilodid » Thu Oct 17, 2013 1:31 pm

Jaakko Leppänen wrote:As for the first part, isn't Σ_a_0xe actually given by INF_RABSXS - INF_XE135_MACRO_ABS?
if it is so, i.e.INF_XE135_MACRO_ABS = cell-homogenized macro absorption,
then I can get needed micro XS by INF_XE135_MACRO_ABS / C_Xe
right?

Update: I have simulated the same system in Helios-1.11 and extracted cell-homogenized 8-group absorption microXS for Xe-135.
they look very similar to INF_XE135_MACRO_ABS / C_Xe from Serpent.

cgentry7
Posts: 24
Joined: Mon Jun 03, 2013 10:59 pm
Security question 1: No
Security question 2: 92

Re: Poisoning calculation by "set poi 1"

Post by cgentry7 » Thu Mar 03, 2016 5:04 pm

I was curious as to if any effort was being made to include edits for Xe / Sm / Pm/ I microscopic cross-sections that correspond to INF_XXYYY_MACRO_ABS / C_XX where XX is the Element ID and YYY is the isotope number. My understanding is that the reported INF_XXYYY_MICRO_ABS in the *res.m file still corresponds to the fuel spectrum collapsed cross-sections. What I've been needing in our core simulator is INF_XXYYY_MACRO_ABS / C_XX.

Thanks,
Cole

User avatar
Jaakko Leppänen
Site Admin
Posts: 2387
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Poisoning calculation by "set poi 1"

Post by Jaakko Leppänen » Fri Mar 04, 2016 2:23 pm

Yes, the microscopic cross sections are averaged over fuel spectrum. I'm not sure I understand what you mean? Do you mean a microscopic cross section that when multiplied by flux and density would give the corresponding absorption rate?

So basically with detectors you could use something like:

Code: Select all

mat Xe135 1.0 54135.09c 1
det flx
det rr dm fuel dr 102 Xe135
and then divide detector rr (integral microscopic absorption rate of Xe-135 in fuel) with detector flx (flux integrated over the full geometry).
- Jaakko

cgentry7
Posts: 24
Joined: Mon Jun 03, 2013 10:59 pm
Security question 1: No
Security question 2: 92

Re: Poisoning calculation by "set poi 1"

Post by cgentry7 » Fri Mar 04, 2016 8:32 pm

When I use following:

mat Xe135 1.0 54135.09c 1
mat Sm149 1.0 62149.09c 1

det flx du 0 de 2

det xe dm fuel dr 102 Xe135 de 2 dt 3 flx
det sm dm fuel dr 102 Sm149 de 2 dt 3 flx

and scale the results by the ratio of CELL_VOL / FUEL_VOL I get the microscopic cross-sections that correspond to INF_XXYYY_MACRO_ABS / CC_XX, where CC_XX is the isotopic number density over the node, which is what our core simulators are expecting. If you compare this to the current MICRO output in the res.m file, the results are similar but definitely different. The problem that I run into with the current MICRO output in the *res.m is that dividing the MACRO by this value will not reproduce the current nodal isotopic number density, and subsequently will not produce the correct macroscopic cross-section in our core simulator. What would be your thoughts on including this in the *res.m / *coe files for I / Xe / Sm / Pm? I can of course define the detectors to get these values, but I think they might be useful to include

User avatar
Jaakko Leppänen
Site Admin
Posts: 2387
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Poisoning calculation by "set poi 1"

Post by Jaakko Leppänen » Fri Mar 04, 2016 10:15 pm

OK, I see it now. The current method may just be simply wrong (I don't remember any more where I got it from). Do you think of any use for the cross sections calculated using current method, or would it be better to just use the same variables and fix the routine?
- Jaakko

cgentry7
Posts: 24
Joined: Mon Jun 03, 2013 10:59 pm
Security question 1: No
Security question 2: 92

Re: Poisoning calculation by "set poi 1"

Post by cgentry7 » Thu Mar 31, 2016 3:05 pm

I would think the best approach would be to replace the current variables with the fixed calculations and have the previous calculation approach as a second set of variables (or vice versa). Others might have a use for the previous approach.

Post Reply