5.17. [ Frag Data ] section¶
The function to read user-defined cross sections can be defined in the [frag data] section. By using this function, you can simulate nuclear reaction events in a calculation on the basis of information given by the cross section data. It should be noted that nuclear data libraries are preferentially used, even in the case of a nuclear reaction specified in this section. You can set only proton, neutron, and nuclei as incident particles. Photons and electrons cannot be used. Elastic scattering events for nucleons are separately considered by the default model implemented in PHITS.
Because weight values of the secondary particles produced by this option change from 1.0, you should decrease the value of the cutoff weight parameter wc2(i) in the [parameters] section. Reaction cutoff energy cmin(i) should be set to the minimum incident energy of the defined cross sections.
Set the parameters as follows.
[ Frag Data ]
opt proj targ file
0 12C 16O DDX_12C-16O.dat
1 proton 63Cu DDX_p-63Cu.dat
The user-defined cross sections are not used when opt=0. In the case of opt=1, PHITS reproduces the cross section of the reaction between an incident particle and target, which are specified by proj and targ, respectively, using the data. Options for opt=2 and 3 are under construction. When opt=4, PHITS simply extrapolates the given data for incident energies, emission angles, and emission energies. Note that you can use this option only in the case of neo>0 and nag!=0, which are explained below. When differential cross sections are given as pointwise data, set opt=5. In this case, the energy and angular dependence of the data are calculated by linear interpolation.
The sampling method of this function is as follows. For emitted particles, no sampling of multiplicity is performed, and exactly one particle is always emitted. In this case, the weight is adjusted according to each emission probability (production cross section). On the other hand, the emission energy and angle are determined by sampling based on the corresponding differential cross sections, so the weight remains unchanged. (However, only when iopt = 5, the weight changes due to interpolation.)
The format of the user-defined cross section data is as follows.
projectile
target
nei
ein(1) ein(2) ein(3) ...... ein(nei+1)
totxs(1) totxs(2) totxs(3) ...... totxs(nei+1)
neo
eout(1) eout(2) eout(3) ...... eout(neo+1)
nag
angle(1) angle(2) angle(3) ...... angle(nag+1)
nfrg
frag(1) frag(2) frag(3) ...... frag(nfrg)
proxs(1,1) proxs(1,2) proxs(1,3) ...... proxs(1,nfrg)
ddx(1,1,1,1) ddx(1,1,1,2) ddx(1,1,1,3) ...... ddx(1,1,1,nag)
ddx(1,1,2,1) ddx(1,1,2,2) ddx(1,1,2,3) ...... ddx(1,1,2,nag)
.........
ddx(1,1,neo,1) ddx(1,1,neo,2) ddx(1,1,neo,3) ...... ddx(1,1,neo,nag)
ddx(1,2,1,1) ddx(1,2,1,2) ddx(1,2,1,3) ...... ddx(1,2,1,nag)
ddx(1,2,2,1) ddx(1,2,2,2) ddx(1,2,2,3) ...... ddx(1,2,2,nag)
.........
ddx(1,2,neo,1) ddx(1,2,neo,2) ddx(1,2,neo,3) ...... ddx(1,2,neo,nag)
.........
.........
ddx(1,nfrg,1,1) ddx(1,nfrg,1,2) ddx(1,nfrg,1,3) ...... ddx(1,nfrg,1,nag)
ddx(1,nfrg,2,1) ddx(1,nfrg,2,2) ddx(1,nfrg,2,3) ...... ddx(1,nfrg,2,nag)
.........
ddx(1,nfrg,neo,1) ddx(1,nfrg,neo,2) ddx(1,nfrg,neo,3) ...... ddx(1,nfrg,neo,nag)
proxs(2,1) proxs(2,2) proxs(2,3) ...... proxs(2,nfrg)
ddx(2,1,1,1) ddx(2,1,1,2) ddx(2,1,1,3) ...... ddx(2,1,1,nag)
ddx(2,1,2,1) ddx(2,1,2,2) ddx(2,1,2,3) ...... ddx(2,1,2,nag)
.........
ddx(2,1,neo,1) ddx(2,1,neo,2) ddx(2,1,neo,3) ...... ddx(2,1,neo,nag)
.........
.........
.........
.........
proxs(nei+1,1) proxs(nei+1,2) proxs(nei+1,3) ...... proxs(nei+1,nfrg)
ddx(nei+1,1,1,1) ddx(nei+1,1,1,2) ddx(nei+1,1,1,3) ...... ddx(nei+1,1,1,nag)
ddx(nei+1,1,2,1) ddx(nei+1,1,2,2) ddx(nei+1,1,2,3) ...... ddx(nei+1,1,2,nag)
.........
ddx(nei+1,1,neo,1) ddx(nei+1,1,neo,2) ddx(nei+1,1,neo,3) ...... ddx(nei+1,1,neo,nag)
.........
.........
ddx(nei+1,nfrg,1,1) ddx(nei+1,nfrg,1,2) ddx(nei+1,nfrg,1,3) ...... ddx(nei+1,nfrg,1,nag)
ddx(nei+1,nfrg,2,1) ddx(nei+1,nfrg,2,2) ddx(nei+1,nfrg,2,3) ...... ddx(nei+1,nfrg,2,nag)
.........
ddx(nei+1,nfrg,neo,1) ddx(nei+1,nfrg,neo,2) ddx(nei+1,nfrg,neo,3) ...... ddx(nei+1,nfrg,neo,nag)
At the beginning, you specify the incident particle and target in this file. nei is the number of points of the energy mesh. In the next line, you set nei+1 points of incident energies, ein, in units of MeV/n. In the following line, you set nei+1 data of total reaction cross sections, totxs, in units of mb. Note that when totxs=0, total reaction cross sections obtained by models specified by icxsni or icrhi are used. neo is the number of energy mesh points of the outgoing particles. Note that you set neo data points of eout when opt=5. In the next line, you set neo+1 points of the energy, eout, in units of MeV/n. nag is the number of angular mesh points for the outgoing particles. You set nag+1 data of the angles in the next line. Note that you set nag data points of the angles when opt=5. If nag>0, the data should be given in units of radian, and if nag<0, they are in units of degree. When nag=0, isotropic emission is assumed. nfrg is the number of outgoing particles. In the next line, you write nfrg names of the particles. proxs, in units of mb, is the production cross section of the particles at an incident energy. Then you set neo*nag data of the double differential cross sections, ddx, in units of mb/MeV/sr. You have to specify nei+1 groups of proxs and ddxs per outgoing particle.
If you write model in the line where you should write neo, nuclear reaction models are used for simulating nuclear reaction events. In this case, you do not have to write the data below neo.
1: proton
2: 63Cu
3: 1
4: 10.0 100.0
5: 1000.0 500.0
6: 3
7: 1.0 10.0 50.0 100.0
8: -6
9: 0.0 30.0 60.0 90.0 120.0 150.0 180.0
10: 1
11: neutron
12: 300.0
13: 10.0 10.0 10.0 10.0 10.0 10.0
14: 15.0 13.0 12.0 11.0 10.0 10.0
15: 10.0 11.0 10.0 11.0 10.0 10.0
16: 0.0
17: 5.0 5.0 5.0 5.0 5.0 5.0
18: 10.0 8.0 7.0 6.0 5.0 5.0
19: 5.0 6.0 5.0 6.0 5.0 5.0
An example of a data file of user-defined cross sections is shown above. In the first and second lines, proton and \(^{63}\mathrm{Cu}\) are defined as the incident particle and target, respectively. In the third line, nei=1 is set. Two data of incident energies and total reaction cross sections are given in the fourth and fifth lines, respectively. In the sixth line, neo=3 is set, and then four values, 1.0, 10.0, 50.0, and 100.0 MeV, are given as energies of outgoing particles. The number of angular mesh points, nag=-6, is set in the eighth line. In this case, the angles are given in units of degree. In the tenth and eleventh lines, the number of particles and its kind, neutron, are specified, respectively. In the twelfth line, a production cross section of neutron at the 10.0 MeV proton is given. The double differential cross sections of neutron are set in the thirteenth, fourteenth, and fifteenth lines. Each line corresponds to the energy bins defined in the seventh line, and each column corresponds to the angular bins defined in the ninth line. The production cross section is used as a normalization factor. When proxs=0 mb, the integrated values of ddxs are used as proxs.
When neo is negative, you can set the intensity of the cross section discretely. In this case, the number of eout should be neo.
If neo=0, the energy spectra of outgoing particles can be given by a Gaussian distribution. In the places of ddxs, you set the mean value and FWHM of the Gaussian in units of MeV.
The following abbreviation is available when many zeros are included in ddxs.
0 -9
This description means a total of ten zeros.