Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/fission/src/G4SmpSpNuDistData.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/hadronic/models/fission/src/G4SmpSpNuDistData.cc (Version 11.3.0) and /processes/hadronic/models/fission/src/G4SmpSpNuDistData.cc (Version 10.4.p1)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 //                                                 26 //
 27 // This software was developed by Lawrence Liv     27 // This software was developed by Lawrence Livermore National Laboratory.
 28 //                                                 28 //
 29 // Redistribution and use in source and binary     29 // Redistribution and use in source and binary forms, with or without
 30 // modification, are permitted provided that t     30 // modification, are permitted provided that the following conditions are met:
 31 //                                                 31 //
 32 // 1. Redistributions of source code must reta     32 // 1. Redistributions of source code must retain the above copyright notice,
 33 //   this list of conditions and the following     33 //   this list of conditions and the following disclaimer.
 34 // 2. Redistributions in binary form must repr     34 // 2. Redistributions in binary form must reproduce the above copyright notice,
 35 //   this list of conditions and the following     35 //   this list of conditions and the following disclaimer in the documentation
 36 //   and/or other materials provided with the      36 //   and/or other materials provided with the distribution.
 37 // 3. The name of the author may not be used t     37 // 3. The name of the author may not be used to endorse or promote products
 38 //   derived from this software without specif     38 //   derived from this software without specific prior written permission.
 39 //                                                 39 //
 40 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``A     40 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
 41 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO,      41 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 42 // MERCHANTABILITY AND FITNESS FOR A PARTICULA     42 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
 43 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DI     43 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 44 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGE     44 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 45 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES     45 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 46 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AN     46 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 47 // WHETHER IN CONTRACT, STRICT LIABILITY, OR T     47 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 48 // OTHERWISE) ARISING IN ANY WAY OUT OF THE US     48 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 49 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.      49 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 50 //                                                 50 //
 51 // Copyright (c) 2006 The Regents of the Unive     51 // Copyright (c) 2006 The Regents of the University of California.
 52 // All rights reserved.                            52 // All rights reserved.
 53 // UCRL-CODE-224807                                53 // UCRL-CODE-224807
 54 //                                                 54 //
 55 //                                                 55 //
                                                   >>  56 // $Id: G4SmpSpNuDistData.cc 68799 2013-04-05 13:29:46Z gcosmo $
 56 //                                                 57 //
 57                                                    58 
 58 #include "G4fissionEvent.hh"                       59 #include "G4fissionEvent.hh"
 59                                                    60 
 60 #define nSPfissIso 8                               61 #define nSPfissIso 8
 61 #define nSPfissn 11                                62 #define nSPfissn 11
 62                                                    63 
 63 G4int G4fissionEvent::G4SmpSpNuDistData(G4int      64 G4int G4fissionEvent::G4SmpSpNuDistData(G4int isotope, G4int Cf252option) {
 64                                                    65 
 65 /*                                                 66 /*
 66   Description                                      67   Description
 67     Sample Number of Neutrons from spontaneous     68     Sample Number of Neutrons from spontaneous fission 
 68     (a) from the neutron multiplicity data for     69     (a) from the neutron multiplicity data for 
 69         U-238, Pu-238, Pu-240, Pu-242, Cm-242,     70         U-238, Pu-238, Pu-240, Pu-242, Cm-242, Cm-244
 70            using Holden and Zucker's tabulated     71            using Holden and Zucker's tabulated data
 71         Cf-252 using either Spencer's tabulate     72         Cf-252 using either Spencer's tabulated data or 
 72            Boldeman's data                         73            Boldeman's data
 73     (b) from Terrell's approximation using nub     74     (b) from Terrell's approximation using nubar for
 74         Th-232,                                    75         Th-232, 
 75         U-232, U-233, U-234, U-235, U-236,         76         U-232, U-233, U-234, U-235, U-236,
 76         Np-237,                                    77         Np-237, 
 77         Pu-239, Pu-241,                            78         Pu-239, Pu-241, 
 78         Am-241,                                    79         Am-241, 
 79         Bk-249                                     80         Bk-249
 80            using Ensslin's data.                   81            using Ensslin's data.
 81 */                                                 82 */
 82                                                    83 
 83 /*                                                 84 /*
 84   Input                                            85   Input
 85     iso          - isotope                         86     iso          - isotope
 86     Cf252option  - 0 to use Spencer's tabulate     87     Cf252option  - 0 to use Spencer's tabulated data
 87                    1 to use Boldeman's data        88                    1 to use Boldeman's data
 88   Output                                           89   Output
 89     G4SmpSpNuDistData - sampled multiplicity       90     G4SmpSpNuDistData - sampled multiplicity
 90                       -1 is the isotope has        91                       -1 is the isotope has 
 91                          no multiplicity data,     92                          no multiplicity data,
 92                          nor any nubar data        93                          nor any nubar data
 93 */                                                 94 */
 94                                                    95  
 95   G4int i, index;                                  96   G4int i, index;
 96   G4double sum, nubar;                             97   G4double sum, nubar;
 97   G4double r;                                      98   G4double r;
 98                                                    99 
 99   static G4double sfnu [nSPfissIso][nSPfissn]     100   static G4double sfnu [nSPfissIso][nSPfissn] = { 
100     {0.0481677,0.2485215,0.4253044,0.2284094,0    101     {0.0481677,0.2485215,0.4253044,0.2284094,0.0423438,0.0072533,
101      0.0000000,0.0000000,0.0000000,0.0000000,0    102      0.0000000,0.0000000,0.0000000,0.0000000,0.0000000},
102                                                   103 
103     {0.0631852,0.2319644,0.3333230,0.2528207,0    104     {0.0631852,0.2319644,0.3333230,0.2528207,0.0986461,0.0180199,
104      0.0020407,0.0000000,0.0000000,0.0000000,0    105      0.0020407,0.0000000,0.0000000,0.0000000,0.0000000},
105                                                   106 
106     {0.0679423,0.2293159,0.3341228,0.2475507,0    107     {0.0679423,0.2293159,0.3341228,0.2475507,0.0996922,0.0182398,
107      0.0031364,0.0000000,0.0000000,0.0000000,0    108      0.0031364,0.0000000,0.0000000,0.0000000,0.0000000},
108                                                   109 
109     {0.0212550,0.1467407,0.3267531,0.3268277,0    110     {0.0212550,0.1467407,0.3267531,0.3268277,0.1375090,0.0373815,
110      0.0025912,0.0007551,0.0001867,0.0000000,0    111      0.0025912,0.0007551,0.0001867,0.0000000,0.0000000},
111                                                   112 
112     {0.0150050,0.1161725,0.2998427,0.3331614,0    113     {0.0150050,0.1161725,0.2998427,0.3331614,0.1837748,0.0429780,
113      0.0087914,0.0002744,0.0000000,0.0000000,0    114      0.0087914,0.0002744,0.0000000,0.0000000,0.0000000},
114                                                   115 
115     {0.0540647,0.2053880,0.3802279,0.2248483,0    116     {0.0540647,0.2053880,0.3802279,0.2248483,0.1078646,0.0276366,
116      0.0000000,0.0000000,0.0000000,0.0000000,0    117      0.0000000,0.0000000,0.0000000,0.0000000,0.0000000},
117                                                   118 
118     {0.0021100,0.0246700,0.1229000,0.2714400,0    119     {0.0021100,0.0246700,0.1229000,0.2714400,0.3076300,0.1877000,
119      0.0677000,0.0140600,0.0016700,0.0001000,0    120      0.0677000,0.0140600,0.0016700,0.0001000,0.0000000},
120                                                   121 
121     {0.0020900,0.0262100,0.1262000,0.2752000,0    122     {0.0020900,0.0262100,0.1262000,0.2752000,0.3018000,0.1846000,
122      0.0668000,0.0150000,0.0021000,0.0000000,0    123      0.0668000,0.0150000,0.0021000,0.0000000,0.0000000} };
123                                                   124 
124 /*                                                125 /*
125   sample the spontaneous fission neutron numbe    126   sample the spontaneous fission neutron number distribution
126 */                                                127 */
127   index = -1;                                     128   index = -1;
128                                                   129 
129   if (isotope == 92238) index = 0;                130   if (isotope == 92238) index = 0;
130   else if (isotope == 94240) index = 1;           131   else if (isotope == 94240) index = 1;
131   else if (isotope == 94242) index = 2;           132   else if (isotope == 94242) index = 2;
132   else if (isotope == 96242) index = 3;           133   else if (isotope == 96242) index = 3;
133   else if (isotope == 96244) index = 4;           134   else if (isotope == 96244) index = 4;
134   else if (isotope == 94238) index = 5;           135   else if (isotope == 94238) index = 5;
135   else if (isotope == 98252 && Cf252option ==     136   else if (isotope == 98252 && Cf252option == 0) index = 6;
136   else if (isotope == 98252 && Cf252option ==     137   else if (isotope == 98252 && Cf252option == 1) index = 7;
137                                                   138 
138   if (index != -1) {                              139   if (index != -1) { 
139     r=fisslibrng();                               140     r=fisslibrng();
140                                                   141 
141     sum = 0.;                                     142     sum = 0.;
142     for (i = 0; i < nSPfissn-1; i++) {            143     for (i = 0; i < nSPfissn-1; i++) {
143       sum = sum + sfnu[index][i];                 144       sum = sum + sfnu[index][i];
144       if (r <= sum || sfnu[index][i+1] == 0.)     145       if (r <= sum || sfnu[index][i+1] == 0.) return i;
145     }                                             146     }
146     //                                            147     //
147     // Fall through                               148     // Fall through
148     //                                            149     //
149     G4cout << " Random number out of range in     150     G4cout << " Random number out of range in SmpSpNuDistData " << G4endl;
150     return -1;                                    151     return -1;
151                                                   152 
152   } else {                                        153   } else {
153 // There is no full multiplicity distribution     154 // There is no full multiplicity distribution data available
154 // for that isotope, let's try to find a nubar    155 // for that isotope, let's try to find a nubar for it in
155 // N. Ensslin, et.al., "Application Guide to N    156 // N. Ensslin, et.al., "Application Guide to Neutron
156 // Multiplicity Counting," LA-13422-M (Novembe    157 // Multiplicity Counting," LA-13422-M (November 1998)
157 // and use Terrell's approximation                158 // and use Terrell's approximation
158     nubar = G4SmpSpNubarData(isotope);            159     nubar = G4SmpSpNubarData(isotope);
159     if (nubar != -1.) {                           160     if (nubar != -1.) {
160       return (G4int) G4SmpTerrell(nubar);         161       return (G4int) G4SmpTerrell(nubar);
161     } else {                                      162     } else {
162 // There is no nubar information for that isot    163 // There is no nubar information for that isotope, return -1,
163 // meaning no data available for that isotope     164 // meaning no data available for that isotope
164       return -1;                                  165       return -1;
165     }                                             166     }
166   }                                               167   }
167 }                                                 168 }
168                                                   169