Difference between revisions of "Pitfalls and troubleshooting"

From Serpent Wiki
Jump to: navigation, search
Line 8: Line 8:
 
Run-time errors should not occur, and they should always be reported to the developer team. This is also the case if the calculation crashes (segmentation fault or similar). In such case repeating the calculation in [[debug mode]] may reveal some additional information on what went wrong.
 
Run-time errors should not occur, and they should always be reported to the developer team. This is also the case if the calculation crashes (segmentation fault or similar). In such case repeating the calculation in [[debug mode]] may reveal some additional information on what went wrong.
  
Serpent also produces a number of warning messages that may or may not be important.
+
Serpent also produces a number of warning messages that may or may not be important. Serpent is pretty meticulous about errors, so problems let off with a warning are usually not too severe.
  
  

Revision as of 18:12, 19 November 2015

Serpent produces two types of error messages:

  1. Input errors, identified by text "Input error", followed by the error message. If the error can be related to a specific input parameter, then also the name of the parameter and the line number in the input file are printed.
  2. Run-time errors, in which case the name of the associated subroutine is printed, along with some additional information.

The first class of errors are (ideally) related to a problem in the input file. It should be noted, however, that the parameter name and line number may not reflect the original cause of the error, but rather the point where things started going wrong. Incorrectly typed input card names, for example, cause the parser to ignore the card altogether, and the following values are interpreted as entries belonging to the previous card.

Run-time errors should not occur, and they should always be reported to the developer team. This is also the case if the calculation crashes (segmentation fault or similar). In such case repeating the calculation in debug mode may reveal some additional information on what went wrong.

Serpent also produces a number of warning messages that may or may not be important. Serpent is pretty meticulous about errors, so problems let off with a warning are usually not too severe.


Things to check in case of suspicious results

Unresolved resonance probability table sampling

Unresolved resonance probability table sampling is not used by default. This method is needed to account for self-shielding effects in the unresolved resonance region. The effect is usually not significant in thermal systems, but can lead to noticeable discrepancies in fast-spectrum systems.

Probability table sampling is switched on using the set ures option.

Mass vs. atomic densities

The densities and compositions of materials can be entered in atomic or mass units (see the input syntax of the material card), and using incorrect units may lead to unexpected results. The difference may not be clearly noticeable if the material consists nuclides with similar atomic weight, but if there are both light and heavy nuclides the results can be off by tens of percent.

In particular, using incorrect units for isotopes in water causes a major distortion in the flux spectrum in LWR calculations. In burnup calculation this results in completely unexpected depletion rate of 235U and build-up rate of 239Pu.

Debugging the input model