## Changes in group constant generation (version 2.1.13)

- 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)

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.

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

### Re: Changes in group constant generation (version 2.1.13)

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.

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

LPSC/IN2P3/CNRS Grenoble

- 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)

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.

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

### Re: Changes in group constant generation (version 2.1.13)

ok thanks

Manuele Aufiero

LPSC/IN2P3/CNRS Grenoble

LPSC/IN2P3/CNRS Grenoble

### Re: Changes in group constant generation (version 2.1.13)

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:

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
```

- 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)

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

- Jaakko

### Re: Changes in group constant generation (version 2.1.13)

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:
Difference is very small, but it results in systematic error about 100 pcm for all burnup points.

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 ];
```

- 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)

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

### Re: Changes in group constant generation (version 2.1.13)

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.

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.

- 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)

OK, I suppose that's within statistics?

- Jaakko