-
Notifications
You must be signed in to change notification settings - Fork 3
Single Level Breit Wigner Cross Sections
PINSPEC has the capability of doing single-level Breit-Wigner approximations on resonance isotopes. This allows users to Doppler broaden specific isotopes with particular instructions. At this time this option is available for any isotope in which Reich-Moore resonance parameters are given in the ENDF/B-VII library. Among others, this includes U238, Pu239, and Pu241.
##Getting Resonance Parameter Files At this time the PINSPEC package is not provided with resonance parameter files in the library other than U238; users must retrieve the files, make slight adjustments to the formats, and save them to the library.
To retrieve a resonance parameter file, visit the National Nuclear Data Center and follow the steps below:
- Select the element you wish to add to the library.
- On the right hand side, select the isotope.
- On the list that appears on the right, select the link 'Interpreted' next to the link 'res. param'. A window with the resonance parameter information will appear.
- Confirm that the parameter information is in Reich-Moore format.
- Return to the previous window and right-click the same link. Select 'Save Link As...' and save the file as a text file to the cross section library (PINSPEC/pinspec/xs-lib). Title the file with its element abbreviation, mass number and the tag '-RP.txt', like so:
Pu-239-RP.txt
- To change the format of the file, open up the file in an editor. The goal is to use only the l=0 data. Delete everything above the line that begins with '4piAP**2:'. This should be the top line of the file.
- Delete the lines between the new top line and the beginning of the header line for the first set of data (The line that begins with 'eV J GT'). This line should now be the second line in the file, with the resonance information below it. At the end of the resonance parameters for l=0, delete everything below the file. This should result in a file that begins with '4piAP**2:' and has all of the resonance data for the l=0 parameters below it. A snapshot of the top of this file for U23 is shown below.
##How to Doppler Broaden Isotopes After depositing the resonance parameter file(s) of the isotope(s) you wish to broaden, the 'SLBWXS()' command from the module slbw is used to do the approximations and overwrite the cross section file in the library. This command has many optional arguments, which will be discussed in the code documentation, and two required arguments. The first argument is the isotope, provided in the format of element abbreviation and mass number in single quotes. The second argument is the temperature in Kelvin.
>>> slbw.buildSLBWXS('U-238',1200,'capture')
The third argument shown is the first optional argument, and it is the reaction cross section that will be broadened. Aside from capture, the only other option is 'scatter'. By default this option is set to 'capture'.
##Other Useful SLBW Options
There are several other options with the slbw module. The first is generatePotentialScattering(). This will create a flat cross section at the potential scattering cross section value of the resonant isotope over all energies. The first argument is the name of the isotope in the usual abbreviation-mass number format, surrounded by single quotes. The next two arguments are optional, and are the minimum energy and the maximum energy of the cross section, respectively. Their defaults are set to 1E-5 and 20E6 eV, respectively.
>>> slbw.generatePotentialScattering('U-238')
The compareXS() command allows users to examine their Doppler-broadened results against the ENDF/B-VII values. When called, it creates a plot of the ENDF/B-VII data and the broadened data in the output folder. The first argument is the name of the isotope in familiar format of 'Element-Mass#'. The other arguments are optional. The first optional argument is the cross section type, 'scatter' or 'capture', according to what was originally broadened. Like the SLBWXS() command, the default for this is 'capture'. The second optional argument is the directory for the plot. By default it is the output directory.
>>> slbw.compareXS('U-238', XStype='capture')
To Doppler broaden U-238 at 1200 degrees Kelvin, flatten the scattering cross section to its value of potential scattering, and create a graph comparing the ENDF U-238 cross section with its broadened counterpart, use the following commands in an interpreter or copy and paste into a script.
import pinspec.slbw as slbw
slbw.SLBWXS('U-238',1200,'capture')
slbw.generatePotentialScattering('U-238')
slbw.compareXS('U-238', XStype='capture')
Check the results by opening navigating to your cross section library (PINSPEC/pinspec/xs-lib) and opening U-238-elastic.txt. You should see one value for the cross section. In the output folder (same directory as the input), you should see a .png image of a plot comparing the broadened and unbroadened cross section.