{"title":"ENDFtk:读写ENDF格式核数据的强大工具","authors":"W. Haeck, N. Gibson, P. Talou","doi":"10.1016/j.cpc.2024.109245","DOIUrl":null,"url":null,"abstract":"<div><p><span>ENDFtk</span> is a recently developed C++ and Python interface to interact with ENDF-6 formatted nuclear data files. It provides a robust and complete interface, allowing the reading and writing of all formats currently part of the ENDF-6 formats manual, as well as some non-ENDF formats used by the NJOY processing code. It provides an interface that mimics the names in the ENDF-6 formats manual as well as an equivalent interface using human-readable attribute names. It is robust and powerful enogh for nuclear data experts to develop complex applications, while also simple enough to be used non-experts to retrieve and manipulate evaluated nuclear data. <span>ENDFtk</span> offers the ability to easily interrogate and manipulate data either in large-scale code projects or in simple Python scripts. In this paper, a brief overview of the interface is given, as well as more substantial examples demonstrating plotting simple data, interacting with more complex data, and writing new data to files. <span>ENDFtk</span> is open source and available for download via GitHub (<span>https://github.com/njoy/ENDFtk</span><svg><path></path></svg>).</p></div><div><h3>Program summary</h3><p><em>Program title:</em> <span>ENDFtk</span> 1.0</p><p><em>CPC Library link to program files:</em> <span>https://doi.org/10.17632/9p4kxc2cvd.1</span><svg><path></path></svg></p><p><em>Developer's repository link:</em> <span>https://github.com/njoy/ENDFtk</span><svg><path></path></svg></p><p><em>Licensing provisions:</em> BSD-3 clause</p><p><em>Programming language:</em> C++ and Python</p><p><em>External routines/libraries:</em> pybind11, ranges-v3, spdlog</p><p><em>Nature of problem:</em> Provide an interface to read, write and manipulate nuclear data files using the ENDF-6 format. This interface can be integrated into other libraries requiring access to nuclear data, or be used directly using the Python interface.</p><p><em>Solution method:</em> Library of C++ routines, with their Python bindings, to be integrated in higher-level codes and scripts</p></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":null,"pages":null},"PeriodicalIF":7.2000,"publicationDate":"2024-05-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"ENDFtk: A robust tool for reading and writing ENDF-formatted nuclear data\",\"authors\":\"W. Haeck, N. Gibson, P. Talou\",\"doi\":\"10.1016/j.cpc.2024.109245\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p><span>ENDFtk</span> is a recently developed C++ and Python interface to interact with ENDF-6 formatted nuclear data files. It provides a robust and complete interface, allowing the reading and writing of all formats currently part of the ENDF-6 formats manual, as well as some non-ENDF formats used by the NJOY processing code. It provides an interface that mimics the names in the ENDF-6 formats manual as well as an equivalent interface using human-readable attribute names. It is robust and powerful enogh for nuclear data experts to develop complex applications, while also simple enough to be used non-experts to retrieve and manipulate evaluated nuclear data. <span>ENDFtk</span> offers the ability to easily interrogate and manipulate data either in large-scale code projects or in simple Python scripts. In this paper, a brief overview of the interface is given, as well as more substantial examples demonstrating plotting simple data, interacting with more complex data, and writing new data to files. <span>ENDFtk</span> is open source and available for download via GitHub (<span>https://github.com/njoy/ENDFtk</span><svg><path></path></svg>).</p></div><div><h3>Program summary</h3><p><em>Program title:</em> <span>ENDFtk</span> 1.0</p><p><em>CPC Library link to program files:</em> <span>https://doi.org/10.17632/9p4kxc2cvd.1</span><svg><path></path></svg></p><p><em>Developer's repository link:</em> <span>https://github.com/njoy/ENDFtk</span><svg><path></path></svg></p><p><em>Licensing provisions:</em> BSD-3 clause</p><p><em>Programming language:</em> C++ and Python</p><p><em>External routines/libraries:</em> pybind11, ranges-v3, spdlog</p><p><em>Nature of problem:</em> Provide an interface to read, write and manipulate nuclear data files using the ENDF-6 format. This interface can be integrated into other libraries requiring access to nuclear data, or be used directly using the Python interface.</p><p><em>Solution method:</em> Library of C++ routines, with their Python bindings, to be integrated in higher-level codes and scripts</p></div>\",\"PeriodicalId\":285,\"journal\":{\"name\":\"Computer Physics Communications\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":7.2000,\"publicationDate\":\"2024-05-31\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Physics Communications\",\"FirstCategoryId\":\"101\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0010465524001681\",\"RegionNum\":2,\"RegionCategory\":\"物理与天体物理\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524001681","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
ENDFtk: A robust tool for reading and writing ENDF-formatted nuclear data
ENDFtk is a recently developed C++ and Python interface to interact with ENDF-6 formatted nuclear data files. It provides a robust and complete interface, allowing the reading and writing of all formats currently part of the ENDF-6 formats manual, as well as some non-ENDF formats used by the NJOY processing code. It provides an interface that mimics the names in the ENDF-6 formats manual as well as an equivalent interface using human-readable attribute names. It is robust and powerful enogh for nuclear data experts to develop complex applications, while also simple enough to be used non-experts to retrieve and manipulate evaluated nuclear data. ENDFtk offers the ability to easily interrogate and manipulate data either in large-scale code projects or in simple Python scripts. In this paper, a brief overview of the interface is given, as well as more substantial examples demonstrating plotting simple data, interacting with more complex data, and writing new data to files. ENDFtk is open source and available for download via GitHub (https://github.com/njoy/ENDFtk).
Program summary
Program title:ENDFtk 1.0
CPC Library link to program files:https://doi.org/10.17632/9p4kxc2cvd.1
Nature of problem: Provide an interface to read, write and manipulate nuclear data files using the ENDF-6 format. This interface can be integrated into other libraries requiring access to nuclear data, or be used directly using the Python interface.
Solution method: Library of C++ routines, with their Python bindings, to be integrated in higher-level codes and scripts
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.