NJOY 91.118 ------------------------------------------------- 27 Nov 1994 This is NJOY91.118. The preceeding README91 file is repeated with some changes below. Comments on the differences between 91.91 and 91.118 have been added. A new test problem (in8) has been added to test some ENDF-6 features, including Reich-Moore resonance reconstruction, energy-angle matrices in GROUPR, and energy-angle distributions in ACER. This test problem uses ENDF/B-VI Ni-61. The 91.118 release is basically configured for unix. The test problem input files are unix shell scripts, and the test problem results are from runs on a Cray Y-MP8/4-64 running UNICOS. ---------------------------------------------------------------------- This is the 1991 release of the NJOY Nuclear Data Processing System. It includes many bug fixes, major improvements in several modules (especially matxsr and acer), and some new capabilities (see resxsr, wimsr, mixr, and purr). The capabilities for processing ENDF-6 files are almost complete. To help the user, the following sections start with specific key phrases; use your editor to search for the desired topics. << major changes from NJOY 89 >> << changes made between 91.0 and 91.38 >> << changes made between 91.39 and 91.91 >> << changes made between 91.91 and 91.118 >> << status of endf-6 capability >> << distribution files >> << version control with upd >> << changes made to UPD for 91.38 >> << installation on UNICOS machines at Los Alamos >> << installation on UNICOS machines at NERSC or SDSC>> << preparing a Sun version >> << preparing a VAX version >> << preparing an IBM mainframe version >> << running NJOY at NERSC >> ---------------------------------------------------------------------- << major changes from NJOY 89 >> 1. Truncation of real numbers into integers was changed uniformly to use the FORTRAN NINT(X) function. This helps to make the code more portable because "i=a" varies between machines. 2. The ACER module was almost completely rewritten to improve portability, clean it up, and add new features. This allowed the very long ACEOUT routine to be broken up into shorter parts. The way integer and real ACE values are stored in memory and written out to Type 1, Type 2, or Type 3 files was completely reworked. Caution: ACER input has changed. 3. A capability to generate ACE dosimetry libraries was added to ACER. 4. A start was made on a section to generate ACE photoatomic cross sections from the ENDF/B-VI photoatomic sublibrary. The The new coding produces all the cross section and form factor tables, but it doesn't produce the flouresence data. The new data files have new information on subshell cross sections, and it may be possible to improve the methods used in MCNP. This is under investigation. 5. ACER can now convert the "type" of an ACE library (for example, ASCII Type 1 libraries to binary Type 2 libraries), and it can edit some of the parameters in an existing library (in particular, the ZAID value and the information string). 6. Coding was added in several modules to take advantage of some secondary-energy spectra where the shape is independent of energy at low incident neutron energies. Examples are fission neutron production and capture gamma production. GROUPR determines the energy where significant energy-dependence starts. Below that energy, it computes the normalized spectrum only once. It then computes a production cross section for the incident energy groups. For fission, these numbers are just chi and nu*sigf. Above the break energy, GROUPR computes a group-to-group matrix as usual. This trick significantly reduces the size of the GENDF file for group structures with many thermal groups. The output modules DTFR, CCCCR, POWR, and WIMSR use the spectrum and production records from the GENDF tape plus the records for the partial group-to-group matrix to reconstruct the proper data for their formats. The output files and listings are the same as for previous versions. MATXSR was modified to have a new general matrix format that includes places for the constant spectrum and its production cross section. This reduces the size of MATXS files that have many thermal groups. Caution: NJOY 91 MATXS files are not compatible with previous versions, and any codes that read MATXS files (such as TRANSX) will have to be fixed! 7. The MATXSR module and the MATXS format have been modified to change the order of "data type" and "material". The new version first loops on material, and then on data type. This makes it much easier to write utility codes that insert new materials in a MATXS library, or codes that extract materials from a library. This latter option can be used to make a small library for a group of TRANSX runs, thereby making the runs much faster. Caution: The MATXSR input has been changed. Caution: new MATXS files are not compatible with the old files. The codes that use MATXS data will have to be fixed. 8. A new MIXR module has been added. It can make a new ENDF or PENDF tape where the sections of File 3 are weighted sums of the sections of File 3 from several input tapes. This is useful for making elemental cross sections for plotting. MIXR does not make a complete elemental ENDF tape. 9. A new WIMSR module has been added to make cross sections libraries for the WIMS-D and WIMS-E reactor codes. This version is still rough in several ways, but it has been installed to provide a common basis for an ultimate WIMS capability. Please use it with caution and send in your suggestions for improvements. 10. The PURR code, which has been around for several years, has been installed in this version. PURR generates unresolved-region probability tables for the MCNP code. This module also has some problems, and the UR capability for MCNP has not been released in final form. Expect some changes in both PURR and ACER to finish a complete Monte Carlo unresolved capability. 11. The system I/O units have been changed to allow for a special error unit as found on unix systems. In addition, a whole new system has been introduced for both fatal error and warning messages (see the subroutines ERROR and MESS). This has allowed many format statements to be removed. 12. An attempt was made to remove most non-ANSI contructs. The following exceptions remain: lower case characters, variable-format write commands, and equivalencing of arrays in subroutines to arrays in named common. << changes made between 91.0 and 91.38 >> These changes are summarized by giving an annotated list of the comment cards from UP38. *ident up1 */ heatr -- 21 mar 91 -- allow for more mf6 reactions. */ also, isotropy message should not be */ printed if mf6 is present. *ident up2 */ reconr -- 26 mar 91 -- simplify mlbw and make sure that */ duplicate j values are treated correctly. */ reconr -- 26 mar 91 -- install dunford's patch to treat */ duplicate j values for reich-moore. This change is important for getting the correct value of the potential scattering cross sections for a few ENDF/B-VI isotopes. *ident up3 */ plotr -- 4 apr 91 -- use more points when plotting */ 3-d energy distributions. */ plotr -- 4 apr 91 -- last point in 3d ang plot missing */ plotr -- 4 apr 91 -- add 3d ang dist truncation message */ plotr -- 4 apr 91 -- protect storage for 3d energy plots */ plotr -- 4 apr 91 -- echo input to output */ to help in finding input errors *ident up4 */ heatr -- 8 apr 91 -- fix interpolation range problem in sixbar *ident up5 */ mixr -- 16 apr 91 -- fix bad error message */ mixr -- 16 apr 91 -- fix interpolation problem *ident up6 */ moder -- 19 apr 91 -- allow file 40 to be processed *ident up7 */ reconr -- 19 apr 91 -- add a grid point for low-energy */ resonance evaluations (protects */ reconstruction stack from overflow) */ reconr -- 18 apr 91 -- fix some problems with */ discontinuities and thresholds *ident up8 */ matxsr -- 24 apr 91 -- fix length of file id block */ matxsr -- 24 apr 91 -- increase container size */ matxsr -- 24 apr 91 -- fix indexing in indexm */ change to 80-column format */ matxsr -- 24 apr 91 -- allow for more reactions */ matxsr -- 29 apr 91 -- fix paging errors. */ keep last block smaller than maxw. *ident up9 */ resxsr -- 18 jun 91 -- fix material control and blocking *ident up10 */ gaminr -- 11 jul 91 -- nint ngg and fix eq in gpanel *ident up11 */ groupr -- 11 jul 91 -- add vitamin-j photon group structure *ident up12 */ njoy -- 17 jul 91 -- fix jump back from resxsr *ident up13 */ groupr -- 18 jul 91 -- add more t-dep weight functions These options allow the Maxwellian part of the weighting function to change with the temperature of the material. *ident up14 */ unresr -- 29 sep 91 -- increase to 10 temps and 10 sigzeros */ update card count in directory (raepsaet, cea-dmt) *ident up15 */ reconr -- 3 dec 91 -- fix channel radius (rowlands and eaton). */ fix enode name for reserv, etc. (panini). This change is important to get the correct results for ENDF/B-VI evaluations of iron, nickel, chrome. The effect shows up in the cross section value at the center of a resonance. *ident up16 */ wimsr -- 3 dec 91 -- fix name for reserv, etc. (panini) Also see up34 for more important wimsr changes. *ident up17 */ groupr -- 3 dec 91 -- fix type of id in call to reserv */ groupr -- 16 dec 91 -- fix allocation for sed (laughton, aecl) */ groupr -- 16 dec 91 -- fix print of mfd=5/mtd=18 (laughton, aecl) */ groupr -- 16 dec 91 -- extend lower limit for tabulated secondary */ distributions to 1e-5 and upper limit to */ 50e6 as is done for analytic sections. */ noticed by laughton, aecl. *ident up18 */ njoy -- 3 dec 91 -- pad string parameter with spaces for */ better comparisons on vax (gauld, whiteshell) This one is needed on short-word machines when matching the names used in the dynamic storage system used throughout NJOY. *ident up19 */ matxsr -- 4 dec 91 -- fix hollerith word size and pointers *ident up20 */ moder -- 4 dec 91 -- fix gendf processing (dean, winfrith). */ moder -- 4 dec 91 -- fix file 34 processing (muir, iaea). *ident up21 */ heatr -- 4 dec 91 -- prevent div by zero in sed (decher, ce) So far, this has only happed on Apollo machines. *ident up22 */ thermr -- 4 dec 91 -- set sabflg for sw machines (dean, aguilar) */ thermr -- 4 dec 91 -- fix tolerance on test for x(i)=0 (decher, ce). *ident up23 */ broadr -- 4 dec 91 -- don't thin lowest threshold (dean, winfrith). *ident up24 */ groupr -- 4 dec 91 -- impr. to flux calculator (winfrith, lanl, cea). There are still some parts of these changes that have not been checked out. Please check them carefully before using them. *ident up25 */ acer -- 6 dec 91 -- misc acer fixes */ fix messages in etopl routines */ fix date in output file */ fix up case of no photon production */ fix up type 3 output and input */ fix up dosimetry output (vontobel, psi) */ fix one of the acer prompts (mattes) */ tighten up initial tolerance for integral thinning */ file 6 patches to topfil */ prevent writing of cont in conver if mf.gt.15 is present */ generalize transfer of mf6 photons to mf16 */ define nin in gamout (vontobel) */ allow for larger nu tables (mattes) */ supress extra 1e-5 at start of table (mattes) */ move inactive message */ patches for file 6 in acelod */ vontobel fixes for mf16 photons */ allow for coupled energy-angle distributions (mattes) */ missing increments in law 1 section (mattes) */ add branch for mf16 data (mattes) */ fix typen to prevent two output lines for i=4 (vontobel) */ reintroduce lost lines (mattes) */ part of thermal inelastic missing (lazo) */ thermal zaid should be a name, not a number */ increase the size of the container arrays */ make sure mt600,etc are available for mf6 photons */ fix up reaction naming *ident up26 */ dtfr -- 9 dec 91 -- fix pointer for photon prod xsec */ fix reaction list for pointwise plotting *ident up27 */ matxsr -- 21 dec 91 -- allow bcd output, modify format. */ remove print and index in favor of bbc. There is a small change in the input specifications that goes with this change. Test problem 3 is affected. The use of the BBC code to print and index matxs files is discussed in the TRANSX2 manual. *ident up28 */ reconr -- 6 mar 91 -- avoid the reserved name "save" */ fix the value of boltzmann's constant *ident up29 */ heatr -- 5 mar 92 -- avoid the reserved name "save" *ident up30 */ groupr -- 5 mar 92 -- fix format for message */ groupr -- 5 mar 92 -- avoid the variable name "save" (cea-dmt) */ groupr -- 5 mar 92 -- fix tabulated mf6 option (konieczny) */ groupr -- 5 mar 92 -- fix dimensions (raepsaet, cea-dmt) */ groupr -- 5 mar 92 -- supress excess upscatter messages *ident up31 */ gaminr -- 5 mar 92 -- include endf-6 gheat This is important to get the correct photon heating factors. *ident up32 */ acer -- 10 mar 92 -- convert legendre law1 to kalbach form This is an experimental approach that may allow all the ORNL evaluations from ENDF/B-VI without having to make such extensive changes in MCNP and in the ACE format. *ident up33 */ unresr -- 11 mar 91 -- fix multi-isotope case *ident up34 */ wimsr -- 11 mar 91 -- fix bugs (mann, hanford) */ wimsr -- 15 may 92 -- fix problems with fission matrix The original version gave bad values for nu*sigf and chi. *ident up35 */ gaminr -- 16 apr 92 -- increase container array to allow p9 Needed for the FENDL library. *ident up36 */ matxsr -- 21 apr 92 -- make sure of word boundaries Needed for 32-bit machines. *ident up37 */ groupr -- 22 apr 92 -- fix problem with vit-e temperature */ dependent weighting (sartori) *ident up38 */ reconr -- 15 may 92 -- fix problem with u.r. fission widths */ for jef (nordborg) This problems showed up for a few JEF-2 isotopes like cm245 that specified energy-dependent fission widths that didn't really change with energy. << changes made between 91.38 and 91.91 >> These changes are summarized by giving an annotated list of the comment cards from UP91. *ident up39 */ broadr -- 15 jun 92 -- fix problem at resolved range boundary *ident up40 */ acer -- 15 jun 92 -- be careful with ang. dist. loop */ acer -- 16 jun 92 -- be careful with partial fission reactions */ acer -- 17 jun 92 -- fix conversion of real to integer *ident up41 */ acer -- 13 jul 92 -- fix problem with law44 for photons */ acer -- 17 jul 92 -- fix mf6/mt51-90 problems */ acer -- 22 jul 92 -- fix problem with sorting of thresholds */ acer -- 23 jul 92 -- fix problem with the use of moreio */ acer -- 18 aug 92 -- be more careful with conv check */ acer -- 18 aug 92 -- add positive threshold test */ acer -- 18 aug 92 -- fix error in up25 */ acer -- 18 aug 92 -- date should be right justified in field of 10 */ dater now expects a character argument The original installation of Kalbach systematics only included the leading term and only allowed for neutrons. The next three idents add the complete Kalbach formula to heatr, groupr, and acer. *ident up42 */ groupr -- 1 aug 92 -- extend kalbach option */ to higher energies and other particles *ident up43 */ heatr -- 1 aug 92 -- extend kalbach option */ to higher energies and other particles *ident up44 */ acer -- 1 aug 92 -- extend kalbach option */ to higher energies *ident up45 */ reconr -- 18 aug 92 -- fix duplicate e-sigma check *ident up46 */ groupr -- 19 aug 92 -- fix some c.p.-related labels *ident up47 */ acer -- 21 aug 92 -- fix type3 with no detailed g.p. */ acer -- 21 aug 92 -- fix type3 comment field */ acer -- 7 oct 92 -- fix problem with discrete photon law */ acer -- 7 oct 92 -- discontinuities were not being handled */ correctly for photon sections with nk=1 */ acer -- 7 oct 92 -- move all thinning to unionx. */ don't remove discontinuities or thresholds. */ make sure there is a sharp break at */ discontinuities. */ acer -- 9 oct 92 -- provide messages for kalbach conversion. The source code was run through the Cray UNICOS code CFLINT to find things that might cause trouble in compilation and execution. These include variables that might not be defined before use, unused variables, etc. We also paid closer attention to the warning and caution messages from CFT77. The following idents contain changes from this work; they should help improve portability and reliability. We also started adding SAVE statements, but the code has only been run in static mode so far. *ident up48 */ njoy -- 24 nov 92 -- revise driver to avoid hollerith */ njoy -- 24 nov 92 -- add save statements *ident up49 */ broadr -- 24 nov 92 -- remove some cft77 caution messages *ident up50 */ unresr -- 24 nov 92 -- remove some cft77 caution messages */ and some things found by cflint *ident up51 */ heatr -- 24 nov 92 -- remove some cft77 caution messages */ heatr -- 11 mar 93 -- fix up some problems found by cflint *ident up52 */ thermr -- 24 nov 92 -- remove some cft77 caution messages */ thermr -- 11 mar 93 -- fix up problems found by cflint *ident up53 */ groupr -- 24 nov 92 -- remove some cft77 caution messages *ident up54 */ errorr -- 24 nov 92 -- remove some cft77 caution messages *ident up55 */ covr -- 24 nov 92 -- remove some cft77 caution messages *ident up56 */ matxsr -- 24 nov 92 -- fix missing path */ matxsr -- 11 mar 93 -- increase number of materials allowed */ matxsr -- 11 mar 93 -- fix some problems found by cflint *ident up57 */ moder -- 28 nov 92 -- don't compare */ real variables containing hollerith */ moder -- 28 nov 92 -- remove previous change that */ damages gendf fission matrices *ident up58 */ plotr -- 28 nov 92 -- fix error and cft77 cautions *ident up59 */ njoy -- 25 nov 92 -- make free recognize uppercase e */ and ignore leading zero in exponents */ njoy -- 11 mar 93 -- fix up problems found by cflint */ njoy -- 1 apr 93 -- fix pointer problem in scana *ident up60 */ groupr -- 21 dec 92 -- fix problem with hnab that leads */ to errors for e-dep watt spectrum. */ groupr 21 dec 92 -- remove some nuisance messages *ident up61 */ broadr -- 21 dec 92 -- fix problem in hnabb for sw mach. */ broadr -- 11 mar 93 -- fix up problems found by cflint */ broadr -- 15 mar 93 -- fix problem with restart The following ident fixes up the previous problem with the ENDF/B-VI material F-19, which uses two subsection in File 6 for (n,2n), one for first neutron, and one for second neutron. The code now reads all File 6 data into memory rather than paging through, and more memory is required than for older versions. *ident up62 */ groupr -- 22 dec 92 -- fix groupr to handle multiple */ emissions in file 6 (f-19). *ident up63 */ plotr -- 26 feb 93 -- add more 2-d and 3-d options for gendf data */ plotr -- 15 mar 93 -- move frame in window slightly PLOTR can now do overplots of pointwise and multigroup emission spectra for selected incident energies, and it can do 3-d perspective plots of multigroup P0 matrices. *ident up64 */ groupr -- 1 mar 93 -- fix error in up30 */ that causes bad mt50+n gamma yields This error caused important problems with the photon production in the matxs files originally put up on NERSC this year. They are gradually being corrected. */ groupr -- 1 mar 93 -- change e interpolation in getaed */ this one tracks peaks better (zrh) */ groupr -- 1 mar 93 -- remove unused variables */ groupr -- 3 mar 93 -- fix getsed to work for all combinations */ of analytic and tabulated subsections */ groupr -- 6 mar 93 -- fix more cft warnings and cautions */ also fix up things found by cflint */ groupr -- 15 mar 93 -- fix t-dependent claw *ident up65 */ acer -- 11 mar 93 -- more changes for type 3 at lanl */ acer -- 11 mar 93 -- fix problems found by cflint *ident up66 */ gaminr -- 11 mar 93 -- fix problems found by cflint *ident up67 */ reconr -- 11 mar 92 -- fix some problems found by cflint The following ident fixes up Monte-Carlo processing to handle all the energy-angle formats in ENDF/B-VI. The ORNL lab Legendre data are still approximated by converting them to Kalbach format. MCNP probably won't be able to handle the phase-space law for some time. Be-9 is now handled properly. *ident up68 */ acer -- 16 mar 93 -- allow multiple distributions in mf6 (f19) */ add mf6,lf6 (phase-space law) */ add mf6,lf7 (angle-energy law) */ acer -- 30 mar 93 -- fix photon law */ acer --1 apr 93 --fix discontinuity handling *ident up69 */ reconr -- 30 mar 93 -- fix reich-moore problem It turned out that there was an error in the previous repair for this problem in up2. It has been fixed again. */ reconr -- 29 apr 93 -- make sure res boundaries are clean *ident up70 */ wimsr -- 2 feb 92 -- major rework of wimsr */ to include suggestions from uofi */ and aguilar of inin. *ident up71 */ dtfr -- 5 apr 93 -- fix fission flag */ dtfr -- 5 apr 93 -- fix label in edit list */ dtfr -- 5 apr 93 -- fix things found by compilers *ident up72 */ plotr -- 8 apr 93 -- add mf7 plotting This change allows you to plot s(alpha,beta) curves. *ident up73 */ thermr -- 26 apr 93 -- improve s(a,b) interpolation */ thermr -- 27 apr 93 -- make sure teff interpolates and extrapolates. *ident up74 */ unresr -- 28 apr 93 -- unresr fails for bcd u233 file *ident up75 */ acer -- 28 apr 93 -- fix polynomial nubar */ acer -- 28 apr 93 -- fix index for coherent elastic printing */ acer -- 28 apr 93 -- fix subsection pointer */ acer -- 28 apr 93 -- increase size of container array */ acer -- 29 apr 93 -- fix iz array for moderator components */ and fix variable-weighting flag */ acer -- 29 apr 93 -- xsdir cards need for digits for awr */ acer -- 29 apr 93 -- limit interpolation law to 1 or 2 *ident up76 */ powr -- 29 apr 93 -- problem reported by helen connell, bnl *ident up77 */ thermr -- 29 jun 93 -- put limits on extrapolation. Newer versions of THERMR attempt to use three-point interpolation on S(alpha,beta) to get better results for the normal shapes. However, some evaluations have very jagged shapes, especially on the wings of the function, and the interpolation scheme breaks down. This patch prevents extrapolation to absured values. *ident up78 */ acer -- 29 jun 93 -- eb should use channel energy. */ noticed by seamon (lanl). See also up79 up80. Bob Seamon (LANL Group X-6) noticed that the implementation of Kalbach systematics in NJOY (HEATR, GROUPR, ACER) should be using the "channel energy" instead of the center-of-mass energy. This patch fixes that error. */ acer -- 29 jun 93 -- fix grid for generalized yields */ acer --29 jun 93 -- fix nk for mf5/6 *ident up79 */ groupr -- 29 jun 93 -- eb should use channel energy See related comment in up78. */ groupr -- 29 jun 93 -- make sure c.p. are identified. */ noticed by panini (enea bologna). On some machines, it is necessary to take special care with the comparison of particle ID numbers. *ident up80 */ heatr -- 29 jun 93 -- eb should use channel energy See related comment in up78. */ heatr -- 29 jun 93 -- use lin-lin on heat and damage. */ noticed by panini (enea bologna). HEATR was choosing the incident-energy interpolation scheme for heat and damage inappropriately. It is most consistent to use linear interpolation for both. This fix makes the EBAR(E) values printed out on the listing look much more reasonable close to the thresholds. *ident up81 */ matxsr -- 30 jun 93 -- fix hollerith constant *ident up82 */ plotr -- 2 jul 93 -- fix s(a,b) plotting for +&- beta This fix allows one to make good plots for liquid hydrogen and deuterium, which are not symmetrical for +&- beta. *ident up83 */ groupr -- 17 jul 93 -- fix constant gamma spectra to have */ correct normalization (graham robinson). This error caused the constant spectra for gammas to be normalized wrong whenever there was a number in the low-energy group (which is most of the time!). */ groupr -- 17 jul 93 -- sw machines have trouble with */ cc very close to 1 */ groupr -- 17 jul 93 -- give up using 201-220 for thermal For ENF/B-IV, NJOY used the special MT numbers starting at 201 for thermal reactions. When ENDF/B-V was issued, these MT values were used for gas production reactions, and we moved the thermal range up to 221. It doesn't really seem necessary to leave this code in place any longer. */ groupr -- 17 jul 93 -- abandon stripping low-energy thermal */ groups to remove thermal range messages. For years, GROUPR has issued strange messages about thermal range problems that I have never been able to explain to the users. They had to do with trying to get the maximum stripping of zeroes in the thermal matrices, but the overhead and confusion are just not worth the gain. We are giving up and accepting the fact that thermal matrices may have more low-energy zeroes than are absolutely necessary. *ident up84 */ reconr -- 17 jul 93 -- fix double counting of MT522 in MT501 */ (zidi and ganesan, iaea) */ reconr -- 22 jul 93 -- fix pseudo threshold problem in cl */ and watch for initial discontinuities These problems both result from the changes in the photoatomic data introduced to allow for subshell cross sections. We have fixed the code to treat MT522 as "redundant" if the subshell cross sections are found (that is, it is reconstructed as the sum of its parts, and it is not included in the total cross section). In addition, RECONR was not recognizing the discontinuities at the beginning of each subshell section. This has been fixed, and comparison plots by Ganesan show the RECONR results are consistent with the input ENDF file except that double energy points have been changed to steep slopes in the normal NJOY manner. *ident up85 */ acer -- 19 jul 93 -- fix tyr flag for mf6 data */ acer -- 22 jul 93 -- fix phase space problem */ acer -- 1 aug 93 -- tyr for f19 gets wrong sign After these changes, ACER seems to be able to handle ENDF/B-VI OK. *ident up86 */ plotr -- 20 jul 93 -- repair errors for 3d ang. distributions. */ plotr -- 20 jul 93 -- fix input instructions *ident up87 */ errorr -- 5 april 93 -- spin covariances no longer permitted in vers. 6 */ errorr -- 5 april 93 -- add message for illegal or misplaced ner value */ errorr -- 5 april 93 -- add message for missing u.r.r. capability */ errorr -- 5 april 93 -- fix typo in error message */ errorr -- 5 april 93 -- add message for missing sc. radius capability */ errorr -- 5 april 93 -- add message for missing "new mf32" capability */ errorr -- 5 april 93 -- fix screen print of group structure option These are mostly minor changes. Some are intended to make ERRORR run smoothly with ENDF/B-VI; however, none of the new covariance features supported by the ENDF-6 format are supported by ERRORR as yet, except for LB=8. *ident up88 */ heatr -- 28 jul 93 -- fix up fission kerma factors. */ provide details and message for qdel. */ reduce q for excess in nubar. */ print yields with ebar. Graham Robinson has pointed out that HEATR should be treating the fission Q value as a variable, because the increase in nubar with energy causes the mass of the residual fission fragments to decrease. There are other smaller effects affecting the fission product mass, and the neutrino emission is also sligtly energy dependent. This problem is discussed in detail in another note "NJOY Treatment of Energy Release in Fission." More work is needed on this problem. We also changed the listing to include energy-dependent particle yields. The EBAR values are now normalized to one particle consistently. */ heatr -- 28 jul 93 -- fix error in damage cutoff */ (noticed by bersillon) This is an important problem first noticed by Olivier Bersillon. It causes the elastic component of damage to be too small below about 10 -- 100 keV (depending on material). *ident up89 */ matxsr -- 1 aug 93 -- fix awr values on matxs matc record MATXSR was using the elemental mass extracted from the photoatomic file for every isotope of an element. *ident up90 */ groupr -- 4 aug 93 -- fix econst logic in getsed The value of "econst" was being chosen incorrectly in some cases. This would sometimes result in a spectrum being given together with a complete matrix, and the spectrum would be incorrectly normalized. *ident up91 */ groupr -- 20 aug 93 -- fix problem with getsed for nktot.gt.1 We introduced a problem for sections of File 5 with more than one subsection in UP64 (there is no problem with the 6 subsections of the delayed neutron files). A list of materials affected by this problem will be found in the news message "Problem with NK in GETSED for NJOY 91.76." */ groupr -- 20 aug 93 -- fix problems with upscatter corr. in file 6 If GROUPR finds upscatter values in the computed scattering matrix, it attempts to remove them by putting them in the ingroup element. The code was putting them in the ingroup OK, but it wasn't zeroing them in the upscatter position. Small upscatter elements like these are normally due to interpolation, and they are not real upscatter. The code prints an informative message if the upscatter is large. There are some cases in bismuth and lead of real positive Q neutron emission reactions. They lead to these messages, but the upscatter is not available in the final matrices. This test is not made for analytic sections; therefore, the real upscatter in Am242m MT51... comes through in the matrices. The user should take care if these upscatter values might cause problems for later applications. */ groupr -- 20 aug 93 -- const. spectra not allowed with file 6. This problem occurs if File 6 is used for MT18 or MT102 photon production. The only case in ENDF/B-VI is F-19. */ groupr -- 20 aug 93 -- fix elo for file 6, law 7 This error causes the n2n matrix to be omitted for Be-9. << changes made between 91.91 and 91.118 >> These changes are summarized by giving an annotated list of the comment cards from UP91. *ident up92 */ reconr -- 10 jan 94 -- need more storage id's */ reconr -- 10 jan 94 -- initialize to zero before sum */ reconr -- 10 jan 94 -- fix typo in error message */ reconr -- 29 jan 94 -- allow for more ur sequences */ reconr -- 25 feb 94 -- fix loophole in threshold logic */ print all threshold changes *ident up93 */ broadr -- 31 jan 94 -- take care with threshold reactions These changes are needed if broadening is extended to energies above the first few threshold reactions. */ broadr -- 19 jun 94 -- fix restart print *ident up94 */ unresr -- 5 jan 93 -- allow for more spin sequences (jendl monat) *ident up95 */ heatr -- 4 jan 94 -- allow for general file 5 contents This patch allows for File 5 sections with more than one tabulated subsection or with tabulated subsections that appear before analytic subsections. The corresponding changes in GROUPR were made previously. More memory is required because of this change. */ heatr -- 5 jan 94 -- install more file 6 options This allows for evaluations using tabulated angular distributions in File 6, and it also allows for the use of discrete lines in the CM (as in BROND H-2). */ heatr -- 15 jan 94 -- add sn120 as major isotope of sn */ heatr -- 1 jun 94 -- avoid fortran reserved name *ident up96 */ groupr -- 5 jan 94 -- install more file 6 options This allows for evaluations using tabulated angular distributions in File 6, and it also allows for the use of discrete lines in the CM (as in BROND H-2). */ groupr -- 15 jan 94 -- add sn120 as major isotope for sn */ groupr -- 27 jan 94 -- more room for gamma lines */ groupr -- 31 jan 94 -- fix stounr error messages */ groupr -- 1 mar 94 -- fix problem with multiple sections in mf5 This fixes a small error in the previous File 5 patch. *ident up97 Miscellaneous ERRORR changes. *ident up98 */ ccccr -- 16 feb 94 -- fix problems with delayed neutron file *ident up99 */ acer -- 31 dec 93 -- fix area for tabulated semilog distr. */ acer -- 31 dec 93 -- allow for more mf12, mt>600 sections */ acer -- 15 jan 94 -- add sn120 as the major isotope of sn */ acer -- 27 jan 94 -- fix incorrect change of ref. frame for law 7 Law 7 must be in the lab frame. */ acer -- 1 feb 94 -- watch out for histogram case */ acer -- 17 feb 94 -- fix printing controls */ acer -- 3 mar 94 -- fix value of boltzmann constant Previous versions used .0253 eV for 300 K. This patch makes the Boltzmann constant consistent with other modules. */ acer -- 3 mar 94 -- provide band error cutoff for thinning */ acer -- 21 mar 94 -- convert madland-nix lf=12 to ace law 4 MCNP does not have the logic to sample from the Madland-Nix fission spectrum. Therefore, we have provided logic to build a tabulated version of this law in ACER instead of changing MCNP and the ACE format to include a new law. */ acer -- 29 mar 94 -- fix problem with type 1 and type 3 in law 44 */ acer -- 8 apr 94 -- make sure findf doesn't go to wrong temp */ acer -- 26 may 94 -- increase size of xss array This changes allows for ACE files up to 600 000 words. Petten uses even more. If 600 000 is insufficient, your choices are to change the size again, or use thinning to reduce the size of the main energy grid. */ acer -- 26 may 94 -- remove hollerith from thrprt Full use of character data is more portable. */ acer -- 26 may 94 -- misc acer fixes from ecn petten We appreciate the help received from all the NJOY users. These changes from ECN Petten were very useful. */ increase jscr pointer */ correct typo in up32 */ fix bad reaction namme */ integer declaration for 'fis' */ use real constant zero in call to gety1 */ correct typo (2+i instead of 2*i) */ correct typo (41 instead of 21) */ delete two (twice given) statements */ correct error in up68 for aceprt */ correct treatment of iopp.eq.0 for gamsum */ make dimension of /astore/ consistent throughout acer */ fix index in acelod for generalized yields */ use generic names for easier transportability */ prevent division by zero in topfil */ acer -- 9 jun 94 -- fix normalization of law 4/44 disc. lines */ acer -- 21 jun 94 -- fix problem with gammas */ acer -- 9 jul 94 -- add gas production names The previous version of acer did not include the names for gas production reactions, such as (n,xp) or (n,xt). This versions still ignores reactions with mt values in the range 201 through 207, thus making them unavailable for tallys. To change this, look at acer.3832. *ident up100 */ njoy -- 29 mar 94 -- upgrade the math functions e1 and gami An error in one of these functions showed up in connection with the Madland-Nix fission spectrum, and we decided to upgrade all of them to publicly available coding. */ njoy -- 19jun94 -- avoid numerical problems The Cray doesn't compute log(x/x1) correctly when x.eq.x1! The quotient is one bit short, and the log is a small negative number. *ident up101 */ matxsr -- 25 apr 94 -- abandon the old thermal mt numbers The original choice for thermal MT numbers in NJOY was 201 to 250. Later, CSEWG adopted numbers in the 200 range for gas production reactions, and NJOY started using 221 to 250. This patch makes the change permanent. We hope that it doesn't cause trouble for users with old data files. *ident up102 */ groupr -- 19 jun 94 -- fix error in up64 for thermal interpolation This patch fixes an error made during the introduction of a new thermal interpolation scheme that interpolates along lines of constant energy transfer in an attempt to represent the peaks in the thermal excitation better. The symptom of the error was ragged results for the thermal flux above the thermal peak and violation of detail balance. It was reported by Petten, Stuttgart, and CE. */ groupr -- 9 jul 94 -- fix case of yy=0 *ident up103 */ heatr -- 9 jul 94 -- fix case of yy=0 */ heatr -- 9 jul 94 -- fix heatr for incomplete file 12 sections There are several evaluations in endf-6 format that give file 6 subsections for neutrons and/or charged particles, but do not give a subsection for the recoil particles. There is also one case known where capture is given in file 6 with no recoil subsection provided. This patch takes care of these cases by computing new heating and damage values using the approximation that the heaviest emitted particle causes all the recoil. Any energy-balance errors are put into the mt300-series heating values. The computed recoil is used for the mt443 kinematic value and the damage. *ident up104 */ acer -- 11 aug 94 -- use law7 instead of kalbach for mf6 law1 lang1 The MCNP Monte Carlo code cannot currently handle data that are given in File 6 using LAW=1, LANG=1 or 11--12 (Legendre data or tabulated data). This means that the important ORNL evaluations for F, Cr, Mn, Fe, Ni, Cu, and Pb cannot be used in their normal form. Our initial solution to this problem was to convert these materials to use Kalbach systematics in the CM frame, which is handled by MCNP. There are several problems with this, including violating the evaluator's intent and getting nonphysical results because of problems with the underlying distributions. This update provides a conversion to LAW=7, the lab angle-energy format used for Be-9 in ENDF/B-VI, which is also now available in MCNP. The distributions sampled in MCNP should be close to the evaluator's intentent, and they should differ from the results that would be obtained by a direct use of LANG=1 only through the approximation introduced by selecting 10 angles for the angle-energy representation. */ acer -- 22 aug 94 -- add fixup for endf/b-vi f19 ENDF/B-VI F-19 is unique in that it represents the emission from (n,2n) reactions using two different subsections in File 6, namely, first neutron and second neutron. If the distribution is changed to LAW 7 for consistency with the current version of MCNP, two subsections cannot be used. This patch splits the two neutrons from MT16 into MT6 and MT46 as used in ENDF/B-V Be. */ acer -- 22 aug 94 -- allow for nr>1 in file 5 (jendl monat) The ACE format used by MCNP only allows for a single interpolation law for secondary distributions, and the law should specify histogram or linear interpolation to help in preserving the area under the distribution during interpolation. Materials that violate these limitations are rare; if encountered, the outgoing particle distribution is linearized using adaptive reconstruction before being stored in ACE format. *ident up105 */ groupr -- 22 aug 94 -- try again on thermal interpolation The fix given in up102 to an error made in up64 was observed to be incorrect by Uli Decher, ABB Combustion Engineering. It is fixed again in this update. The symptom was absurdly large emission cross sections for the lowest energy group. */ groupr -- 22 aug 94 -- make sure to mark the top of the group See below. *ident up106 */ gaminr -- 22 aug 94 -- make sure to mark the top of the group M. Mattes of U. Stuttgart observed that some photoatomic coherent and incoherent matrices showed upscatter for the VITAMIN-J 42-group structure. This turned out to be due to numerical problems when the upper group boundary was also a grid energy in the file. They were then different by one bit, and the code missed the top of the group. The false upscatter was then filled in with whatever was in memory, which was sometimes the reaction cross section! This basically doubled the scattering cross sections for these groups. This patch was also made in groupr (see above). The problem is more serious for fine-group gamma structures, but all libraries of photoatomic data should be reprocessed. *ident up107 */ resxsr -- 29 aug 94 -- correction from m. mattes, u. stuttgart *ident up108 */ matxsr -- 29 aug 94 -- to handle gg when ng is missing (mattes) *ident up109 */ moder -- 29 oct 94 -- fix typo in moder (piet de leege) *ident up110 */ groupr -- 29 oct 94 -- allow more digits in flux messages (de leege) */ groupr -- 29 oct 94 -- fix grammar in comments (made in manual) *ident up111 */ broadr -- 29 oct 94 -- fix bad fortran (peter vertes, hungary) */ broadr -- 29 oct 94 -- fix grammar in comments (made in manual) *ident up112 */ thermr -- 29 oct 94 -- extend thermal energy range to 5.1 ev to */ accomodate bugle93 structure (white, rsic) */ thermr -- 29 oct 94 -- protect thermr against exp underflows This prevents some unwanted underflow messages on machines that provide them, such as the Sun. *ident up113 */ njoy -- 29 oct 94 -- remove non-ansi variable format Besides being a non-ANSI feature, variable formats are not allowed by the Lahey compiler used for our DOS version of NJOY. *ident up114 */ acer - 29 oct 94 -- fix problems in tabize found by kosako (sumitomo) *ident up115 */ heatr -- 31 oct 94 -- more fixes for missing recoil sections The changes in up103 to handle MF6 evaluations with missing recoil subsections was failing for the explicit two-body recoil subsections in some of the ORNL evaluations. This has been fixed. The logic in hinit tries to identify reactions with missing recoil by subtracting the zap*yld values from ZA+1 and looking at the remainder. If there are errors in the ZAP values, this can lead to impossible recoil nuclei. The ZA values for these nuclei will show up in a message from heatr. The user will have to pay attention. A special check is provided for elements. For example, Ti-nat with AWR=22000 could use ZAP=22000 for its recoil without generating an additional recoil with a small or negative value of ZA. *ident up116 */ thermr -- 16 now 94 -- mubar is overestimated. */ tighten tolerances to fix it. */ provide print of mubar with iprint=2. The version of HEATR that has been used in NJOY for many years tried to save time and storage space by using a coarser tolerance for calculating the thermal angular distributions than it did for computing the thermal emission spectra. Colin Dursten of S. Levy Inc. noticed that we had overdone this, and that mubar for free-gas scattering was being computed 10 to 20% high over much of the thermal energy range. This problem has been fixed by tightening up some tolerances and making the code work harder close to beta=0. The new results are still a percent or two high due to difficulties in approaching the singularity at beta=0 and mu=1. The effects of this change are smuch smaller for bound moderators. THERMR is now more expensive to run. The code was also fixed to provide a printout of mubar vs E when the user request iprint=2. *ident up117 */ acer -- 17 nov 94 -- repair some mistakes made in up104 One indicator of this problem is an infinite loop while processing U-235. *ident up118 */ heatr -- 28nov94 -- fix more problems with file 6. this one */ causes an infinite loop in endf/b-vi be-9. This is another side effect of trying to handle File 6 with or without recoil subsections or gamma subsections. There are too many possibilities. This infinite loop occurs for discrete levels given in File 6. << status of endf-6 capability >> NJOY 91.118 processes all of the ENDF-6-type evaluations that have been tried so far. The following list gives some of the known ENDF-6 problems. 1. RECONR won't process Generalized R-Matrix parameters or the energy-dependent scattering radius. 3. ACER can only handle evaluations in File 6 that use Legendre coefficents by converting them to Kalbach or Law 7 format. The latter is the best representation. 4. PURR can't handle the LSSF "shelf-shielding factor" option for the unresolved range. Also, the connection between PURR and MCNP is not really developed in NJOY 91. This new module has been included to provide a basis for installing the full probability table capability in a future version. 5. Although not strictly an ENDF-6 format problem, the very large tabulations produced for the new U-235 and U-238 evaluations cannot be handled by ACER without unreasonably heavy thinning. A probability-table thinning approach is under development for the upper part of the resolved range for these materials. 6. GAMINR and ACER do not take advantage of the new photoelectric flourescence information available in the LLNL/ENDF6 version of the photoatomic data sublibrary. 7. The H-2 evaluation from BROND2 cannot be used with the current version of MCNP, and therefore, it cannot be processed with ACER. << distribution files >> The distribution files for NJOY 91.118 are as follows: readme118 this information file readme91 the previous information file readme38 another previous information file readme0 the original information file src upd source file (contains *deck cards) up91 upd directives input file for 91.91 up118 upd directives input file for 91.118 upibm specialized updates for IBM machines upvms specialized updates for VAX/VMS upsun specialized updates for Sun workstations upuni-la specialized updates for UNICOS at Los Alamos upuni-sd specialized updates for UNICOS at San Diego Supercomputer Center upnersc specialized update for UNICOS at NERSC uprs6k specialized updates for IBM RS/6000 machines upuser upd file to extract the user input instructions userin user input instructions extracted from src makef.uni UNICOS make file for maintaining njoy makef.sun Sun make file for maintaining njoy loadnjoy UNICOS segldr input (used by makefile) loadnoseg same as above but no segmentation is used. install UNICOS or Sun installation script in1 test problem decks and results out1 . pend1 . in2 . out2 . in3 . out3 . in4 . out4 . in5 . in6 . in7 . out7 . in8 . out8 . t322 data files for test problems t404 . t511 . eni61 . gam23 . gam27 . upd version-control code for updating njoy << version control with upd >> Previous versions of NJOY were maintained with CDC or Cray UPDATE, or with the UPEML update emulator from Sandia National Laboratory. This approach had the problems that not everybody had UPDATE and that UPEML wasn't exactly compatible with UPDATE for changes made upon earlier changes. For these reasons, NJOY now has its own version control program called UPD. This program performs the same functions as UPDATE, but it is very simple in order to make it easier to transport the code to a variety of computer systems. The original text of NJOY 91 is given in a file called "src", which contains "*deck module" cards at the start of each NJOY module (njoy, reconr, etc.). No binary program library is used. UPD directives are given in the file "upn". Each set of directives starts with the statement "*ident name" and contains additional statements like "*i address" or "*d address" followed by the text to be inserted or deleted. The UPD addresses can have forms like the following: reconr.151 groupr.522,533 matxsr.111,up20.33 The NJOY Quality Assurance program requires that idents be added to the upn file in strict sequence. The first card after each "*ident name" card must be a comment card giving the module, date, and purpose for the the change in the form */ groupr -- 30 Mar 91 -- fix problem with c.p. elastic */ reported by NEA-DB An ident should contain changes for only one module. Once an ident has been finished, dated, and released, it should never be changed directly. It should only be changed by some subsequent ident using line numbers like "up20.33". The conventional name for "official" idents are "up1", "up2", "up3", and so on. The corresponding version names would be "91.1", "91.2", "91.3", and so on. The last ident in upn is always "*ident vers", which has the following form: *ident vers *d njoy.8 c * version 91.0 -- 15 mar 91 * *d njoy.326 data vers/' 91.0'/ This ident is changed as each ident is added to reflect the current version number and date. The result of this procedure is that it is always possible to determine what version was used to run a particular problem, and knowing the version, it it possible to determine the exact configuration of the code for any run. Code changes for different computer systems are handled by UPD in two ways. Generic changes are handled by "*if" constructs in the source file. Currently, two such options are implemented. Add the card "*set sw" at the start of upn for "short-word" machines (32-bit words). Add the card "*set diss" to enable DISSPLA graphics for covr, dtfr, and plotr. More specific system changes are included in a machine ident that must be copied onto the end of the upn file. Examples are given in the distribution (see upctss, upibm, upvms, upsun, upuni-la, upuni-sd). These updates normally do things like change the names of the local time and date routines and personalize the NJOY "banner" for the specific laboratory. It is usually easy to transport UPD between different computer systems. Unit 6 is intended for writing on the screen or an equivalent log file. This is the default for many systems. For CTSS, a special OPEN statement is provided to connect unit 6 to 'tty'. This statement should be commented out if not needed. << changes made to UPD for 91.38 >> 1. The capacity of the code was increased to 5000 active lines. 2. An error was fixed that caused incorrect results when deleting blocks that started in the middle of one range and ended in the middle of another range. 3. An option was added to omit the line identification fields on every card of the CPL file. It is useful for IBM compilers that do not allow cards to have more than 80 characters. The LST file can be used as a reference listing. Use "*set noid" to enable this option. << installation on UNICOS machines at Los Alamos >> For the initial installation... Make sure the following files are in your working directory: install makef.uni loadnjoy upd upn upuni-la src up118 install and do the following: cp makef.uni Makefile [edit to uncomment the right loader commands] mv upd upd.f cf77 -o upd upd.f edit upn to contain *cpl module *lst module *set diss [text from up118] [text from upuni-la] chmod +x install install xnjoy is your executable file module.f is a fortran compiler input file module.o is an object deck module.l is a listing file for the printer module.7 is a cft output file to examine for problems To make a change to NJOY 91.118 Make sure the following files are available: upd (the executable version) upn (the expanded version) src Makefile loadnjoy module.f files module.o files previous xnjoy Edit upn to add the new upd "ident"; for example, *cpl module *lst module *ident fixbug */ fix a hypothetical bug in groupr *d groupr.444,445 *ident vers ... make groupr make xnjoy (the "make module" lines are only need for decks changed in the new idents in upn) Versions of the test problem input files in unix script for are included in the distribution of NJOY 91.118. To run the test problems, make sure the scripts are executable by doing chmod +x in1 and then simply type "in1". And so on. << installation on UNICOS machines at NERSC or SDSC >> Follow the Los Alamos UNICOS instructions, except use upnersc or upuni-sd. Edit the make.uni file to comment out the Los Alamos section and open up the appropriate NERSC or SDSC sections. Segmented loading doesn't seem to work right at NERSC; the "loadnoseg" file takes care of that. << preparing a Sun version >> Follow the UNICOS instructions, except... Use "f77" instead of "cf77" to compile upd. Do not use "*set diss" if you don't have DISSPLA. Be sure to add "*set sw" to your upn file. Use "upsun" in the upn file for Sun-dependent features. Use makef.sun for your Makefile. << preparing a VAX/VMS version >> Make sure that the following files are on your VAX/VMS working directory. Make sure that they have all been converted to upper case. SRC.DAT UP118. UPVMS. UPD.FOR Make an executable version of upd as follows: FOR UPD LINK UPD Use your favorite editor to create the file UPN.DAT containing UP91 followed by UPVMS. Make sure that "*CPL MODULE", "*LST MODULE", and "*SET SW" cards have been inserted at the beginning of the file. Next, edit the UPN.DAT file, changing MODULE to NJOY in the first two lines. Then, do the following: RUN UPD messages from upd REN CPL.DAT NJOY.FOR REN LST.DAT NJOY.LST FOR NJOY Repeat this process for all the modules of NJOY (namely, NJOY, RECONR, BROADR, UNRESR, HEATR, THERMR, GROUPR, GAMINR, ERRORR, COVR, MODER, DTFR, CCCCR, MATXSR, RESXSR, ACER, POWR, WIMSR, PLOTR, MIXR, and PURR). At this point, ".OBJ" files have been made for all the modules. Finish the NJOY executable by typing LINK NJOY,RECONR,BROADR,UNRESR,HEATR,THERMR,GROUPR,- GAMINR,ERRORR,COVR,MODER,DTFR,CCCCR,MATXSR,RESXSR,- ACER,POWR,WIMSR,PLOTR,MIXR,PURR To run the test problems, delete the unix script stuff of the beginning and end of each test problem. Convert to upper case. Then use COPY T404.DAT TAPE20.DAT ASSIGN IN2. FOR005 ASSIGN OUT2. FOR006 RUN NJOY to run test problem 2. << preparing an IBM mainframe version >> A procedure similar to the VMS procedure can be used to prepare the FORTRAN decks for all the modules. Be sure to use the "*SET SW" line in the UPN file. Also use "*SET NOID" to remove the UPD identifiers from the right side of the cards in the CPL file. We have not tested the IBM version, so please use caution. << running NJOY at NERSC >> DISSPLA uses units 21, 22, ... for virtual storage. Therefore, you will have to avoid those conventional NJOY unit numbers for jobs that require plotr, covr, or dtfr. Here is how to view one of the sample plot files on a Tektronics-type terminal or emulator: gplot -dtek4014 -t plot6