JAERI-Data/Code 99-048
-
Upload
khangminh22 -
Category
Documents
-
view
0 -
download
0
Transcript of JAERI-Data/Code 99-048
This report is issued irregularly.
Inquiries about availability of the reports should be addressed to Research Information
Division, Department of Intellectual Resources, Japan Atomic Energy Research Institute,
Tokai-mura, Naka-gun, Ibaraki-ken, 319-1195, Japan.
© J a p a n Atomic Energy Research Institute, 1999
JAERI-Data/Code 99-048
Development of Automatic Editing System for MCNP Library "autonj"
Fujio MAEKAWA, Kiyoshi SAKURAT1, KazuakiKOSAKO*1, Etsuo KUME+2)
Nobuo KAWASAKI*2, Yasushi N0MURA+3 and Yoshitaka NAITO*3
Center for Neutron Science
Tokai Research Establishment
Japan Atomic Energy Research Institute
Tokai-mura, Naka-gun, Ibaraki-ken
(Received November 15, 1999)
As an activity of the MCNP High-Temperature Library Production Working Group
under the Nuclear Code Evaluation Special Committee of Nuclear Code Committee, the
automatic editing system for MCNP library "autonj" was developed. The autonj includes
the NJOY-97 code as its main body, and is a system that enables us to easily produce
cross section libraries for MCNP from evaluated nuclear data files such as JENDL-3.2.
A temperature dependent library at six temperature points based on JENDL-3.2 was
produced by using autonj. The autonj system and the temperature dependent library
were installed on the JAERI AP3000 computer.
Keywords : autonj, MCNP, NJOY, JENDL-3.2, Temperature Dependent, AP3000
+1 Nuclear Safety Research Center+2 Center for Promotion of Computational Science and Engineering+3 Department of Fuel Cycle Safety Research
*' Sumitomo Atomic Energy Industries, Ltd.
*2 FUJITSU, Ltd.
*3 NAIS, Ltd.
JAERI-Data/Code 99-048
Contents
1. Introduction 1
2. autonj System 2
2.1 Outline of the System 2
2.2 NJOY97Code 3
2.3 Processing Conditions 4
2.4 Installation of autonj 7
2.5 Execution of autonj - 8
3. Verification Calculation 10
3.1 Benchmark Problems " 10
3.2 Comparisons of Calculated Results 10
4. Temperature Dependent Libraries 12
4.1 Production of the Library 12
4.2 Verification of the Library 12
5. Utilization on the JAERI AP3000 System 14
5.1 Places of Installation and File Names 14
5.2 HowtoUtilize — 15
5.3 How to Obtain Evaluated Nuclear Data File JENDL-3.2 16
6. S u m m a r y •••; 18
Acknowledgment 18
References 19
Appendix A Local Patch File "uphp45" for NJOY97.45/SAE 35
Appendix B An example of Batch Excution of autonj on AP3000 52
iv
JAERI-Data/Code 99-048
2.2 autonj-pub.tar
drwxrwxrwx-rw-rw-rw-drwxrwxrwx
drwxrwxrwx
Utility:-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—
autonj-test:-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—
njoy:-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r---rw-r—r—-rw-r—r—-rw-r—r—-rw-r—r—
21212
111111
111111111111
1111
111111111111
111111111111
fujiofujiofujiofujiofujio
fujiofujiofujiofujiofujiofujio
fujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujio
fujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujiofujio
usersusersusersusersusers
usersusersusersusersusersusers
usersusersusersusersusersusersusersusersusersusersusersusers
usersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusersusers
10248806400
1024167441024
168483096228954614475212792
2744336858
4853794182
636473144631039741782
1356482625
3512289782
354349
11795761343322820801554881209163417641138646742470829643481624682019805838442112144338840200380387000207432367736406782063141201425734660076356556170366
JulJulJulJanJul
JanJanJanJanJanJan
DecDecDecDecDecDecDecDecDecDecDecDec
JanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJanJan
3131312931
191919191929
111112111411151015111515
19191919191919191919191919191919191919191919191919191919
21:4421:3821:45199921:45
199919991999199919991999
199819981998199819981998199819981998199819981998
1999199919991999199919991999199919991999199919991999199919991999199919991999199919991999199919991999199919991999
Utilityautonj-pub.tarautonj-testautonj.shnjoy
awr-listmakxsf.fmatlist.fmklxsd.fmkxsdir.fnj-inp.f
C_l.1stC_l.ncnCu_l.1stCu_l.mcnFe_l.1stFe_l .menSigl.1stSigl.menSinl.1stSinl .menfpl8.1stfpl8.men
Make-hpMake-sunacer.fbroadr.fccccr.fcovr.fdtfr.ferrorr.fgaminr.fgaspr.fgroupr.fheatr.fleapr. fmatxsr.fmixr.fmoder.fnjoy.fplotr.fpowr.fpurr.freconr.fresxsr.fthermr.funresr.fup45uphp45viewr.fwimsr.f
- 21 -
: 2.3 autonj
file namfi
aceflautonj.shautonj-countautonj_dummyautonj-matlistautonj-nowautonj-stopautonj-xsdirfsxlb32*inp-autonjinputmakxsfjdmatlist_ldmkxsdir_ldmklxsd_ldnjoy/xnjoynj-inp_ldoutputspecstape*tape91tape92tprintUitlity/awr-listUtihty/makxsf.fUtdlity/matlist^Utility/mkxsdir.fUtility/mklxsdfUtility/nj-inpfxsdir.fsxlb32*
Hirartnry name
ACE-FILEJENDL-evalJ3R2njoyOUT-FILEUtility
mmment
a single type-1 library integrated aUACE-files [temporary, formatted].a C-shell script file for executing the autonj system [permanent, formatted].a file included count number of processed nuclides by NJOY97 [scratch, formatted].a dummy file stored the non-displayed message [scratch, formatted].a file stored the processing nuclides and the file names [scratch, formatted].a file included now processing nuclide name [scratch, formatted].a file included an error message from autonj [temporary, formatted].a directory file of single type-1 library integrated allACE-files [temporary, formatted].a default name of MCNP continuous energy neutron cross section library [optional, formatted & unformatted].user input data file for the autonj [temporary, formatted].an input data file for NJOY97.45/SAE [scratch, formatted].MAKXSF execution file [scratch, unformatted].MATLIST execution file [scratch, unformatted].MKXSDIR execution file [scratch, unformatted].MK1XSD execution file [scratch, unformatted].NJOY97.457SAE execution file [permanent, unformatted].NJ-INP execution file [scratch, unformatted].an output list file by NJOY97.45/SAE [scratch, formatted].an input data file for MAKXSF [scratch, formatted].interface files by each module in NJOY97 [scratch, formatted & unformatted].a nuclide of ACE-type cross section file by NJOY97 [scratch, formatted].a nuclide of directory file by NJOY97 [scratch, formatted].an output list file by MAKXSF [scratch, formatted].a file stored the atomic weight ratios for directory file [permanent, formatted].MAKXSF fortran source program [permanent, formatted].MATLIST fortran source program [permanent, formatted].MKXSDIR fortran source program [permanent, formatted].MK1XSD fortran source program [permanent, formatted].NJ-INP fortran source program [permanent, formatted].a default name of directory file of MCNP library, fexlb322 [optional, formatted].
mmmfmt.
to be stored the ACE-type cross section files (ace.#) and directory files (dir.#) by NJOY97 [optional, formatted].to be stored the evaluated nuclear data files uncompressed from the compressed files [scratch, formatted].stored the JENDL-3.2 files (j32fB3##) with ENDF-6 format [permanent, formatted].stored the NJOY97.45/SAE fortran source programs (*.f), the makefile (Make*) and the patch files (up*) [permanent, formatted].to be stored the compressed output list files (out.#.Z) by NJOY97 [optional, formatted].sotred utility programs above [permanent, formatted]
hp2» autonj.sh
autonj automatic production system of a mcnp cross sectionlibrary from JENDL by the NJOY97 code.
Please select your computer environment.HP = HP9000-series, HP-C-seriesSUN = Sun SparcStation4/5
= > HP
Please select an input mode.0 = input from a file.1 = interactive input on this terminal.==========> l
Please select the option of using disk space (or producing files)0 = minimum disk size (mcnp library)1 = medium disk size (mcnp library and output list)2 = maximum disk size (library, list and ace file)(maximum size is about 1.4 GB for JENDL-3.2.)(If blank, default size is minimum.)==========> 0
Please enter the path name where JENDL file are located.(When you finish entering all file names, please enter a blank.)(If a directory name is given, all files in the directory areprocessed. Only one directory name is allowed. The lastcharacter must not be a slash (/).)==========> J3R2
list of files in the directory aboveJ3R2/j32f6301J3R2/j32f6302J3R2/j32f6303J3R2/j32f6304J3R2/j32f6305J3R2/j32f6306J3R2/j32f6307J3R2/j32f6308J3R2/j32f6309J3R2/j32f6310J3R2/j32f6311J3R2/j32f6312J3R2/j32f6313J3R2/j32f6314
Please enter the MAT numbers of nuclides that you want to process.(If blank, all nuclides contained in the specified files are
processed.)
Please enter the processing temperature with NJOY97.(If blank, default temperature is 293 K.)(for example: 300 < 300 kelvin)( 27C < 27 Celsius = 300.15 K)==========> 293
Please enter a library identification number in zaid for MCNP.(It corresponds to the "suff" parameter in input data of NJOY/ACER.)(It must be integer with two degits.)(If blank, default identification number is 38. (If Fe, 26000.38c))==========> 80
Please enter a tolerance of pointwise cross section data.(The unit of tolerance is [%].)(If blank, default tolerance is 0.2 %.)==========> 0.2
Please enter the maximum number of discrete gamma-ray energies.(It must be less than 1000 for MCNP-4B or 200 for the previous version.)(If blank, default number is 1000.)
Please enter the general name of nuclear data file.(It will be a part of the "hk" in input data of NJOY/ACER.)(Maximum 16 characters.)(If blank, the name will be prepaired from the nuclear data file.)(for example: jendl-3.2 )
( + 1 + . )==========> JENDL-3.2
Please enter types of MCNP cross section library.(If blank, default type of library is Type-2.)1 = Type-1 (text format)2 = Type-2 (binary format)
12 = Type-1 and Type-2==========> 12
Please enter a file name of the MCNP cross section library.(Maximum 7 characters.)(When the given name is "fsxlib2", the complete name is "fsxlib21",if it is Type-1.)
M 2.2 autonj
COen
A NJOY97.45/SAE ffl D—* ;i//\° y ̂ 7 T -i ;!Aiphp45"
*ident hp* i
*/ machine-dependent changes to njoy97*/ for hp9000/735 workstations using hpux-9.05*/ be sure to use "*set sw"./*d njoy.280,281
data lab/'saei ' /data mx/'hp735 ' /
*/ provide machine-specific fatal error exit*d njoy.337,338
stop 77*/ elapsed time*d njoy.485
dimension tarray(2)c return user time plus system time
time=etime(tarray)*/ date*d njoy.495
dimension iarray(3)call idate(iarray)iarray(3)=iarray(3)-1900write(hdate,•(i2,lh/,i2,lh/,i2)') iarray(2),iarray(l),iarray(3)
*/ wall clock time*d njoy.508
character*24 sdatecall fdate(sdate)htime=sdate(12:19)
*/ machine constants for slatec functions*d njoy.4884,4895*d njoy.4900,5306cc machine constants for linux g77 with "*set sw"c
dmach(l)=2.22507385d-308dmach(2)=1.79769313d+308dmach(3)=1.11022302d-16dmach(4)=2.22044605d-16dmach(5)=0.30103001d+0
*/ random number generator*d njoy.5721,5722
rann=rand()*/* f•ident sael*, ^*/ change of primary dimension size*/ njoy97.45 version* j*/*d up27.21
common/astore/a(150000)*d up27.23
data namax/150000/, nidmax/27/*d up27.25
common/astore/a(150000)*d up27.27
common/astore/a(150000)*d up27.29
common/astore/a(150000)•d up27.31
common/astore/a(150000)*d up27.33
common/astore/a(150000)*d up27.35
common/astore/a(150000)*d up27.37
common/astore/a(150000)*d up27.39
common/astore/a(150000)*d up27.41
common/astore/a(150000)*d up27.43
common/astore/a(150000)*d up27.45
common/astore/a(150000)*/*d heatr.90
common/hstore/a(150000)*d heatr.98
namax=15000*/*d groupr.242
common/gstore/a(150000)*d groupr.268
iamax=150000*/*d dtfr.107
common/dstore/a(20000),sig(35000)*d dtfr.114
data nwamax/20000/,nwsmax/35000/•d dtfr.892
common/dstore/x(3500),y(3500),z(455),a(47545)*/• /
•ident sae2ir I _
*/ modification for njoy97.45*/ by k.kosako (saei)it ) _,
• /
*d up30.141 '(''need '',i7,'' more words for id '',a4,'', (iamax='',i82 '')'')') need,id,iamax
*/•i groupr.2981
save igl,ngl,nq*i groupr.3587
lfs=0*d groupr.3611
if (lfs.le.l) go to 150*d groupr.3907
save ifirst,nyl,nf1,nk,igmin*d groupr.4941
save eps,xc,ndnow.npnow,ncnow,elmax,e,epmax,na*d groupr.5166
save efirst,nl,inow,lnow,mnow,ncnow,na,enow*i groupr.5635
save elo,ehi,intt*d groupr.62 99
dimension p(21)*d groupr.6681
save li,iloca,lcd,lct,ltt
>tn
SSIpo00
ICO
*d groupr.7092save awr,ipd,ird,loca
*/*/ groupr : in lo=2, correct process when there is loss discrete*/ inelastic level*i groupr.7224
common/mainio/nsysi,nsyso,nsyse,ntty*i groupr.7232
common/lo21ol/alo21(30100),losmth(40)*/*d groupr.7243*/ imax=250•i groupr.72 69
lossmt=0*d groupr.7441,7489
if (mtO.eq.O) then
call mess('conver','convert photon transition probability '//& 'arrays (lo=2)','to photon yields (lo=l) of mf12.')
if (mth.ne.51.and.mth.ne.601.and.mth.ne.651.and.mth.ne.701.& and.mth.ne.751.and.mth.ne.801) then
if (mth.gt.51.and.mth.le.90) thenlossmt=mth-51mt0=50
elseif (mth.gt.601.and.mth.le.640) thenlossmt=mth-601mt0=600
elseif (mth.gt.651.and.mth.le.690) thenlossmt=mth-651mt0=650
elseif (mth.gt.701.and.mth.le.740) thenlossmt=mth-701mtO=700
elseif (mth.gt.751.and.mth.le.790) thenlossmt=mth-751mt0=750
elseif (mth.gt.801.and.mth.le.840) thenlossmt=mth-801mtO=8OO
endifdo i=l,lossmt
losmth(i)=i+mt0enddo
endifelse
if (mth.eq. 51.or.mth.eq.601.or.mth.eq.651.or.mth.eq.701.or.& mth.eq.751.or.mth.eq.801) then
else
if (mth.ne.mtO+1) thenlsmt0=mth-mt0-ldo i=l,lsmt0
losmth(lossmt+i)=mt0+ienddoIossmt=lossmt+lsmt0
endifendif
endifmt0=mthnt=n2ha(ie+j-l)=a(iscr)esns=a(iscr)ysum=0.il=iscr+6
do 1004 i=l,ntif (lg.eq.l) then
i2=il+2*(i-l)tp=a(i2+l)SP=1.
elseif (lg.eq.2) theni2=il+3*(i-l)tp=a(i2+l)gp=a(i2+2)
endifa(iaa+i-1)=tpa(ir+i-l)=gpa(ieg+i-l)=esns-a(i2)a(ies+i-l)=esnsa(iy+i-l)=tp*gp
1004 ysum=ysum+a(iy+i-1)if (j.eq.2) then
irx=lmax+lalo21(l)=irx
elseii=nint(alo21(j-2))ntn=nint(alo21(ii))irx=ii+ntn*3+lalo21(j-l)=irx
endifalo21(irx)=ntdo i=l,nt
alo21(irx+(i-l)*3+l)=a(ieg+i-l)alo21(irx+(i-1)*3+2)=a(ies+i-1)alo21(irx+i*3)=a(iy+i-1)
enddoif (j.eq.2) go to 1014ntup=nt
c loop over ns-levelsdo 1008 i=l,ntif (lg.eq.l) then
i2=il+2*(i-l)gp=l.
elseif (lg.eq.2) theni2=il+3*(i-l)gp=a(i2+2)
endifesi=a(i2)tp=a(i2+l)if (esi.eq.0.) go to 1008
c loop over previous ns-levelsdo 1007 k=2,j-lresi=esi/a(ie+k-1)-1.if (abs(resi).le.2.e-4) then
ii=nint(alo21(k-l))ntn=nint(alo21(ii))if (ntup+ntn.gt.lmax) then
write(strng,' (' 'required='' , i6, '' lmax='',i6)')& ntup+ntn,lmax
call error!'conver','gamma transition levels was lack.& ' ')
endifdo n=ntup+1,ntup+ntn
alo21(irx+(n-l)*3+l)=alo21(ii+(n-ntup-l)*3+l)alo21(irx+(n-l)*3+2)=alo21(ii+(n-ntup-1)*3+2)alo21(irx+n*3)=alo21(ii+(n-ntup)*3)*tp*gpa(ieg+n-l)=alo21(irx+(n-l)*3+l)a(ies+n-l)=alo21(irx+(n-l)*3+2)a(iy+n-l)=alo21(irx+n*3)
Is
o00
I
ysum=ysum+a(iy+n-1)enddontup=ntup+ntngo to 1008
endif1007 continue1008 continuec collapse duplicated gamma energies
nd=0do 1012 n=l,ntup-lif (n+nd.gt.ntup-1) go to 1013es i i =a(ieg+n-1)do 1011 k=n+l,ntup
1009 if (k+nd.gt.ntup) go to 1012resii=esii/a(ieg+k-1)-1.if (abs(resii).le.2.e-4) then
nd=nd+la(iy+n-l)=a(iy+n-1)+a(iy+k-l)alo21(irx+n*3)=a(iy+n-l)if (k.lt.ntup) then
do l=k,ntup-nd-lalo21(irx+(l-l)*3+l)=alo21(irx+l«3+l)alo21(irx+(l-l)*3+2)=alo21(irx+l*3+2)alo21(irx+l*3)=alo21(irx+(1+1)*3)a(ieg+l-l)=a(ieg+l)a(ies+l-l)=a(ies+l)
alo21(irx+l*3+l)=0.alo21(irx+l*3+2)=0.alo21(irx+(l+l)*3)=0.
enddogo to 1009
endifendif
1011 continue1012 continue1013 ntup=ntup-nd
if (nt.ne.ntup) thenalo21(irx)=ntupnt=ntup
endif1014 continue
l=nt*d groupr.7532
a(iscr+8)=esns*d groupr.7548
a(iscr+8)=esns*i groupr.7849
if (lossmt.gt.0) write(nsyso,'(& ' ' message from conver no given mt numbers in lo=2& ''were as follows:''4 /2 6x,''(number of mt ='',i4, ' ' ) ' '& /(26x,10i5>)•)
=l,lossmt)*/
lossmt,(losmth(i),
*i broadr.429mt4i=0
*i broadr.658if (mth.eq.4) then
do 278 i=l,nnncall findafi,tt,ntx,inew,a(ibufn),nbuf)if (tt(l).le.thnmax) then
b9=0.0d+0do 277 j=l,nreac
277 if (mtr(j).ge.51.and.mtr(j).le.90) b9=b9+tt(j+1)if (b9.gt.O.) go to 279call getunx(1,tt(1),en,sun,a)if (sun.gt.0.) go to 279
elsecall getylltt(1),enext,idis,sun.nscrl,a(ib))if (sun.gt.0.) go to 279
endif27 8 continue279 continue
endif*/*/ acer : neutron yield (mf=l, mt=452,456) of nr>l*i acer.1248
if (int.eq.l) then
b(2)=a(iy+l)call loada(ne,b,2,itape,a(ibuf),nbuf)
endif*d acer.1270150 if (int.eq.2) then
ne=ne+l
b(2)=a(iy+l)go to 175
endifxm=(a(ix+i-l)+a(ix+i-2))/2
*i acer.1284175 continue
*i acer.1302if (int.eq.l) b(2)=a(iy+l)
*/*d acer.205
nned=40*/*/ acer : bug fix to read the mf=6,lf=7 format•i acer.2058
if (lf.eq.7) go to 116*d acer.2066*d acer.2074,2075
ne=n2hdo 1118 ie=l,ne
•d acer.2077,2078nmu=n2hdo 1117 imu=l,nmu
*/*/ acer : double precision constants for accurate numericals*d acer.2705
delmuf=0.02d+0*d acer.2707
a(iamu)=-1.d+0•i acer.2710
a(iamu+50)=0.0d+0a(iamu+mmfne)=1.0d+0
•d acer.2731sum=0.0d+0
•d acer.2735,2738c for the 100 subinterval case, and from mu=-l to amumid, we don'tc print it if the area in any subinterval is negative,c for the 1000 subinterval case, we print a non fatal diagnosticc if the area in any subinterval is negative.*d acer.2739
>tnJO
1oo
if (iloop.eq.l.or.a(iprob+j-l).gt.O.) go to 240*d acer.2755
a(iamu)=-l.d+0*d acer.2757
do 270 j=2,mfmid*i acer.2759
a (mfmid+iamu) =amumid*/*/ acer : reject the zero angular probability bin*d acer.2997,3000
do 125 il=l,np125 if (a(2*il+ibase).gt.O.) go to 126
il = l126 if (il.eq.np.and.int.ge.2) il=il-l
i2=0do 130 i=il,npi2=i2+lamu(i2)=a(2*i-l+ibase)p(i2)=a(2«i+ibase)
130 continueif (il.gt.l) np=np-il+l
*/*/ acer : adjustment of the format statements*d acer.2742
1,el2.5 /25x,''e='• , el2 . 5 ,
at e=' ',el2.4/mt='',i3,'' int='•,i2)')
at e='',el2.4/mt=11,i3,'1 int='
at e='',el2.4/mt='',i3,'' int=
M2) •)
• ,12) ')
1 ' mt=' '
1 ' mf=' '
2 Ip,el2.5, ' ' and ",el2.5,",*d acer.3048,3050
3 25x,''is off by '',lp,el2.5,'4 25x,''mat='',i4,'' mf=11,i2,1
5 areal,e,mat,mf,mt,int*d acer.3108,3110
3 25x,''is off by '',lp,el2.5,'4 25x,''mat='',i4,'' mf='',i2,'5 areal,e,mat,mf,mt,int
*d acer.3153,31553 25x,''is off by '',lp,el2.5,'4 25x,''mat='',i4,'' mf='',i2,'5 areal,e,mat,mf,mt,int
•d acer.32843 25x,''area='',lp,el2.5,'' mat='•,i4,'' mf='',i2,
•d acer.32912 ''bins, '',/25x,''area='',lp,el2.5,'' mat='',i4,
*/*/ acer : in lo=2, correct process when there is loss discrete*/ inelastic level*i acer.3714
common/lo21ol/alo21(30100),losmth(40)character*60 strng
*/*d acer.3727*/ imax=2 50*i acer.3727
lmax=100*d acer.3732,3734
call reservf'eg',lmax,ieg,a)call reserv('es',lmax,ies,a)call reservl'y',lmax,iy,a)
*i acer.3786mt0=0lossmt=0
*d acer.3885,3888writelnsyso,'(6 '' message from convr integrated photon production'h '' cross section do not match to the total.''& /26x, " a £ = " , i 2 , " mt='',i3,'' e= ' ' , Ip,el2 . 5,& '.', endf yield=' ' , el2 . 5 , ' ' , integrated yield= •', el2 . 5
& /26x,''difference[%]='',el2.5)')& mfd,mtd,a(l+2*i-l),a(iyold-1+i),a(l+2*i),diff
•d acer.3928,3976if (mtO.eq.O) then
j=2call mess('convr','convert photon transition probability '//
& 'arrays (lo=2)','to photon yields (lo=l) of mf12.')if (mth.ne.51.and.mth.ne.601.and.mth.ne.651.and.mth.ne.701.
& and.mth.ne.751.and.mth.ne.801) thenif (mth.gt.51.and.mth.le.90> then
lossmt=mth-51mt0=50
elseif (mth.gt.601.and.mth.le.640) thenlossmt=mth-6 01mt 0=600
elseif (mth.gt.651.and.mth.le.690) thenlossmt=mth-651mt0=650
elseif (mth.gt.701.and.mth.le.740) thenlossmt=mth-7 01mt0=700
elseif (mth.gt.751.and.mth.le.790) thenlossmt=mth-7 51mt0=750
elseif (mth.gt.801.and.mth.le.840) thenlossmt=mth-801mt0=800
endifdo i=l,lossmt
losmth{i)=i+rat0enddo
endifelse
if (mth.eq. 51.or.mth.eq.601.or.mth.eq.651.or.mth.eq.701.or.& mth.eq.751.or.mth.eq.801) then
j=2else
j = j + lif (mth.ne.mtO+1) then
Ismt0=mth-mt0-ldo i=l,lsmt0
losmth(lossmt+i)=mt0+ienddoIossmt=lossmt+lsmt0
endifendif
endifmt0=mthnt=n2ha(ie+j-l)=a(iscr)esns=a(iscr)ysum=0.d+0il=iscr+6do 1004 i=l,ntif (lg.eq.l) then
i2=il+2*(i-l)tp=a(i2+l)gp=l.
elseif (lg.eq.2) theni2=il+3*(i-l)tp=a(i2+l)gp=a(i2+2)
endifa(iaa+i-l)=tp
>
in2
IOJ
a(ir+i-l)=gpa(ieg+i-1)=esns-a(i2)a(ies+i-l)=esnsa(iy+i-l)=tp*gpysum=ysum+a (iy+i-1)
1004 continueif (j.eq.2) then
irx=lmax+lalo21(l)=irx
elseii=nint(alo21(j-2))ntn=nint(alo21(ii))irx=ii+ntn*3+lalo21(j-l)=irx
endi £alo21(irx)=ntdo i=l,nt
alo21(irx+(i-l)*3+l>=a(ieg+i-1)alo21(irx+(i-1)*3+2)=a(ies+i-1)alo21(irx+i*3)=a(iy+i-1)
enddoif (j.eq.2| go to 1014ntup=nt
c loop over ns-levelsdo 1008 i=l,ntif (lg.eq.l) then
i2=il+2*(i-l)gp=l.
elseif (lg.eq.2) theni2=il+3*(i-1)gp=a(i2+2)
endifesi=a(i2)tp=a(i2+l)if (esi.eq.0.) go to 1008
c loop over previous ns-levelsdo 1007 k=2,j-lresi=esi/a(ie+k-l)-1.if (abs(resi).le.2.e-4) then
ii=nint(alo21(k-l))ntn=nint(alo21(ii))if (ntup+ntn.gt.lmax) then
write(strng,'(''required='',i6,'' lmax='',i6)')& ntup+ntn,lmax
call error('convr','gamma transition levels was lack.& • •)
endifdo n=ntup+l,ntup+ntn
alo21(irx+(n-l)*3+l)=alo21(ii+(n-ntup-l)*3+l)alo21(irx+(n-l)*3+2)=alo21(ii+(n-ntup-l)*3+2)alo21(irx+n*3)=alo21(ii+(n-ntup)*3)*tp*gpa(ieg+n-l)=alo21(irx+(n-l)*3+l)a(ies+n-l)=alo21(irx+(n-l)*3+2)a(iy+n-1)=alo21(i rx+n* 3)ysum=ysum+a(iy+n-1)
enddontup=ntup+ntngo to 1008
endif1007 continue1008 continuec collapse duplicated gamma energies
nd=0do 1012 n=l,ntup-l
if (n+nd.gt.ntup-1) go to 1013esii=a(ieg+n-1)do 1011 k=n+l,ntup
1009 if (k+nd.gt.ntup) go to 1012resii=esii/a(ieg+k-l)-1.if (abs(resii).le.2.e-4) then
nd=nd+la(iy+n-1)=a(iy+n-1)+a(iy+k-l)alo21(irx+n*3)=a(iy+n-1)if (k.lt.ntup) then
do l=k,ntup-nd-1alo21(irx+(l-l)*3+l)=alo21(irx+l*3+l)alo21(irx+(l-l)*3+2)=alo21(irx+l*3+2)alo21(irx+l*3)=alo21(irx+(l+l)*3)a(ieg+l-l)=a(ieg+l)a{ies+l-l)=a(ies+l)
alo21(irx+l*3+l)=0.alo21(irx+l*3+2)=0.alo21(irx+(l+l)*3)=0.
enddogo to 1009
endifendif
1011 continue1012 continue1013 ntup=ntup-nd
if (nt.ne.ntup) thenalo21(irx)=ntupnt=ntup
endif1014 continue
l=nt*d acer.4019
a{iscr+8)=esns*d acer.4035
a(iscr+8)=esns*i acer.4151
if (lossmt.gt.0) write(nsyso,'(& ' ' message from convr no given mt numbers in lo-2& ''were as follows:''& /2 6x,''(number of mt = 1 1,i4, 1 1) 1 1
& /(26x,10i5))')& lossmt,(losmth(i),i=l,lossmt)
*/*d acer.5710
if (gyl.eq.0.) thenxss(next+ngyl+j)=0.
elsexss(next+ngyl+j)=sigfig(y/gyl,7,0)
endif*/*d acer.6479
akal=2.d+0*fbarc*(1.d+0-4.d+0*fbarc**2.d+0/3.d+0)if (abs(akal).lt.5.d-3) akal=5.d-3
5̂26
I6oo
7 reconr : add the output message of resonance energy region andI modify the process by upper energy of unresolved resonanceI region (eresg) for zr-0 (jendl-3.2)d reconr.95
common/reslim/eres1,eresr,eresh,eresu,eresm,eresgi reconr.225
eresg=9.d9d reconr.482
common/reslim/eresl,eresr,eresh,eresu,eresm.eresg*i reconr.529c eresg is highest unresolved upper bound*i reconr.53 4
eresg=0.d+0*i reconr.590
if (eh.gt.eresg) eresg=eh•i reconr.917
write(nsyso,'(&/'' energy range of resonance parameters (ev)''
&/'' lowest resonance lower bound (eresl) '',lpel2.5&/'' highest resonance upper bound (eresh) ' ' , el2.5i/ ' ' highest resolved upper bound (eresr) ' ' , el2 . 5&/ ' ' lowest unresolved lower bound (eresu) '' , el2.5&/ ' ' lowest unresolved upper bound (eresm) .......'', el2. 5&/ ' ' highest unresolved upper bound (eresg) '', el2 . 5&/ ' ' the number of isotopes with resonance ' ' , il2&/ ' ' the number of total subsections ' ' , il2 ) ')& eresl,eresh,eresr,eresu,eresm,eresg,nis,nsect
*d reconr.933if (e.ge.(1+eps)*eresg) go to 390
•d reconr.944,9452 5x,Ip,2el2.3)') eresu,minleresr,eresg)
395 if (eresm.ge.eresg) go to 396*d reconr.948
2 5x,Ip,2el2.3)') eresm,eresg396 if (eresg.ge.eresr) return
writetnsyso,'(/1 ' ' mat has resolved-smooth overlap in range' '/2 5x,Ip,2el2.3)') eresg,eresr
*d reconr.1197common/reslim/eresl,eresr,eresh,eresu,eresm,eresg
*d reconr.1596common/reslim/eresl,eresr,eresh,eresu,eresm,eresg
*d reconr.1873common/reslim/eresl,eresr,eresh,eresu,eresm,eresg
*d reconr.1924if (e.ge.eresg) return
*d reconr.3513common/reslim/eresl,eresr,eresh,eresu,eresm.eresg
*d reconr.3763common/reslim/eresl,eresr,eresh,eresu,eresm,eresg
*/*/ heatr : process of mf=6,law=4 and skip unused mt in mf=6*d heatr.333
common/hmf6t/awpmt6(320),i6,mt6(320),i6g,mt6no(320)*i heatr.491
awpmt6(ii6)=0.d+0*i heatr.497
law=12h*i heatr.503
if (law.eq.4) thenmt6no(ii6)= -abs(ik-1)awpmt6(ii6)=c2hgo to 609
endif*d heatr.519*d heatr.556
if (abs(mt6no(ii6)),gt.0) thencall mess('hinit',strng,
& 'but, two-body recoil was already desired.1)elseif (rat.eq.102) then
*d heatr.642
common/hmf6t/awpmt6(320),i6,mt6(320),i6g,mt6no(320)•i heatr.1125
if (irec.eq.O) thenif (abs(mt6no(i6g)).eq.j6) irec=abs(mt6noIi6g))
elsej = j 6-irecif (j.gt.O) then
jl=0310 jl=jl+l
if (jl.gt.j) go to 316call tablio(nend6,0,0,alia),nb,nw)law=12hif (law.eq.1.or.law.eq.2.or.law.eq.5) then
call tab2io(nend6,0,0,a(ia),nb,nw)neO=n2hdo 312 ie=l,ne0call Iistio(nend6,0,0,a(ia),nb,nw)
311 if (nb.eq.0) go to 312call moreio(nend6,0,0,a(ia),nb,nw)go to 311
312 continueelseif (law.eq.6) then
call contio(nend6,0,0,a(ia),nb,nw)elseif (law.eq.7) then
call tab2io(nend6,0,0,a(ia),nb,nw)neO=n2hdo 315 ie=l,ne0call tablio(nend6,0,0,a(ia),nb,nw)nmu=n2hdo 314 imu=l,nmucall tablio(nend6,0,0,a(ia),nb,nw)
313 if (nb.eq.0) go to 314call moreio(nend6,0,0,a(ia),nb,nw)go to 313
314 continue315 continue
endifgo to 310
316 continueendifirec=0
endif*d heatr.1134
if Imt6no(i6g).gt.0) then*i heatr.2183
common/hmf6t/awpmt6(320),i6,mt6(320),i6g,mt6no(320)*d heatr.2208
call repoz(nin)*i heatr.2254
if (irec.gt.O.and.awpmt6(i6g).gt.0.) thenawp=awpmt 6(i 6g)
elselall=0
endif*d heatr.2293
if (irec.gt.0.and.lall.eq.0) ap=awr+l-awp*/*d heatr.2796
save small,xc,ndnow.npnow.ncnow,elmax,e,epmax,na*d heatr.3020
. save efirst.nl,inow.mnow,lnow,ncnow,na,enow
*/ heatr : in lo=2, correct process when there is loss discrete
Si8-
o00
*/ inelastic level*i heatr.3817
common/mainio/nsysi,nsyso,nsyse,nttycommon/proj/izap,awrpcommon/lo21ol/alo21(30100),losmth(40)
*/*d heatr.3827*/ imax=2 50*i heatr.3834
mt0=0lossmt^O
*d heatr.3888,3936if (mtO.eq.O) then
j = 2call mess('hconvr','convert photon transition probability '//
& 'arrays (lo=2)','to photon yields (lo=l) of mf12.')if (mth.ne.51.and.mth.ne.601.and.mth.ne.651.and.mth.ne.701.
& and.mth.ne.751.and.mth.ne.801) thenif (mth.gt.51.and.mth.le.90) then
lossmt=mth-51mt0=50
elseif (mth.gt.601.and.mth.le.640) thenlossmt=mth-601mt0=600
elseif (mth.gt.651.and.mth.le.690) thenlossmt=mth-651mt0=650
elseif (mth.gt.701.and.mth.le.740) thenlossmt=mth-701mt0=700
elseif (mth.gt.751.and.mth.le.790) thenlossmt=mth-751mt0=750
elseif (mth.gt.801.and.mth.le.840) thenlossmt=mth-801mtO=8OO
endi fdo i=l,lossmt
losmth(i)=i+mt0enddo
endifelse
if (mth.eq. 51.or.mth.eq.601.or.mth.eq.651.or.mth.eq.701.or.& mth.eq.751.or.mth.eq.801) then
d=2else
j=j + lif imth.ne.mt0+l) then
lsmt0=mth-mt0-ldo i=l,lsmt0
Iosmth{lossmt+i)=mt0+ienddoIossmt=lossmt+lsmt0
endifendif
endifmt0=mthnt=n2ha(ie+j-l)=a(iscr)esns=a(iscr)ysum=0.il=iscr+6do 1004 i=l,ntif (lg.eq.l) then
tp=a(i2+l)gp=l.
elseif (lg.eq.2) theni2=il+3*(i-l)tp=a(i2+l)gp=a(i2+2)
endifa(iaa+i-1)=tpa(ir+i-l)=gpa(ieg+i-l)=esns-a(i2)a(ies+i-l)=esnsa(iy+i-l)=tp*gp
1004 ysum=ysum+a(iy+i-l)if (j.eq.2) then
irx=lmax+lalo21(l)=irx
elseii=nint(alo21(j-2))ntn=nint(alo21(ii))irx=ii+ntn*3+lalo21(j-l)=irx
endifalo21(irx)=ntdo i=l,nt
x+(i-l)*3+l)=a(ieg+i-l)x+(i-l)*3+2)=a(ies+i-l)
alo21(irx+i*3)=a(iy+i-l)enddoif (j.eq.2) go to 1014ntup=ntloop over ns-levelsdo 1008 i=l,ntif (lg.eq.l) then
i2=il+2*(i-l)gp=l.
elseif (lg.eq.2) theni2=il+3*(i-l)gp=a(i2+2)
endifesi=a(i2)tp=a(i2+l)if (esi.eq.0.) go to 1008loop over previous ns-levelsdo 1007 k=2,j-1resi=esi/a(ie+k-l)-1.if (abs(resi),le.2.e-4) then
ii=nint(alo21(k-l))ntn=nint(alo21(ii))if (ntup+ntn.gt.lmax) then
write(strng,' (' 'reguired='' , i6, ' ' lmax='',i6)')& ntup+ntn,lmax
call error!'hconvr','gamma transition levels was lack.& ' ' )
endifdo n=ntup+l,ntup+ntn
alo21(irx+(n-l)*3+l)=alo21(ii+(n-ntup-l)*3+l)alo21(irx+(n-1)*3+2)=alo21(ii+(n-ntup-1)*3+2)alo21(irx+n*3)=alo21(ii+(n-ntup)*3)*tp*gpa(ieg+n-l)=alo21(irx+(n-1)*3+l)a(ies+n-l)=alo21(irx+(n-l)*3+2)a(iy+n-l)=alo21(irx+n*3)ysum=ysum+a{iy+n-1)
enddontup=ntup+ntn
PI50
s
otx
go to 1008endif
1007 continue1008 continuec collapse duplicated gamma energies
nd=0do 1012 n=l,ntup-lif (n+nd.gt.ntup-1) go to 1013esii=a(ieg+n-1)do 1011 k=n+l,ntup
1009 if (k+nd.gt.ntup) go to 1012resii=esii/a(ieg+k-1)-1.if (abs(resii),le.2.e-4) then
nd=nd+la ( iy+n-1) =a ( iy+n-1) +a (iy+k-1)alo21(irx+n*3)=a(iy+n-l)if (k.It.ntup) then
do l=k,ntup-nd-lalo21(irx+(l-l)*3+l)=alo21(irx+l*3+l)alo21(irx+(l-l)*3+2)=alo21(irx+l*3+2)alo21(irx+l*3)=alo21(irx+(l+l)*3)a(ieg+1-1)=a(ieg+1)a(ies+l-l)=a(ies+l)
•ident sae3it t
second modification for NJOY97.45(since njoy91)
alo21(irx+l*3+l)=0.alo21(irx+l*3+2>=0.alo21(irx+(l+l)*3)=0.
enddogo to 1009
endifendif
1011 continue1012 continue1013 ntup=ntup-nd
if (nt.ne.ntup) thenalo21(irx)=ntupnt=ntup
endif1014 continue
l=nt*d heatr.3979
a(iscr+8)=esns*d heatr.3995
a(iscr+8)=esns*i heatr.4083
if (lossmt.gt.0) write(nsyso,'(& '' message from hconvr no given mt numbers in lo=2& ''were as follows:''& /2 6x,'•(number of mt ='',i4,'')''& /(26x,10i5))•)& lossmt,(losmth(i),i=l,lossmt)
*/*/ heatr : set projectile data for mf=l,mt=456=452*d heatr.4023
izap=lawrp=l.d+0if (iverf.lt.6) go to 552call contio(nin,nout,nscr,a(iscr),nb,nw)call contio(nin,nout,nscr,a(iscr),nb,nw)izap=nlh/10awrp=clh
552 call tosendtnin,nout,nscr,a(iscr))*/*/
*/*/*/*/*/ acer : for nr>l in law 7, convert from probability to histogram*/ form, and fix the bug of tablio and moreio.•d acer.2969
dimension a(10),nbt0(10),jntO(10)*i acer.3187
now=nw+1*d acer.3189
call moreio(0,nout,0,a(now),nb,nw)now=now+nw
*i acer.3215now=nw+l
•d acer.3217call moreio(0,nout,0,a(now),nb,nw)now=now+nw
*i acer.3221c but, if nre > 1, convert probabilities to histogram form.*d acer.3223,3228
div=4.0d+0nd=nint(div)do 600 imu=l,nmucall tablio(nin,0,0,a,nb,nw)nre=nlhnpe=n2hif (nre.eq.l) then
call tablio(0,nout,0,a,nb,nw)610 if (nb.eq.0) go to 600
call moreio(nin,nout,0,a,nb,nw)go to 610
elsenow=nw+1
620 if (nb.eq.0) go to 63 0call moreio(nin,0,0,a(now),nb,nw)now=now+nwgo to 62 0
630 nw=now-lkbase=nwdo 640 i=l,4
640 a(kbase+i)=a(i)amuj =a(2)do 650 i=l,nrenbtO(i)=nint(a(2*i+5))
650 jnt0(i)=nint(a(2*i+6))ibase=2*nre+6jbase=kbase+8jr=ljp=Odo 670 i=l,npe-lif (i.gt.nbtO(jr)) jr=jr+lint=jnt0(jr)if (int.eq.l) then
jp=jp+la(jbase+2*jp-l)=a(ibase+2*i-l)a(jbase+2*jp) =a(ibase+2*i)
elseel=a(ibase+2*i-l)e2=a(ibase+2*(i+1)-1)pl=a(ibase+2*i>p2=a(ibase+2*(i + D )
>mJO
i00
CO
I
e3=elp3=plif (int.eq.2.or.int.eq.4) then
de=(e2-el)/divelse
de=log(e2/el)/divdb=log(el)
endifdo 660 j=l,ndif (int.eq.2.or.int.eq.4) then
e4=el+de*jelse
e4=exp{db+de*j)endifcall terpl(el.pl,e2,p2,e4,p4,int)PP=0.5d+0*(p3+p4)jp=jp+la(jbase+2«jp-l)=e3a(jbase+2*jp) =ppe3=e4p3=p4
660 continueendif
670 continueJP=JP+1a(jbase+2*jp-1)=a(ibase+2*npe-l)a(jbase+2*jp) =0.0d+0a(kbase+5)=1a(kbase+6)=jpa(kbase+7)=jpa(kbase+8)=lel=0.0d+0e2=l.d+llir=lip=2call intega(f2,el,e2,a(kbase+l),ip,ir)if (f2.gt.O.) then
do 680 i=l,jp680 a(jbase+2*i)=a(jbase+2*i)/f2
endifwrite(nsyso,'(
& /'' message from pttab probabilities of law 7 convert11
& (• to histogram form, for nr>l.''& /25x, •'e='• ,lp,el2.5, ' ' mu= ' ' , el2 . 5, • • mf=1',i2,1' nt=",& i3)')& e,amuj,mf,mt
if (abs(f2-l).gt.0.015) write(nsyso,'(& '' message from pttab integrated probability in11,& •• histohgram form is '',lp,el2.5,'• (criteria is 1.5%)."')'S. ) f2
l=kbase+lcall tablio(0,nout,0,a(l),nb,nw)
690 l = l+nwif (nb.eq.0) go to 700call moreio(0,nout,0,a(1),nb,nw)go to 690
700 continueendif
600 continue*i acer.5895542 jscr=jscr+nw
if (nb.eq.0) go to 543call moreio(nin,0,0,a(jscr),nb,nw)go to 542
543 continue
/ acer : bug fix the case of iopp (detailed photon option) is/ zero, while gamma production data exists,i acer.3683
if (iopp.eq.0) go to 330
/ groupr : check the number of subsections in gamma production/ data, for careless miss in nuclear data file,i groupr.3893
common/mainio/nsysi,nsyso,nsyse,nttyi groupr.4085
if (nyl.ne.nfl) thenwrite(nsyso,'(/'' *** refere below error message --> '',
4 '• mt='',i4,'' nyl(mfl2) = >',i4, •• nf1(mfl4) = • ' , i4) ' )& mtd.nyl.nfl
call error!'getff ,& ' number of subsections are different in gamma production.',& 'yield and angular distr.')endif
i groupr.4090if (nk.ne.l) then
write(nsyso,'!/'' *** refere below error message --> '',& '' mt=' ',i4, '' nyl(mfl2) = '',i4,' ' nk(mfl5) = '' , i4)')& mtd,nyl,nk
call error!'getff' ,& ' number of subsections are not allowed in gamma production.'& 'now, only nk=l for mf=15.')endif
*/ groupr : addition of fns 125/40 group structure*i groupr.129c * 18 fns 12 5-group structure*i groupr.143z * 11 fns 40-group structure*i groupr.1250= 18 fns 12 5-group structure*i groupr.1264
dimension egl8n(126)*i groupr.1386
data (egl8n(i),i=l,50)& / 1.0010d-05, 3.2241d-01, 5.3156d-01,
2.3823d+002.9023d+013.5357d+022.0346d+037.1016d+032.1874d+044.0867d+047.6349d+04
S> 1.4264d+05, 1.6163d+05,data (egl8n(i),i=51,100)& / 2.6649d+05, 3.0197d+05& 4.9786d+05,
9.3013d+05,1.7377d+06,2.3752d+06,3.2465d+06,4.4374d+06,6.0652d+06,8.2902d+06,
3.9278d+00, 6.4758d+00,4.7850d+01,5.8293d+02,2.6125d+03,9.1186d+03,2.4787d+04,4.6308d+04,8.6515d+04,
5.6415d+05,1.0540d+06,1.8498d+06,2.5284d+06,3.4559d+06,4.7236d+06,6.4564d+06,8.8249d+06,
.8891d+01,9.6110d+02,3.3546d+03,1.1709d+04,2.8087d+04,5.2474d+04,9.8035d+04,1.8315d+05,
8.7640d-01, 1.4449d+00,1.0677d+01, 1.7603d+01,1.3007d+02,1.2341d+03,4.3073d+03,1.5034d+04,3.1827d+04,5.9461d+04,1.1109d+05,2.0754d+05,
2.1445d+02,1.5846d+03,5.5307d+03,1.9304d+04,3.6065d+04,6.7378d+04,1.2588d+05,2.3517d+05 /
1.0317d+07, 1.0480d+07, 1.0645d+07, 1
3.4217d+05, 3.8774d+05, 4.3936d+05,6.3927d+05, 7.2438d+05, 8.2084d+05,1.1943d+06, 1.3533d+06, 1.5335d+06,1.9691d+06, 2.0961d+06, 2.2313d+06,2.6914d+06, 2.8650d+06,3.6787d+06, 3.9160d+06,5.0282d+06, 5.3525d+06,6.8728d+06, 7.3161d+06,9.3940d+06, 9.9999d+06,
0812d+07,
.0498d+06,4.1686d+06,5.6978d+06,7.7879d+06,1.0157d+07,1.0983d+07
>s6
oVO
ooo
data (egl8n(i),i=101,126)k I 1.1156d+07, 1.1331d+07, 1.1510d+07, 1.1691d+07, 1.1875d+07,
I
*d
•i
&&&S.&
1.1.1.1.1.
groupr.1 :
2062d+07,3042dn4102di5248dn6487dn1509
1200,1000groupr. 1687
1-07,•07,>-07,• 0 7
1.2252d+07,1.3248d+07,1.4324d+07,1.5488d+07,
,1300,1300,1350)
1.2445d+07,1.3456d+07,1.4550d+07,1.57323+07,
, ign
1111
.2641d+07,
.3668d+07,
.4779d+07,
.5980d+07,
1111
.2840d
.3883d
.5012d
+07,+07,+07,
.6231d+07,/
c ***fns 125-group structure1350 ng=125
do ig=l,12 6eg(ig)=egl8n(ig)
enddogo to 1900
*i groupr.1730if (ign.eq.18) writelnsyso,'!/1 '' neutron group structure fns 12 5-group' ')
*i groupr.1755c 11 fns 40-group structure*d groupr.17 64
dimension eg8(39),eglO(43),egll(41)*i groupr.1802
data egll2.0000d+04,1.0000d+04,
8.0000d+04,4.0000d+05,8.0000d+05,1.3750d+06,2.5000d+06,5.0000d+06,7.5000d+06,1.4000d+07
OOOOd+05,0000d+05,
9.0000d+05,1.5000d+06,3.0000d+06,5.5000d+06,8.0000d+06,
3.0000d+04,1.5000d+05,5.2000d+05,1.0000d+06,1.7500d+06,3.5000d+06,6.0000d+06,9.0000d+06,
4.5000d+04,2.0000d+05,6.0000d+05,1.1250d+06,2.0000d+06,4.0000d+06,6.5000d+06,1.0000d+07,
6.0000d+04,3.0000d+05,7.0000d+05,1.2500d+06,2,2500d+06,4.5000d+06,7.0000d+06,1.2000d+07,
*d groupr.1841go to (100,200,300,400,500,600,700,800,800,850,870),igg
•i groupr.1912cc ***fns 40-group structure870 ngg=40
do ig=l,41egg(ig)=egll(ig)
enddogo to 900
*i groupr.1935if (igg.eg.11) writelnsyso,'(/1 ' ' gamma group structure fns 42-group' ' ) ' )
*/ gaminr : upper energy limit of photon weight extends to 100 MeV*i gaminr.70c * 4 1/e + rolloffs (to 100 mev) **i gaminr.702c 4 1/e + rolloffs (to 100 mev)*d gaminr.710
dimension wtl(16),wt2(18)*i gaminr.713
data wt2/0.,0.,0.,0.,l.,4.,4.,5.,l.e3,l.e-4,l.e5,l.,1 l.e7,l.e-2,l.e8,l.e-3,3.e8,l.e-5/
*i gaminr.721if (iwt.eq.4) go to 140
*i gaminr.737cc ***l/e with high and low energy rolloffs (to lOOmev)140 writelnsyso,'(/'• weight function 1/e with rolloffs'',
& '• (to 100 mev)'')')
do i=l,18wght(i)=wt2(i)
enddoreturn
*/*/ gaminr : addition of fns 40 group structure*d gaminr.64c * 10 vitamin-j 42-group structure *c * 11 fns 40-group structure **i gaminr.504c 11 fns 40-group structure*d gaminr.513
dimension eg8(39),egl0(43),egll(41)*i gaminr.551
data egll& / 1.0000d+04, 2.0000d+04, 3.0000d+04, 4.5000d+04, 6.0000d+04,& 8.0000d+04, 1.0000d+05, 1.5000d+05, 2.0000d+05, 3.0000d+05,& 4.0000d+05, 5.0000d+05, 5.2000d+05, 6.0000d+05, 7.0000d+05,& 8.0000d+05, 9.0000d+05, 1.0000d+06, 1.1250d+06, 1.2500d+06,U 1.3750d+06, 1.5000d+06, 1.7500d+06, 2.0000d+06, 2.2500d+06,& 2.5000d+06, 3.0000d+06, 3.5000d+06, 4.0000d+06, 4.5000d+06,L 5.0000d+06, 5.5000d+06, 6.0000d+06, 6.5000d+06, 7.0000d+06,£. 7.5000d+06, 8.0000d+06, 9.00O0d+O6, 1.0000d+07, 1.2000d+07,& 1.4000d+07 /
*d gaminr.590go to (100,200,300,400,500,600,700,800,800,850,870),igg
*i gaminr.661cc ***fns 40-group structure870 ngg=40
do ig=l,41egg(ig)=egll(ig)
enddogo to 900
*i gaminr.684if (igg.eq.ll) write(nsyso,'(/1 '' gamma group structure fns 40-group11)')
*/«/*ident sae4*/*/ third modification for NJOY97.45*/ (since njoy94)*/*/*/ njoy : modification of error message.*d njoy.2438,2439
if (nwords.eq.0) thenstrng=•reserved identification = '//identcall error{'reserv','requested reserv of zero words.',strng)
endif*/*/ njoy : remove the smallest value from the error function.*i njoy.2739
if (erfc.lt.1.0d-250) erfc=0.d+0*/*/ errorr : bug fix for error check.*d errorr.291,292
if (nga.gt.nwi)1 call error('errorr',•too many reaction indexes for s.grpav.1,2 ' ')
*/*/ errorr : adjust the array size for merging the energy boundaries*/ in 0-16 of jendl-3.2.
>fflsi?5a.
ooo
I
*d errorr.528data nxmax/200/, irmax/60/
*/*/ errorr : escape to accumulate extra covariance in union energy structure*/ exceeded the final group boundary.*i errorr.1993
if (egtjg.ge.egn(ngn+l)) go to 380*/*/ heatr : fix a bug of format statement.*d heatr.2265
write(strng,'(''no distribution for mt'',i3,'' particle '',i4)')*/•/ acer : no process mt=203-207 in jendl fusion file.*/ Be carefull about usage of this condition!*/*i acer.1815*/ if (mt.ge.203.and.mt.le.207) go to 260*/*/ acer : bug fix for print of maximum energy of gamma production data.*i acer.7405
if (m.gt.O) n=nint(xss(loct+m-l))*/*/ moder : correspond to covariance with the unresolved resonance*/ subsection format, U-235 of jendl-3.2.*i moder.1150
ner=max(nlh,1)do 115 ne=l,ner
*i moder.1152lru=llhlrf=12hnro=nlh
*i moder.1154lcomp=12h
*i moder.1155if {lcomp.eq.1.and.lru.eq.1) call error('file32',& 'general resolved resonance subsection is not allowed.',' ')
*i moder.1162if (lru.eq.2) then
call listio(nin,nout,nscr,a,nb,nw)140 if (nb.eq.0) go to 150
call moreio(nin,nout,nscr,a,nb,nw)go to 140
150 continueendif
115 continue*/*/ groupr : adopt the lct=3 in mf=6, for lanl.hel*i groupr.4392
save jap*i groupr.4445
jap=jzap-(jzap/1000)*1000*d groupr.4538147 if (let.ne.2.and.(lct.ne.3.or.jap.gt.4)) go to 155
*d groupr.4701if (law.eq.l.and.(let.eq.2.or.(lct.eq.3.and.jap.le.4))) lepn=2
*d groupr.4704if (law.eq.l.and.(let.eq.2.or.(lct.eq.3.and.jap.le.4))) langn=l
*d groupr.47 51420 if (let.eq.2.or.(lct.eq.3.and.jap.le.4)) go to 450
*/*/ acer : merge the discrete photons (ntrp>1000) for mcnp-4b limitation*d acer.4586
nwscr=14000*i acer.6027c ***check the number of discrete photons for mcnp-4b
if (ntrp.gt.1000) thenntrpx=1000call findex('scr',iscr,a)call phtmrg(ntrpx,nin,matd.ngmt,next,nex,a(iscr),a)ntrpfg=lcall findex('phot',iphot,a)call findex('phtm',iphtm,a)go to 410
elsentrpfg=0
endifc*d acer.6231
if (ntrpfg.eq.0) thennex=nex+ntrp
elseif (ntrpfg.eq.l) thennex=nex+ntrpxi = 0
endif*d acer.6233
do 710 ij=l,ntrpif (ntrpfg.eq.0) then
elseif (ntrpfg.eq.l) thenif (a(iphtm+ij-l).lt.0.) go to 710
endif*i acer.6441
if (ntrpfg.eq.l) thencall releasl'phtm1,0,a)ntrp=ntrpx
endif*i acer.6463c
subroutine phtmrg(ntrpx,nin,matd,ngmt,next,nex,b,a)
c merge the discrete photons below 1000 (=ntrpx).
implicit double precision (a-h,o-z)common/mainio/nsysi,nsyso,nsyse,nttycommon /nxst/ Ien2,izaid.nes,ntr,nr,ntrp,nxsd(lO)i ommon /jxst/ esz,nu,mtr,lqr,tyr,lsig,sig,land,and,ldlw.dlw,
& gpd,mtrp,lsigp,sigp,landp,andp,ldlwp,dlwp,yp,fis,end,& iurpt,jxsd(9)common /cont/ clh,c2h,llh,12h,nlh,n2h,math,mfh,mth,nsh,nsp.nsccommon /Isize/maxl,max2,max3common /xsst/ xss(800000),n3dimension a(1),b(2000,1)integer esz,sig,and,tyr,dlw,gpd,fis,sigp,andp,dlwp.yp,endexternal reserv,findex,findf,contio,tablio,moreio,error,repoz,
& releas.terplcharacter strng*60
cc ***initialize
3 = 0nw=2000call reserv('phtm',nw,iphtm,a)nws=5*ntrpxcall reserv('phot',nws,iphot,a)call findex!'gmt',igmt,a)
cc ***loop over photon production reactionsc ***set up photon data
kgmt=0
>tnx
n
ap6oc
OS
100 kgmt=kgmt+lif (kgmt.gt.ngmt) go to 300mfd=nint(a(igmt-l+kgmt)/I000.)mtd=nint(a(igmt-l+kgmt))-mfd*1000call findf(matd,mfd,mtd,nin)cal1 cont io(nin,0,0,a(iphtm),nb,nws)awr=c2hnk=nlhik=0
110 call tablio(nin,0,0,a(iphtm),nb,nws)ip=iphtm
120 if (nb.eq.0) go to 130if (mfd.eq.13.and.(ik.gt.0.or.nk.eq.1)) go to 13 0if {mfd.ne.13) ip=ip+nwsif ((ip-iphtm+1).gt.nw) call error{'phtmrg',& 'insufficient storage for work area.',' '}call moreio(nin,0,0,a(ip),nb,nws)go to 120
130 if (ik.eq.O.and.nk.gt.1) go to 2903 = 3 + 1b(j,l)=mfdb(j,2)=mtdeg=clhen=c2hlp=llhlf=12hm=nlhn=n2hif (mfd.eq.16) then
eg=0.en=0.lp=0
endifif (lp.eq.2) eg=eg+en*awr/(awr+1.)b(j,3)=egb(j,5)=0.b(j,7)=0.if (nk.eq.1.or.eg.eq.0.) b(j,5)=l.jnt=nint(a(iphtm+5+2*m))if (mfd.eq.12.or.mfd.eq.16) then
do 140 im=l,ntr140 if (nint(xss(mtr+im-1)).eq.mtd) go to 150
write(strng,' (' 'cross section of mt=' ',i3,' ' not found.'') ')& mtd
call error('phtmrg',strng,' ')150 loca=nint(xss(lsig+im-l))
ie=nint(xss(sig+loca-1))ne=nint(xss(sig+loca))ip=iphtm+4+2*m
el=a(ip+2)yl=a(ip+3)e2=a(ip+4)y2=a(ip+5)nbt=nint(a(iphtm+ 6))jnt=nint(a(iphtm+7))sy=0.do 180 i=l,nee=xss(ie+i-l)s=xss(sig+loca+i)if (s.le.0.) go to 180
160 if (e.ge.el.and.e.lt.e2) thencall terpl(el,yl,e2,y2,e,y,jnt)
if (y.le.0.) go to 180go to 170
elseif (e.eq.e2) theny=y2ij=ij+lif (ij.gt.n) go to 170
elseif (e.lt.el) thengo to 180
elseij=ij+lif (ij.gt.n) go to 190
endifel=e2yl=y2e2=a(ip+(ij+l>*2)y2=a(ip+(ij+l)*2+l)if (ij.gt.nbt) then
ii=ii+lnbt=nint(a(iphtm+4+ii*2))jnt=nint(a(iphtm+4+ii*2+l))
endifif (e.gt.el) go to 160
170 if (sy.lt.s*y) sy=s*yif (b(j,7).lt.y) b(j,7)=yif (ij.gt.n) go to 190
180 continue190 b(j,4)=sy
elseif (mfd.eq.13) thenip= iphtm
200 if (nb.eq.0) go to 210ip=ip+nwscall moreio(nin,0,0,a(ip),nb,nws)go to 200
210 s=0.ip=iphtra+5+2 *mdo 220 i=l,n
220 if (a(ip+i*2).gt.s) s=a(ip+i*2)b(j,4)=s
endif290 ik=ik+l
if (nk.eq.1) go to 100if (ik.gt.nk) go to 100go to 110
300 if (j.ne.ntrp)& call error('phtmrg','no. of gamma energies not complete.
***compare the gamma production cross sections"•merge gamma levels with 5% difference of photon energydo i=l,ntrp
b(i,6)=b(i,7)enddomt=nint(b(l,2))eg=b(l,3)ii=0do 32 0 i=2,ntrpmtl=nint(b(i,2) )egl=b(i,3)if (mt.eq.mtl) then
if (eg.eq.0..or.egl.eq.0.) go to 310if (b(i-l,7).eq.0..or.b(i,7).eq.0.) go to 310if (b(i-l,5).ne.0..or.b(i,5).ne.O.) go to 310r=abs(eg/egl-l.d+0)if (r.le.0.05) then
if (b(i-l,4),ge.b(i,4)) then
>
sp600
, • •)
{i,6)=0.else
b(i-l,6)=0.endif
*egl/eg
)*eg/egl
endifendif
310 mt=mtleg=egl
320 continue
: ***thinning gamma level with lowest production cross sectionif (ntrp-ii.le.ntrpx) then
if (ntrp-ii.It.ntrpx) ntrpx=ntrp-iigo to 450
endifij=ntrp-ii-ntrpx
400 if (ij.le.O) go to 450g=l.d+203J=0do 410 i=l,ntrpif (b(i,5).ne.0.) go to 410if (g.gt.b(i,4)) then
g=b(i,4)jj = i
endif410 continue
if (jj.eq.O) call error('phtmrg',& 'thinning lowest gamma level not found.',' ')mt=nint(b(jj,2))11 = 012 = 0if (jj.eq.l) go to 425do 420 i=jj-l,l,-lif (nint(b(i,2)).ne.mt) go to 425if (b(i,5).eq.0.) then
11 = igo to 42 5
endif420 continue425 if (jj.eq.ntrp) go to 435
do 430 i=jj+l,ntrpif (nint(b(i,2)).ne.mt) go to 435if (b(i,5).eq.0.) then
12 = igo to 435
endif430 continue435 if (il.eq.0.and.i2.eq.0) then
b ( j j 5 ) lgo to 400
elseif (il.eq.0) thenb(jj,5)=-i2b(i2,6)=b(i2,6)+b(jj,6)*b(jj,3)/b(i2,3)
elseif (i2.eq.O) thenj
elserl=b(ir2=b(jj,3)/b(i2,3)
if (rl.le.l.5.and.r2.1e.l.5) thenif (rl.le.r2) then
iO=ilelse
iO=i2endif
elseif (rl.le.1.5) theniO = il
elseif (r2.1e.l.5) then
elseif (b(il,6).ge.b(i2,6)) then
iO = ilelse
iO=i2endif
endifb(jj,5)=-iOb(iO,6)=b(iO,6)+b(jj,6)*b(jj,3)/b(iO,3)
endif
do 440 i=l,ntrp440 if (-jj,eq.nint(b(i,5))) b(i,5)=b(jj,5)
go to 400450 continue
write(nsyso,10) ntrp,ntrpx,ii10 format!/' thinning and merging photon production reactions'
& / ' original photon production reactions ' , i5& / ' merged photon production reactions ' , i5& /' reactions merged within +-5% energies ',i5,& ' (merged y.=0.0)'& /' no. mf mt gamma yield prod.xsec',& ' merge merged y. state')ij=0do i=l,ntrp
strng=' 'if (b(i,5).ge.0.) then
write(strng(l:6),'(i6)') ijendifwrite(nsyso,11) i,nint(b(i,1)),nint(b(i,2)),b(i,3),b(i,7),
& b(i,4),nint(b(i,5)),b(i,6),strng(1:6)enddo
11 formatdh , 3i4 , Ip3el2 . 4, i6, el2 .4,a6)
***store the photon production yield or cross sectionscall repoz(nin)mtrp=nextnesp=nes1 s igp=mtrp+n trpxsigp=lsigp+ntrpxnex=sigpJ=0jj=Okgmt=0
510 kgmt=kgmt+lif (kgmt.gt.ngmt) go to 700mfd=nint(a(igmt-l+kgmt)/1000.)mtd=nint(a(igmt-l+kgmt))-mfd*1000call findf(matd,mfd,mtd,nin)call contio(nin,0,O.a(iphtm),nb,nws)nk=nlhmto=mtd*10000
6ftD
O
oo
I
I
ik=O520 call tablio(nin,0,O,a(iphtm),nb,nws)
ip=iphtm530 if (nb.eq.O) go to 540
if (mfd.eq.13.and.(ik.gt.0.or.nk.eq.1)) go to 540if (mfd.ne.13) ip=ip+nwscall moreio(nin,0,0,a(ip),nb,nws)go to 530
540 if (ik.eq.O.and.nk.gt.1) go to 6903 = j + lif (mfd.ne.l3.and.b(j,5).lt.0.) go to 690jj=jj+lxss(lsigp-1+jj)=nex-sigp+lxss(nex)=mfdnex=nex+lif (mfd.eg.12.or.mfd.Gq.16) then
xss(nexj=mtdnex=nex+l
endifif (mfd.eq.16) then
eg=0 .en=0 .lp=0
elseeg=clhen=c2hlp=llhlf=12hm-nlhn=n2h
endifif (mfd.eq.13) go to 600
: ***file 12 or 16ef=a(iphtm+2 *m+6)el-a(iphtm+2*m+2*n+4)xss(nex)=mjnt=nint(a(iphtm+5+2»m))if (m.eq.l.and.jnt.eq.2) then
xss(nex)=0.nex=nex+l
elsedo 550 i=l,mxss(nex+i)=a(iphtm+4+2»i)
550 xss(nex+i+m)=a(iphtm+5+2*i)nex=nex+2*m+l
endifxss(nex)=nip=iphtm+4+2 *mif (b(j,5).eq.l..and.nk.eq.l) then
do 560 i=l,nxss(nex+i)=a(ip+2*i)*l.d-6
560 xss(nex+i+n)=a(ip+2*i+l)go to 580
endi fdo 570 i=l,nxss(nex+i)=a(ip+2*i)*l.d-6if (a(ip+2*i+l).ne.b(j,7).and.a(ip+2*i+l).ne.0.) then
write(strng,'(''illegal yield '',Ip2el3.5,4i4)')& a(ip+2*i+l),b(j,7),j,jj,ik,i
call error!'phtmrg','detected uncorresponding yield.',strng)else
if (a(ip+2*i+l).eq.0.) thenxss(nex+i+n)=0.
elsexss(nex+i+n)=b(j,6)
endifendif
570 continue580 nex=nex+2*n+l
if (nex-l.gt.max3) call error('phtmrg',& 'insufficient storage for photon production yield.',' ')go to 680
cc ***file 13
600 continueel=a(iphtm+6+2 *m)teste=l.d-6*eldo 610 je=l,nesie=jeif (abs(xss(je+esz)-el).It.teste) go to 620
610 continue620 xss(nex)=ie
nex=nex+lje=0jn=0jfirst=0jlast=0ip=iphtm+5+2*mnlast=(nws-(6 + 2*m) ) /2do 640 i=l,nif (i.le.nlast) go to 630if (nb.eq.O) go to 630call moreio(nin,0,0,a(iphtm),nb,nws)ip-iphtm-2*nlast-lnlast=nlast+nws/2
630 continueteste-1.d-6*xss(esz+ie+je)if (abs(a(ip+2*i-l)-xss(esz+ie+je)).gt.teste) go to 640
if (a(ip+2*i).eq.0..and.jlast.eq.0.and.jn.eq.1) jn=0if (jn.eq.0) jfirst=ie+je-ljn=jn+1if (a(ip+2*i).ne.0.) jlast=jnxssijn+nex)=a(ip+2*i)if ((ie+je).gt.nesp) go to 650
640 continue650 if (jlast.lt.jn) jlast=jlast+1
n=jlastxss(nex-1)=jfirstef=xss(esz+ie)el-xss(esz+ie+n-1)xss(nex)=nnex=nex+n+lif (nex-l.gt.max3) call error('phtmrg',
& 'insufficient storage for photon production xsec.',' ')680 mto=mto+10
xss(mtrp-l+jj)=mtoif (If.eq.l) xss(mtrp-l+jj)=mto+lif (mfh.eq.16) xss(mtrp-l+jj)=mto+2a(iphot+5*(jj-1))=ega(iphot+5*(jj-l)+l)=ena(iphot+5*(jj-l)+2)=lpa(iphot+5*(jj-1)+3)=efa(iphot+5*(jj-l)+4)=el
690 ik=ik+lif (nk.eq.l) go to 510if (ik.gt.nk) go to 510
>
tn
n
aooc
to
go to 52 0700 if (jj.ne.ntrpx) call error('phtmrg',
& 'no. of thinned gamma energies no complete.',' ')
' ***store the photon isotropic angular distributionslandp-nexnex=nex+ntrpxandp=nex
33=0mtold=0
710 j=j+lif (j.gt.ntrp) go to 720if (b(j,5).lt.0.) go to 710
mtd=nint(xss(mtrp+jj-l))/10000if (mtd.ne.mtold) then
Iff=mod(nint(xss(mtrp+jj-l)) , 10)if (lff.gt.l) go to 710call findf(matd,14,mtd,nin)call contio(nin,0,0,a(iphtm),nb,nws)
nk=nlhif (li.eq.0) call error{'phtmrg',
'no coded for angular distr. of thinned gamma energies.1,' ')
endi fxss(landp+jj-1)=0go to 710
720 if (jj.ne.ntrpx) call error('phtmrg',& 'no. of thinned gamma energies no complete.',it 'photon angular distributions')
cc •••finish
do 730 i=l,ntrp730 a(iphtm+i-l)=b(i,5)
call releasl'phtm',ntrp,a)returnend
*/*/ reconr : process the energy-dependent scattering radius of multi level*/ breit-wigner (mlbw) in cl-0 (jendl-3.2)*d reconr.600
if (nro.gt.0.and.lrf.ne.2.and.lru.ne.1) call error('rdfil2',*d reconr.602,603*i reconr.620c energy-dependent scattering radius
if (nro.eq.l) thencall tabliolnin,0,0,a(jnow),nb,nw)np=nint(a(jnow+5))jnowsr=jnowjnow= jnow+nwif (jnow.gt.jx) call error!'rdfil2',
& 'storage in a exceeded',' ')endif
*d reconr.755210 if (nro.eq.1.and.naps.eq.1) then
ip=2ir=lcall terpa(ral,abs(a(jnow)),enext,idis,a(jnowsr),ip,ir)
elseif (nro.eq.Land.naps.eq. 2) thenral=ascatlra=ascat
endifrho=cwaven*arat*sqrt(abs(a(jnow)))*ral
*i reconr.2167nro=nint(a(inow+4) )
*i reconr.2168if (nro.eq.l) go to 110
*i reconr.2262go to 200
cc ***energy dependence of the scattering radius110 sigp2=0.d+0
nr=nint(a(inow+10))np=nint(a(inow+11))jnow=inow+6inow=inow+12 +2 *nr+2 *npap=a(inow+1)awri=a(inow+6)ip=2ir=lcall terpa(ape,e,enext,idis,a(jnow),ip,ir)
c calculate channel radius (ra)if (naps.eq.0) then
aw=amassn*awrira=rcl*aw**third+rc2
elseif (naps.eg.1) thenra=ape
elseif (naps.eq.2) thenra=ap
endifspi=a(inow)spifac=l.d+0/(2.d+O*spi+l.d+O)nls=nint(a(inow+4))inow=inow+6
c calculate wave number (k), rho and rhocap at energy (e)arat=awri/(awri+1.d+0)k=cwaven*arat*sqrt(abs(e))pifac=pi/(k*k)rho=k*rarhoc=k*ape
c loop over 1 statesdo 150 1=1,nlsqx=a(inow+1)ll=nint(a(inow+2) )lrx=nint(a(inow+3))nrs=nint(a(inow+5))in=inow+6*nrs+6
c calculate shift and penetration factors at cross section energycall factsdl, rho.se,pe)pec=0.d+0if (1rx.ne.0) then
rhop=cwaven*arat*sqrt(abs(e+qx))*racall facts(11,rhop,sec,pec)
endifcall facphi(ll,rhoc,phi)
c constants independent of res. energycos2p=cos(2.d+0*phi)sin2p=s in(2.d+ 0 *phi)sinsq=(sin(phi))**2
c calculate potential scatteringspot=4.d+0*(2.d+0*dble(ll)+1.d+0)*pifac*sinsqinow=inow+6know=inowkn=in
c loop over resonance
m73
oo
Io
. d+0) "spifac(half*rper)
*2+0.25d+0*gtt*gtt)
do 140 i=l,nrser=a(inow)aj=a(inow+1)gt=a(inow+2}gn=a(inow+3)gg=a(inow+4)gf=a(inow+5)ser=a(in)per=a{in+1)gc=a(in+2)gx=gg+gfrper=l.d+0/perinow=inow+6in=in+3
c spin factorgjr=half (2 .d+0*aj +erp=er+gn*(ser-se)*edelt=e-erpgne=gn*pe*rpergtt=gne+gx+gc»pec
c cross sections for temp=0.c elastic
comfac=pifac*gjr*gne/(edelt*sigp(2)=sigp(2) +1 comfac*(gne*cos2p-2,d+0*gx*sinsq+2.d+0*edelt*sin2p)
c fissionsigp(3)=sigp(3)+comfac*gf
c capturesigp{4)= sigp(4)+comfac*gg
cc ""calculate a resonance-resonance interference term for elastic
if (i.gt.l) thenjnow=knowjn=kndo 130 j=l,i-les=a(jnow)aj s=a(jnow+1)gts=a(jnow+2)gns=a(jnow+3)ggs=a(jnow+4)gfs=a(jnow+5)sers=a(jn)pers=a(jn+1)gcs=a(jn+2)gxs=ggs+gfsrpers=l.d+0/persjnow=jnow+6jn=jn+3gjs=0.5d+0*(2.d+0'ajs+l.d+0)'spifacesp=es+gns*(sers-se)*(half*rpers)edelts=e-espgnes=gns*pe*rpersgtts=gnes+gxs+gcs*pecsigp2=sigp2+pifac*gjs*2.d+0*gne*gnes*
& (edelt*edelts+0.25d+0*gtt*gtts)/i ((edelt**2+0.2 5d+0*gtt*gtt)*(edelts**2+0.25d+0*gtts*gtts))
13 0 continueendif
140 continueinow=in
c add potential scattering150 sigp(2)=sigp(2)+spot
sigp(2)=sigp(2)+sigp2c total
sigp(l)=sigp(2)+sigp(3)+sigp(4)200 continue
*i reconr.2799common/recon2/lfw,mata,itype,lrp,lfi,lssf
*d reconr.2827*d reconr.2865*/*/*ident sae5
*/ third modification for NJOY97.45*/ (since njoy97)• /»/*/ reconr : bug fix for coding miss (2 nov. 1998).*i reconr.2826
ne=nint(a(inow+10))
add an initial value of lttn, when ltt.ne.3 (24 nov. 1998)heatrup24.10
elselttn=0
groupr : add an initial value of lttn, when ltt.ne.3 (24 nov. 1998)up25.10
elselttn=0
reconr : add unresolved-range grid energies to handle the case ofpm-148m (jendl-3.2) in 1 to 10 eV (26 nov. 1998)
up34.8dimension egridu(68)
up34.10data ngridu/68/
reconr.49 6data egridu/1.dO,1.25dO,1.5dO,2.dO,2.5dO,3.2dO,4.dO,5.dO,6.3dO,1 8.d0,10.d0,12.5d0,15.do,20.dO,25.dO,32.do,40.dO,50.dO,
reconr.508data egridu/1.,1.25,1.5,2.,2.5,3.2,4.,5.,6.3,8.,1 10.,12.5,15.,20.,25.,32.,40.,50.,63.,80.,
unresr : (same as above)up35.5
dimension egridu(68)up35.7
data ngridu/68/unresr.364
data egridu/l.dO,1.25dO,1.5dO,2.dO,2.5dO,3.2dO,4.dO,5.do,6.3dO,1 8.dO,10.dO,12.5dO,15.dO,20.dO,25.dO,32.dO,40.dO,50.dO,
unresr.372data egridu/1.,1.25,1.5,2.,2.5,3.2,4.,5.,6.3,8.,1 10.,12.5,15.,20.,25.,32.,40.,50. ,63. ,80. ,
purr : (same as above)up36.5
dimension egridu(68)up36.7
data ngridu/68/purr.477
data egridu/1.dO,1.25dO,1.5dO,2.dO,2.5dO,3.2d0,4.dO,5.dO,6.3d0,1 8.d0,10.d0,12.5d0,15.d0,20.d0,25.d0,32.d0,40.d0,50.d0,
purr.485data egridu/1.,1.25,1.5,2.,2.5,3.2,4.,5.,6.3,8.,1 10.,12.5,15.,20.,25.,32.,40.,50.,63.,80.,
>m73
a
ooo
*/*/ heatr : correct process to skip a tape id record when tape was rewind*/ (28 nov. 1998)*i heatr.579
call tpidio(nendf,0,0,a(iscr),nb,nw)*i heatr.586
call tpidio(nendf,0,0,a(iscr),nb,nw)*/*/ acer : bug fix for unknown variable nd by up5 modification*/ (28 nov. 1998)*d acer.7057
intt=mod(nint(xss(loci)),10)nd=nint (xss{loci ) /10)
*/
*ident saeOO*>*/ special modification for NJOY97.45/sae+ i
*/
*/ acer : special process for option of maximum number of discrete gamma-ray*/ energies, corresponding to mcnp (9 dec. 1998).•i acer.107c * ndsgam maximum number of discrete gamma-ray (default=1000)**i acer.190
common/gamkos/ndsgam ^*d acer.259 ;>
ndsgam=1000 PIread(nsysi,*) err,iopp,ndsgam ^
*d acer.262,263 'I 2 ' ' photon option ' • , ilO/ §
3 ' ' max. number of discrete gamma ' ' , ilO) ') £Wi 4 err,iopp,ndsgam p*1-1 *i sael.20 O| common/gamkos/ndsgam £J-
*d sae4.90,91if (ntrp.gt.ndsgam) then ^
ntrpx=ndsgam '•O*/ • 6*/ end •&•
oo
ft© B AP3000 I;i autonj
$HOME/autonj7 4%
4 V? V U $HCME/autonj /J3R2i)l J32F6301.Z 32F63
7̂ h'J$HOME/autonj tautonjB.
Please enter the maximum number of discrete gamma-ray energies.(It must be less than 1000 for MCNP-4B or 200 for the previous version.)(If blank, default number is 1000.) _==========> (* Enter ̂ r~<D^Wf)
Please enter the general name of nuclear data file.(It will be a part of the "hk" in input data of NJOY/ACER.)(Maximum 16 characters.)(If blank, the name will be prepaired from the nuclear data file.)(for example: jendl-3.2 )
( + 1 + .)==========> JENDL-3.2
% autonj B.sh
O1INS
autonj autonatic production system of a mcnp cross sectionlibrary from JENDL by the NJOY97 code.
Please select an input mode.0 = input from a file.1 = interactive input on this terminal.
Please select the option of using disk space (or producing files).0 = minimum disk size (mcnp library)1 = medium disk size (mcnp library and output list)2 = maximum disk size (library, list and ace file)(maximum size is about 1.4 GB for JENDL-3.2.)(If blank, default size is minimum.)==========> o
Please enter the path name where JENDL file are located.(When you finish entering all file names, please enter a blank.)(If a directory name is given, all files in the directory areprocessed. Only one directory name is allowed. The lastcharacter must not be a slash (/).)=========> J3R2/J32F6301.Z==========> J3R2/J32F6302.Z==========> (« Enter
Please enter the MAT numbers of nuclides that you want to process.(If blank, all nuclides contained in the specified files are processed.)
==========> ($*< Enter +—<Z»Wr)Please enter the processing temperature with NJOY97.(If blank, default temperature is 293 K.)(for example: 300 < 300 kelvin)( 27C <-— 27 Celsius = 300.15 K)==========> 300
Please enter a library identification number in zaid for MCNP.(It corresponds to the "suff" parameter in input data of NJOY/ACER.)(It must be integer with two degits.)(If blank, default identification number is 38. (If Fe, 26000.38c))==========> m Enter ̂ -(D^Wf)
Please enter a tolerance of pointwise cross section data.(The unit of tolerance is [%].)(If blank, default tolerance is 0.2 %.)
Please enter types of MCNP cross section library.(If blank, default type of library is Type-2.)1 = Type-1 (text format)2 = Type-2 (binary format)12 = Type-1 and Type-2==========> 2
Please enter a file name of the MCNP cross section library.(Maximum 7 characters.)(When the given name is "fsxlib2", the complete name is "fsxlib21"if it is Type-1.)(If blank, default library name is "fsxlb32".)==========> FSXJ321
Please enter a file name of the directory file for the library.(If blank, default library name is "xsdir.FSXJ3212".)==========> (& Enter 4 # TEnd of input data for autonj
Q-class | CPU/elapse | memory
2
sssmsi
msmmml
Islm11
lh/ 2h6h/12h48h/96h
lh/ 2h6h/12h48h/96h
lh/ 2h6h/12h48h/96h
200MB200MB200MB
500MB500MB500MB
2000MB2000MB2000MB
©4-00
Input a name of queue class =====> msclass : msOK ? (y/n) ==========> yRequest 20261.cnetOOOO submitted to queue: ms.