Changes in group constant generation (version 2.1.13)

This category replaces the missing input manual
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:

Changes in group constant generation (version 2.1.13)

Post by Jaakko Leppänen » Fri May 03, 2013 11:37 am

I'm trying a new approach to group constant generation, in which homogenized reaction cross sections are first calculated for an intermediate multi-group structure, and then collapsed into few-group constants. For most parameters this does not change the results, but it simplifies the coding and makes it easier to add new parameters later on. By default, the calculation is based on the WIMS 69-group structure, which can be overridden by:

set micro <erg>

where <erg> is an energy group structure defined using the "ene" card. Activating B1 calculation also overrides this group structure, and the infinite- and critical-spectrum constants are calculated using the same multi-group structure.

This new approach also removes the issue with infinite-spectrum diffusion coefficients. In earlier versions, the P1_DIFFCOEF was calculated by homogenizing the transport cross section, which leads to incorrect spectral weighting for the diffusion coefficient. In the new version, INF_DIFFCOEF is calculated by homogenizing the inverse of transport cross section.

The new group constants are printed in the _res.m output. Variables beginning with INF_ refer to infinite- and B1_ to critical-spectrum weighted parameters. Most of the names should be quite self-explanatory, but let me know if there any confusion. I will probably change some of the names before the final release of Serpent 2.

The homogenization is currently done at the end of the calculation, so the statistical accuracy is lost. This flaw will be fixed in the next update. Also note that only group-wise values are printed, so the first entry corresponds to the highest energy group, not the total as with the old constants.

The actual calculation is done in subroutine microcalc.c. The coding should be relatively easy to follow if you intend to add your own constants. First, multi-group data needed for the calculation is read into several arrays, which are then collapsed into the few-group parameters. The procedure is practically identical for infinite- and critical-spectrum constants, and the leakage-corrected flux is calculated by subroutine b1flux.c, which is called from the main loop.
- Jaakko

orca.blu
Posts: 59
Joined: Wed Apr 20, 2011 1:39 pm

Re: Changes in group constant generation (version 2.1.13)

Post by orca.blu » Mon Aug 19, 2013 6:27 pm

Hi,
I am trying to generate XS for a discrete ordinates neutron transport code with sss2 (2.1.15).

It seems to me that few-group scattering and scattering+production matrices (S1, S2, S3...) are produced only for INF_ and B1_ corrected spectra.
Right? Is there a reason for that?

Also, BETA_ZEROs are not available for the homogenized universe in which few-group constants are produced?

Thank you very much.
Manuele Aufiero
LPSC/IN2P3/CNRS Grenoble

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: Changes in group constant generation (version 2.1.13)

Post by Jaakko Leppänen » Tue Aug 20, 2013 10:56 am

The INF_ cross sections are not leakage-corrected (the name refers to infinite-spectrum, or homogenization in an infinite-lattice geometry). The spectrum that is used to collapse the multi-group cross sections and scattering matrices is obtained directly from the transport simulation. The B1_ -cross sections are leakage-corrected. The spectrum that is used to collapse the multi-group cross sections and scattering matrices is obtained from a separate B1 calculation. Otherwise the parameters are calculated the same way.

The methods used for calculating betas is currently not universe-based. All values are averaged over the entire geometry, and intended to be used for research reactor calculations, etc. where the entire system is modeled as a whole. We will soon start looking into the calculation of beta-eff's for group constant generation, and I'll also include beta-zeros in the output then.
- Jaakko

orca.blu
Posts: 59
Joined: Wed Apr 20, 2011 1:39 pm

Re: Changes in group constant generation (version 2.1.13)

Post by orca.blu » Tue Aug 20, 2013 11:20 am

ok thanks
Manuele Aufiero
LPSC/IN2P3/CNRS Grenoble

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

Re: Changes in group constant generation (version 2.1.13)

Post by bilodid » Tue Mar 25, 2014 5:11 pm

Hi!
I have a problem with the new XS format:
I extract 2-group XS form the Seprent 2.1.16 results and feed them to DYN3D nodal diffusion code. Single pin, reflective conditions, abundant statistics.
For the single state without burnup and poisoning I got less then 1 pcm difference between DYN3D and Serpent using XS from the "old" output.
But using XS from the new INF_ output the error is about 100 pcm.
What am I doing wrong?
I use following XS-output:

Code: Select all

old     INF_TRANSPXS      RABSXS   FISSXS     NSF     FISSE   GPRODXS
 new     INF_TRANSPXS  INF_RABSXS INF_FISS INF_NSF INF_KAPPA   INF_SP0

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: Changes in group constant generation (version 2.1.13)

Post by Jaakko Leppänen » Tue Mar 25, 2014 11:25 pm

Did you check the order of cross-scattering terms in INF_SP0? The matrix is transposed compared to the old GPRODXS.
- Jaakko

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

Re: Changes in group constant generation (version 2.1.13)

Post by bilodid » Wed Mar 26, 2014 11:51 am

Yes, I did. it is simple in 2-group case.
The wrong order in scattering matrix will result in much bigger error!

Comparing "old format" and "INF_" values of homogenised XS - they all differ just a little, less than 1%.
And fluxes differ too:

Code: Select all

FLUX                      (idx, [1:   6]) = [  8.14231E+14 8.3E-05  7.47539E+14 9.2E-05  6.66923E+13 9.0E-05 ];
INF_FLX                   (idx, [1:   4]) = [  7.47221E+14 1.0E-04  6.66938E+13 8.6E-05 ];
Difference is very small, but it results in systematic error about 100 pcm for all burnup points.

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: Changes in group constant generation (version 2.1.13)

Post by Jaakko Leppänen » Wed Mar 26, 2014 3:31 pm

OK, the next thing to check is the energy group boundaries. In the old method the upper and lower boundaries are extended to zero and infinity. If the new method the boundaries are determined by the intermediate multi-group structure. Most of the built-in energy group structures stop at 10 MeV, so the difference may come from the fact that high-energy reactions are ignored. This is also most likely the reason why the fast group value of FLUX is larger than that of INF_FLX. The thermal grop fluxes are in much better agreement.
- Jaakko

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

Re: Changes in group constant generation (version 2.1.13)

Post by bilodid » Wed Mar 26, 2014 5:09 pm

I use default multigroup structure - i.e. WIMS 69 as far as I understand.
Should I define I a new ene with the higher upper limit of the fastest group?

Upd.
I have create the energy structure same as WIMS69 but with upper limit 1000 MEv and used it in set micro <>.
The error with new format XS is 10 pcm.

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: Changes in group constant generation (version 2.1.13)

Post by Jaakko Leppänen » Wed Mar 26, 2014 11:28 pm

OK, I suppose that's within statistics?
- Jaakko

Post Reply