1How to read ACE file
Japan Atomic Energy Agency (JAEA)
Kenichi TADA

2Contents• Overview of ACE file• Read ACE file• Edit ACE file using FRENDY modules

3ACE file (A Compact ENDF)• Cross section (XS) library for continuous Monte Carlocalculation codes• Ex) MCNP, PHITS, OpenMC and Serpent.

• It is difficult to read comparing to ENDF file.
Overview of ACE file(Opening)92235.50c 233.025000 2.5507e-08 20171005
U-235 from JENDL-4
mat922800000000General00000000
information00000000(NXS00000000 array)2023448 92235
16405747454506Data
position
00000000(JXS array)
1 820286 820377 820424 820471 820518 820565 1306929
1306975 1513550 1513595 1703760 1867817 1867862 1867907 1868801
1868846 1868846 1868891 2023403 820675 2023448 1689111 1692747
Energy grids and1692768 1692834 1692840
00000XS
data
1.00000000000e-11 1.00000100000e-11 1.00012300000e-11 1.00024500000e-11(ESZ block)
1.00036700000e-11 1.00048900000e-11 1.00061100000e-11 1.00073300000e-11
1.00085500000e-11 1.00097800000e-11 1.00110000000e-11 1.00122200000e-11

4Format Manual of ACE file
• Two types of ACE format manualare prepared.
• (1) MCNP manual, Volume III:Developer’s Guide• (2) A Compact ENDF (ACE) Format
Specification, LA-UR-19-29016• https://github.com/NuclearData/ACEFormat• https://github.com/NuclearData/ACEForm
at/blob/master/ACEFormat.pdf• (1) is only available for US users.
• Current version of (2) is only forcontinuous neutron and thermal
scattering law (TSL) data
• (2) is not complete.

5Note on reading ACE file
• Unit of energy is MeV (1.0E6 eV).
• Evaluated nuclear data file uses eV.
• It is difficult to find the end of each data.
• Four data is set in each line.
[Example of data array of ACE]

Energy grids [MeV]Total XS [barn]

1.70000000000e+01 1.75000000000e+01 1.80000000000e+01 1.85000000000e+01
1.90000000000e+01 1.95000000000e+01 2.00000000000e+01 1.17726171500e+03
1.15929185200e+03 1.14212078270e+03 1.12569106010e+03 1.10995080730e+03• Transport code uses data position list to find desireddata.
[Example of data position list]-10164170238687240088-11164179239073240405-176
2378382394242407160111
238294239763241026First data: 1-75
Second data: 76-110
Third data: 111-164169
Forth data: 164170-164179

6

How to access desired data?
• General information is set in head of ACE file (NXS array).
• Number of energies, number of reactions, …
• First data position list (JXS block) shows location of eachdata block.
• ESZ block: energy grids, total XS, …
• NU block: number of neutron per fission• Data position lists are also prepared in each data block.
• Transport code accesses desired data using general informationand data position lists.
Location of NU block is XXXX.
Data positionlist(JXS block)Energy grids,total XS, …
(ESZ block)νp, νd, and νt(NU block)

Location of SIG block is YYYY.

Otherreaction XS(SIG block)7

Read ACE file (Header region)• NXS array contains general information of ACE file.
• NXS array is located lines 7-8.
• JXS array contains data position to access each data.
• JXS array is located lines 9-12.
• Containing data in NXS and JXS arrays are written in ACE format
manual.
• ACE format manual must be required to read ACE file.
92235.50c 233.025000 2.5507e-08 20171005
U-235 from JENDL-4000000 Number0 of00 of 0
Number00
data0
energy0 grid 0000002023448 92235
1640574745000001 820286 820377 820424 820471

1000×Z+Amat9228
00000000NXS0 array0004506000820518 820565 1306929

Number ofreactions

JXS array8Introduction of new header format (2.0.X)• Official ACE file of ENDF/B-VII.1 and B-VIII.0

uses new header format.
• https://nucleardata.lanl.gov/ACE/index.html• Comment line of old header format is only one.
• New header format allows multiline for comment line.
[Example of new header format]
Version number of header format
2.0.092235.710nc
ENDFB-VII.1
Number of comment line233.024800 2.5301E-08 12/19/12 3
The next two lines are the first two lines of 'old-style' ACE.
92235.80c 233.024800 2.5301E-08 12/19/12
U235 ENDF71x (jlconlin) Ref. see jlconlin (ref 09/10/2012 10:00:53) mat9228

Old header format (Written as comment lines)

Commentlines

9

Read ACE file (ESZ block)• ESZ Block is the first block of ACE file.
• ESZ block contains energy grids, several XS data,and heating number.
• Total, disappearance, and elastic scattering XS• Total neutron disappearance XS (MT=101) is sum of XSs

Energygrids
Total
XS
Disappea
rance XSof MT=102-117, 155, 182, 191-193, and 193.
• Number of energy NE is found in NXS array ofheader.

(MT=1)

Elasticscattering
XS

Heatingnumber(MT=101)(MT=2)

Ref: A Compact ENDF (ACE) Format Specification, LA-UR-19-29016.

10Read ACE file (SIG block 1/2)
• SIG block contains XS of other reactions.
• Without total, disappearance, and elastic scattering XSs• LXS is 6th data of JXS array in header region.
• LOCA1～LOCANMT indicate data position.
• These location data are found in LSIG block (one blockbefore SIG block).
• LOCAN shows location from head of SIG block.

Ref: A Compact ENDF (ACE) Format Specification, LA-UR-19-29016.

11Read ACE file (SIG block 2/2)
• Each reaction data contains three data
• IEi: Energy grid point of the first XS data
• NE,i：Number of XS data
• σi[E(l)]：XS data
• ACE file uses unique energy grid point shown inESZ block.
• Threshold reaction does not need all energy grid data.
• IEi and NE,i are important to reduce data size.

Ref: A Compact ENDF (ACE) Format Specification, LA-UR-19-29016.

12Edit ACE file using FRENDY module (1/2)• FRENDY prepares read/write classes.
• “frendy/ContinuousEnergyXSUtils/AceDataParser”• “frendy/ContinuousEnergyXSUtils/AceDataWriter”• AceDataWriter class automatically modifies data position(location).
• User does not need to consider modification of data position.
• AceDataObject handles all data in ACE file.
• frendy/ContinuousEnergyXSUtils/AceDataObject• A corresponding table between data name of AceDataObject
and that of ACE format manual has not been prepar…
• Source file of AceDataParser class will helpful to understandwhat data is read in each block.

13Edit ACE file using FRENDY modules (2/2)• ACE file perturbation tool will be a good sample

to develop ACE file editing tool.
• tools/perturbation_ace_file/PerturbMain.cpp• frendy/ContinuousEnergyXSUtils/PerturbUtils• Procedure of editing ACE file using FRENDYmodules• Read ACE file using AceDataParser module• All data in ACE file is copy to AceDataObject• Modify AceDataObject• XS, number of neutrons per fission, energy and angular
distribution, …
• Write ACE file using AceDataWriter module