When the user selects the Menu option (“Tools/Import”), the data is converted from one of the original formats to the Janis database. The original formats supported are: the ENDF format (including the PENDF format and hybrid ENDF + PENDF), the computational format of EXFOR used at the NEA, the GENDF format (as prepared by NJOY), and NUBASE. The packages, janus.format.endf, janus.format.exfor, janus.format.gendf, and janus.format.nubase, support the conversion of data from ENDF, EXFOR, GENDF, and NUBASE formats, respectively
The filters sub-packages contain classes that parse the input source files according to the format type defined by the user in the “Tools/Import” dialog box. For example, the classes in package janus.format.endf.filters are used to parse the source file when the user selects ENDF as the format. With the ENDF format, two additional sub-packages, files and records, are also involved in the parsing process. The classes in the data sub-packages construct the data objects for the Janis database.
The ENDF format provides representations for neutron cross sections and distributions, photon production from neutron reactions, some charged-particle production from neutron reactions, photo-atomic interaction data, thermal neutron scattering data, radionuclide production, and decay data (including fission products). These formats describe how the data is arranged and give the formulas needed to reconstruct physical quantities such as cross sections and angular distributions. The process of analyzing experimentally measured cross-section data, combining it with the predictions of nuclear model calculations, and extracting the true value of a cross section is called an evaluation.
These evaluations are stored on ENDF tapes. The first record of each tape identifies the tape. Each tape is comprised of a collection of materials. A material (i.e. MATERIAL ENDF) is defined as either an isotope (e.g. H1) or a collection of isotopes. These materials may be single nuclides, natural elements containing several isotopes, or mixtures of several elements (e.g. a compound or an alloy). Each material contains several files (i.e. FILE ENDF or MF). Files are collections of reactions represented as sections (i.e. SECTION ENDF or MT). Sections are divided into individual records (i.e. RECORD ENDF or MR) that contain the data from a specific reaction. Figure 2-2 illustrates the structure of an ENDF tape. All records on an ENDF tape are either TEXT, CONT, LIST, TAB1, or TAB2. There are six types of CONT records: DIR, HEAD, SEND, FEND, MEND, or TEND. The TEXT record has the special case TPID.
(a) TAPE ENDF (b) MATERIAL (c) FILE ENDF (d) SECTION
ENDF ENDF
Figure 2-2. Structure of an ENDF Tape
The Janis classes, used to convert an ENDF tape to Janis objects, are organized into similar structures as the ENDF tape. The mappings from ENDF format to Janis classes are shown in Table 2-1. The left column lists the structures in ENDF format. The middle column gives the corresponding Janis class for a particular ENDF structure. Indentations in this column denote class hierarchy relationships, such as class ENDF_MF1Filter is a subclass of ENDF_FileFilter. The column, Janis package, indicates which package contains the class. For example, the class ENDF_MF1Filter is found in the package janus.format.endf.files. The three packages, janus.format.endf.files,janus.format.endf.filters, and janus.format.endf.records support the conversion from ENDF format.
Original ENDF Format |
Janis Class |
Janus Package |
TAPE ENDF |
ENDF_TapeFilter |
janus.format.endf.files
|
MAT ENDF |
ENDF_MaterialFilter |
|
FILE ENDF |
ENDF_FileFilter |
|
FILE 1 |
ENDF_MF1Filter |
|
FILE 2 |
ENDF_MF2Filter |
|
FILE 33 |
ENDF_MF33Filter |
|
FILE 3 |
ENDF_MF3Filter |
|
FILE 4 |
ENDF_MF4Filter |
|
FILE 5 |
ENDF_MF5Filter |
|
FILE 6 |
ENDF_MF6Filter |
|
FILE 8 |
ENDF_MF8Filter |
|
FILE 7, 9-15, 23, 27, 30-35, 39-40 |
ENDF_ZappedFileFilter |
|
RECORD ENDF |
ENDF_RecordFilter |
janus.format.endf.filters |
|
ENDF_CONTLikeFilter |
|
CONT |
ENDF_CONTFilter |
|
DIR |
ENDF_DIRFilter |
|
FEND |
ENDF_FENDFilter |
|
HEAD |
ENDF_HEADFilter |
|
MEND |
ENDF_MENDFilter |
|
SEND |
ENDF_SENDFilter |
|
TEND |
ENDF_TENDFilter |
|
|
ENDF_DirectoryFilter |
|
TEXT |
ENDF_TEXTFilter |
|
|
ENDF_TabulableRecordFilter |
|
LIST |
ENDF_LISTFilter |
|
TAB1 |
ENDF_TAB1Filter |
|
TAB2 |
ENDF_TAB2Filter |
|
RECORD ENDF |
ENDF_Record |
janus.format.endf.records |
|
ENDF_CONTLike |
|
CONT |
ENDF_CONT |
|
DIR |
ENDF_DIR |
|
HEAD |
ENDF_HEAD |
|
|
ENDF_Directory |
|
TEXT |
ENDF_TEXT |
|
|
ENDF_TabulableRecord |
|
LIST |
ENDF_LIST |
|
TAB1 |
ENDF_TAB1 |
|
TAB2 |
ENDF_TAB2 |
Table 2-1. Mapping of ENDF Format to Janis Classes
To analyze the records or elementary structures in ENDF format, the classes in two packages are provided:
· janus.format.endf.records
· janus.format.endf.filters
The package janus.format.endf.records contains classes intended to store the different structures found in ENDF format. The classes in package janus.format.endf.filters analyze the input flow in ENDF format and fill the corresponding structures in the classes from package janus.format.endf.records.