Using BBC

BBC is a utility code for maintaining MATXS libraries. It can be used to convert them back and forth between binary and BCD (i.e., formatted) modes, to selectively list the contents of a library, or to construct an index to the materials and reactions on a library. It can also be used to modify a MATXS library in several ways. It can select a subset of the materials from a library in order to make a new smaller library (smaller libraries run faster with TRANSX). The select option could also be used to list the cross sections for a particular material, if desired. BBC can insert new materials into a library or delete old materials. The select and insert capabilities can be used together to combine the information from two MATXS libraries. Finally, BBC can edit the MATXS version number, user identification, and file identification information.

BBC Input Instructions

The input instructions follow. They were copied from the comment cards near the start of the BBC source file. Supplementary information on using the BBC for random-access directories of MATXS files is here.

     ---INPUT----------------------------------------------------------

     CARD 1
          IINPF     INPUT FILE TYPE
                       1  BINARY (NAME = MATXS)
                      -1  CODED (NAME = TEXT)
          IOUTF     OUTPUT FILE TYPE
                       0  NONE
                       1  BINARY (NAME = MATXS OR MODOUT)
                      -1  CODED (NAME = TEXT OR MODOUT)
          IMODF     MODIFY FLAG
                       0  NO MODIFICATIONS (DEFAULT)
                       1  MODIFICATIONS GIVEN
          LIST      LIST OPTION
                       0  NOT LISTED
                       1  LISTED (DEFAULT)
          INDX      INDEXING OPTION
                       0  NOT INDEXED
                       1  INDEXED (DEFAULT)
     CARD 2   (LIST.NE.0 ONLY)
          IRD       RECORD TYPE PRINT FLAGS.
                       1  FILE IDENTIFICATION
                       2  FILE CONTROL
                       3  SET HOLLERITH IDENTIFICATION
                       4  FILE DATA
                       5  GROUP STRUCTURE
                       6  MATERIAL CONTROL
                       7  VECTOR CONTROL
                       8  VECTOR BLOCK
                       9  SCATTERING MATRIX CONTROL
                      10  SCATTERING SUB-BLOCK
                         ONE VALUE FOR EACH RECORD TYPE
                         0  NOT PRINTED, 1 PRINTED.
     CARD 3   (IMODF.NE.0 ONLY)
          HOPER     MODIFY OPTION
                       S  SELECT MATERIALS FROM MATXS INPUT FILE
                       I  INSERT MATERIALS FROM MODINP FILE
          HMAT1     FIRST MATERIAL IN RANGE
          HMAT2     LAST MATERIAL (DEFAULT=HMAT1)

        REPEAT CARD 3 UNTIL A BLANK LINE IS READ

     CARD 4   (IMODF.NE.0 ONLY)
          NEWVER    NEW FILE VERSION NUMBER
          HUSER     NEW USER ID STRING (UP TO 16 CHARS)

     CARD 5   (IMODF.NE.0 ONLY)
          HLINE     LINE OF NEW HOLLERITH ID DATA (72 CHAR MAX)

        REPEAT LINE 5 FOR EACH LINE OF THE NEW HOLLERITH
        DATA BLOCK.  TERMINATE WITH AN EMPTY LINE.  IF NO
        LINES ARE READ, THE ORIGINAL BLOCK IS UNCHANGED.
Because binary libraries cannot normally be moved between different computer systems, the MATXS file specification includes formatted version of each different record type (See \ref{matxs_description} Therefore, BBC includes the capability to convert files back and forth between BCD and binary modes. The simplest input to go from binary to BCD would be
   1  -1  0  0  0
and to go from BCD to binary,
   -1  1  0  0  0
The binary unit (input or output) is always called MATXS, and the BCD unit (input or output) is always called TEXT. It is often useful to make a partial listing and an index at the same time as a binary to BCD conversion. This can be done using
   1  -1  0  1  1
   1  1  1  1  1  1/
The partial listing on the file named OUTPUT will contain only the first five records of the MATXS library, namely, file identification through group structures. The index listing will appear on the file named INDEX.

The cost of running TRANSX can be reduced substantially by preparing a condensed version of a MATXS library that contains only the materials of interest. For example, a special library to run the TRX benchmark calculations could be prepared using the following input:

   1  1  1  0  0
   S  H1/
   S  O16/
   S  AL27
   S  U235/
   S  U238/
   /
   112 *T2LANL BBC*/
   *SHORTENED VERSION OF MATXS12*/
   *FOR TRX BENCHMARK CALCULATIONS*/
   /

The original library should be MATXS12 with its name switched to MATXS. The version number is changed to 112, so it would be convenient to change the name of the MODOUT file to MATXS112.

When it becomes necessary to update an isotope on an existing MATXS library or to insert a new isotope into the library, it is inconvenient and expensive to repeat the entire process of preparing the library using the MATXSR module of NJOY. An alternative approach is to prepare a small MATXS library containing only the new material, and then to add it to the library. Assuming that the MATXS10 library has been copied to the file MATXS, and that a new version of the $^{11}$B data is on unit MODINP, you run BBC using the following input:

   1  1  0  0  1
   S  H1 B10 
   I  B11/
   S  CNAT ES253 /
   10 *T2LANL BBC*/
   /
Note that $^{11}$B is replaced and that the original version number and Hollerith descriptive text are used for the new library. The output file MODOUT should then be switched to MATXS10 and used to replace the previous version.

BBC Error Messages

The error messages than can result when running BBC are listed below along with recommended actions.

TRANSX HyperText Manual
TRANSX HyperText Help Package
T-2 Nuclear Information Service