/* * DO NOT MANUALLY UPDATE THIS FILE. * If needed: make cpp_headers * * fortran2c.py - automatic conversion * lwnpwx.inc -> lwnpwx.h */ #ifndef __LWNPWX__ #define __LWNPWX__ #include "types.h" #ifdef __cplusplus extern "C" { #endif // //=== Lwnpwx ===========================================================* // //----------------------------------------------------------------------* // * // Copyright (C) 2019-*: CERN * // Copyright (C) 2003-2019: CERN & INFN * // All Rights Reserved. * // * // LoW energy Neutron Point-Wise Xsec common: * // * // Created on 27 May 1997 by Alfredo Ferrari * // Infn - Milan * // * // Description of variables: * // * // Emnpwx(i) = minimum usable energy (GeV) for the i_th * // pointwise cross section data set * // Emxpwx(i) = maximum usable energy (GeV) for the i_th * // pointwise cross section data set * // Tmppwx(i) = temperature (K) for the i_th pointwise cross * // section data set * // Emnsab = minimum energy for pointwise treatment in * // presence of (group) S(a,b) treatment * // Emnfrg = minimum energy for pointwise free gas * // treatment * // Kscpwx(j,i) = id. of the j_th particle produced in the i_th * // reaction channel (gammas not included!) * // Kbgpwx(i) = starting location in blank common (i*4, 0 * // address) for the i_th pointwise cross section * // data set * // Kelpwx(i) = starting location in blank common (i*4, 0 * // address) for the elastic scattering data of * // the i_th pointwise cross section data set * // Iazpwx(i) = Z*10000 + A*10 + m code for the i_th pointwise* // cross section data set. If zero, we respect * // the old treatment: groupwise if available and * // the few pointwise isotopes/channels of the * // past. * // Kbnpwx(i) = bound material index associated with the i_th * // pointwise cross section data set * // Kmdpwx(i) = low energy neutron material index associated * // with the i_th pointwise cross section data set* // Nrcpwx(i) = number of reactions for the i_th pointwise * // cross section data set * // Nthpwx(i) = number of thermal (run-time Doppler broadened * // or S(a,b)) reactions for the i_th pointwise * // cross section data set * // Ithpwx(k,i) = id. of the k_th thermal (run-time Doppler bro-* // adened or S(a,b)) reaction. The 1st one must * // be total over the whole thermal energy range * // Thmxpw(k,i) = maximum energy (GeV) for cross section data * // of the k_th thermal (run-time Doppler broad- * // ened or S(a,b)) reaction * // Thmnpw(k,i) = minimum energy (GeV) for cross section data * // of the k_th thermal (run-time Doppler broad- * // ened or S(a,b)) reaction * // Dlthpw(k,i) = if > 0 is the logarithmic width of the tabula-* // tion grid for cross section data of the k_th * // thermal (run-time Doppler broadened or S(a,b))* // reaction. If >= 0 the grid is unequal * // Mthpwx(k,i) = number of tabulated logarithmic energy * // points between Thmnpw(k,i) and Thmxpw(k,i) * // for cross section data of the k_th thermal * // (run-time Doppler broadened or S(a,b)) * // reaction * // Kthpwx(k,i) = starting location in blank common (r*8, 0 * // address) for cross section data of the k_th * // thermal (run-time Doppler broadened or S(a,b))* // reaction. The data are Mthpwx(k,i) Log(Ej) * // values, followed by Mthpwx(k,i) Log(Xsj) * // values * // Nellcf(i) = number of Legendre coefficients for the i_th * // pointwise cross section data set * // Nelsen(i) = number of energy points for elastic scattering* // angular distributions for the i_th pointwise * // cross section data set * // Nnglev(i) = number of energy levels (ground state is tak- * // en as level #1, the virtual capture level is * // #Nnglev) to be considered for radiative cap- * // ture for the i_th pointwise cross section * // data set * // Kngpwx(i) = starting location in blank common (i*4, 0 * // address) for the radiative capture data of * // the i_th pointwise cross section data set * // The data consist of Nnglev(i) energy levels * // each jth one with j-1 branching ratios to the * // underlying j-1 levels. The total number of * // points is Sum^Nnglev_1[j] * // Ninlev(i) = number of energy levels to be considered for * // inelastic scattering for the i_th pointwise * // cross section data set. The levels include * // the ground state (#1) and the continuum lower * // boundary (#Ninlev) * // Kinpwx(i) = starting location in blank common (i*4, 0 * // address) for the inelastic scattering data of * // the i_th pointwise cross section data set * // The data consist of Ninlev(i) energy levels * // each jth one with j-1 branching ratios to the * // underlying j-1 levels. The total number of * // points is Sum^Ninlev_1[j] * // Nincen(i) = number of energy points for inelastic scatt- * // ering into the continuum for the i_th point- * // wise cross section data set * // Ninden(i) = number of data points per energy point for * // inelastic scattering into the continuum for * // the i_th pointwise cross section data set * // Knincd(i) = kind of data description for inelastic scatt- * // ering into the continuum for the i_th point- * // wise cross section data set * // Kicpwx(i) = starting location in blank common (i*4, 0 * // address) for the inelastic scattering into * // continuum data of the i_th pointwise cross * // section data set. The data consist of * // Nincen(i) x Ninden(i) real numbers. Their * // meaning is depending on Knincd(i) * // Nnpenr(i) = number of energy points for (n,np) scattering * // for the i_th pointwise cross section data set * // Nnpden(i) = number of data points per energy point for * // (n,np) scattering for the i_th pointwise cross* // section data set * // Knnpdt(i) = kind of data description for (n,np) scattering* // for the i_th pointwise cross section data set * // Knppwx(i) = starting location in blank common (i*4, 0 * // address) for (n,np) scattering data of the * // i_th pointwise cross section data set. The * // data consist of Nnpenr(i) x Nnpden(i) real * // numbers. Their meaning is depending on * // Knnpdt(i) * // Nnaenr(i) = number of energy points for (n,na) scattering * // for the i_th pointwise cross section data set * // Nnaden(i) = number of data points per energy point for * // (n,na) scattering for the i_th pointwise cross* // section data set * // Knnadt(i) = kind of data description for (n,na) scattering* // for the i_th pointwise cross section data set * // Knapwx(i) = starting location in blank common (i*4, 0 * // address) for (n,na) scattering data of the * // i_th pointwise cross section data set. The * // data consist of Nnaenr(i) x Nnaden(i) real * // numbers. Their meaning is depending on * // Knnadt(i) * // Nndenr(i) = number of energy points for (n,nd) scattering * // for the i_th pointwise cross section data set * // Nndden(i) = number of data points per energy point for * // (n,nd) scattering for the i_th pointwise cross* // section data set * // Knnddt(i) = kind of data description for (n,na) scattering* // for the i_th pointwise cross section data set * // Kndpwx(i) = starting location in blank common (i*4, 0 * // address) for (n,nd) scattering data of the * // i_th pointwise cross section data set. The * // data consist of Nndenr(i) x Nndden(i) real * // numbers. Their meaning is depending on * // Knnddt(i) * // Nn3enr(i) = number of energy points for (n,n3-He) scatt. * // for the i_th pointwise cross section data set * // Nn3den(i) = number of data points per energy point for * // (n,n3-He) scatt. for the i_th pointwise cross * // section data set * // Knn3dt(i) = kind of data description for (n,n3-He) scatt. * // for the i_th pointwise cross section data set * // Kn3pwx(i) = starting location in blank common (i*4, 0 * // address) for (n,n3-He) scatt. data of the * // i_th pointwise cross section data set. The * // data consist of Nn3enr(i) x Nn3den(i) real * // numbers. Their meaning is depending on * // Knn3dt(i) * // Nntenr(i) = number of energy points for (n,nt) scattering * // for the i_th pointwise cross section data set * // Nntden(i) = number of data points per energy point for * // (n,nt) scattering for the i_th pointwise cross* // section data set * // Knntdt(i) = kind of data description for (n,nt) scattering* // for the i_th pointwise cross section data set * // Kntpwx(i) = starting location in blank common (i*4, 0 * // address) for (n,nt) scattering data of the * // i_th pointwise cross section data set. The * // data consist of Nntenr(i) x Nntden(i) real * // numbers. Their meaning is depending on * // Knntdt(i) * // N2nenr(i) = number of energy points for (n,2n) scattering * // for the i_th pointwise cross section data set * // N2nden(i) = number of data points per energy point for * // (n,2n) scattering for the i_th pointwise cross* // section data set * // Kn2ndt(i) = kind of data description for (n,2n) scattering* // for the i_th pointwise cross section data set * // K2npwx(i) = starting location in blank common (i*4, 0 * // address) for (n,2n) scattering data of the * // i_th pointwise cross section data set. The * // data consist of N2nenr(i) x N2nden(i) real * // numbers. Their meaning is depending on * // Kn2ndt(i) * // N3nenr(i) = number of energy points for (n,3n) scattering * // for the i_th pointwise cross section data set * // N3nden(i) = number of data points per energy point for * // (n,2n) scattering for the i_th pointwise cross* // section data set * // Kn3ndt(i) = kind of data description for (n,3n) scattering* // for the i_th pointwise cross section data set * // K3npwx(i) = starting location in blank common (i*4, 0 * // address) for (n,3n) scattering data of the * // i_th pointwise cross section data set. The * // data consist of N3nenr(i) x N3nden(i) real * // numbers. Their meaning is depending on * // Kn3ndt(i) * // Nmpwxs = number of defined pointwise cross section * // data sets * // Lpwxsp = logical flag for printing pointwise cross * // section data * // * //----------------------------------------------------------------------* // // Total cross section index: const int MXRPWX = 76; // Elastic cross section index const int KPWXTT = 1; // (Total) inelastic cross section index const int KPWXEL = 2; // (n,2n) cross section index const int KPWXIN = 3; // Fission cross section index const int KPWX2N = 4; // Capture (n,gamma) cross section index const int KPWXFS = 5; // 1st excited level inelastic cross section index const int KPWXCP = 6; // Continuum inelastic cross section index const int KPWX1S = 7; // (n,3n) cross section index const int KPWXCO = 47; // (n,n alpha) cross section index const int KPWX3N = 48; // (n,n 3alpha) cross section index const int KPWXNA = 49; // (n,2n alpha) cross section index const int KPWN3A = 50; // (n,3n alpha) cross section index const int KPW2NA = 51; // (n,n p) cross section index const int KPW3NA = 52; // (n,n 2alpha) cross section index const int KPWXNP = 53; // (n,2n 2alpha) cross section index const int KPWN2A = 54; // (n,n d) cross section index const int KP2N2A = 55; // (n,n t) cross section index const int KPWXND = 56; // (n,n 3-He) cross section index const int KPWXNT = 57; // (n,n d 2alpha) cross section index const int KPWXN3 = 58; // (n,n t 2alpha) cross section index const int KPND2A = 59; // (n,4n) cross section index const int KPNT2A = 60; // (n,2n p) cross section index const int KPWX4N = 61; // (n,3n p) cross section index const int KPW2NP = 62; // (n,p) cross section index const int KPW3NP = 63; // (n,d) cross section index const int KPWXPR = 64; // (n,t) cross section index const int KPWXDE = 65; // (n,3He) cross section index const int KPWXTR = 66; // (n,alpha) cross section index const int KPW3HE = 67; // (n,2alpha) cross section index const int KPWXAL = 68; // (n,3alpha) cross section index const int KPWX2A = 69; // (n,2p) cross section index const int KPWX3A = 70; // (n,p alpha) cross section index const int KPWX2P = 71; // (n,t 2alpha) cross section index const int KPWXPA = 72; // (n,d 2a) cross section index const int KPWT2A = 73; // (n,p d) cross section index const int KPWD2A = 74; // (n,p t) cross section index const int KPWXPD = 75; // (n,S(a,b)) incoherent inelastic const int KPWXPT = 76; // (n,S(a,b)) incoherent elastic const int KPWXII = 101; // (n,S(a,b)) coherent elastic const int KPWXIE = 102; // const int KPWXCE = 103; extern struct { double emnpwx[MXXMDF]; double emxpwx[MXXMDF]; double tmppwx[MXXMDF]; double thmnpw[MXXMDF][6]; double dlthpw[MXXMDF][6]; double thmxpw[MXXMDF][6]; double emnsab; double emnfrg; int ithpwx[MXXMDF][6]; int kthpwx[MXXMDF][6]; int mthpwx[MXXMDF][6]; int kscpwx[MXRPWX][4]; int kbgpwx[MXXMDF]; int kelpwx[MXXMDF]; int iazpwx[MXXMDF]; int kmdpwx[MXXMDF]; int nrcpwx[MXXMDF]; int nellcf[MXXMDF]; int nelsen[MXXMDF]; int nnglev[MXXMDF]; int kngpwx[MXXMDF]; int ninlev[MXXMDF]; int kinpwx[MXXMDF]; int nincen[MXXMDF]; int ninden[MXXMDF]; int knincd[MXXMDF]; int kicpwx[MXXMDF]; int nnpenr[MXXMDF]; int nnpden[MXXMDF]; int knnpdt[MXXMDF]; int knppwx[MXXMDF]; int nnaenr[MXXMDF]; int nnaden[MXXMDF]; int knnadt[MXXMDF]; int knapwx[MXXMDF]; int nndenr[MXXMDF]; int nndden[MXXMDF]; int knnddt[MXXMDF]; int kndpwx[MXXMDF]; int nntenr[MXXMDF]; int nntden[MXXMDF]; int knntdt[MXXMDF]; int kntpwx[MXXMDF]; int nn3enr[MXXMDF]; int nn3den[MXXMDF]; int knn3dt[MXXMDF]; int kn3pwx[MXXMDF]; int n2nenr[MXXMDF]; int n2nden[MXXMDF]; int kn2ndt[MXXMDF]; int k2npwx[MXXMDF]; int n3nenr[MXXMDF]; int n3nden[MXXMDF]; int kn3ndt[MXXMDF]; int k3npwx[MXXMDF]; int nthpwx[MXXMDF]; int kbnpwx[MXXMDF]; char chndb[MXXMDF][16]; char chnsab[MXXMDF][16]; int nmpwxs; logical lpwxsp; } lwnpwx_; // Default neutron library for this version // const char DEFNDB = 'JEFF-3.3'; extern struct { char chrpwx[MXRPWX][8]; } lchpwx_; #ifdef __cplusplus } #endif #endif