GitHub-XK / NJOY21

NJOY for the 21st Century

Home Page:https://www.njoy21.io/NJOY21

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NJOY21 --- NJOY for the 21st Century

NJOY21 is the modernized version of NJOY---suitable for computing in the 21st Century. It is based on NJOY2016.

Differences between NJOY21 and NJOY2016

NJOY21 is the modern successor to NJOY2016. It is backwards compatible with NJOY2016---except for a few small changes.

  • NJOY21 writes everything to the screen instead of to the output file. This can be changed by using the -o and providing a filename when running NJOY21.

  • The preferred method for using an input file for NJOY21 is to use the -i command-line option.

    njoy21 -i U235.inp -o output
    

    While you can redirect input and output using < and > as before, it is preferred to use -i and -o.

  • NJOY21 verifies all the input parameters before performing any processing. This provides a good mechanism to know if your input is valid and provides lots of information if it is not. (Note: we cannot ensure that it is correct; that is your responsibility.) The input verification is very strict; if your input does not conform to what is documented in the manual, it will not run in NJOY21.

The command-line option -h or --help provides a little more information as to how to execute NJOY21.

NJOY21 Development

NJOY21 is primarily written in modern C++. It consists of many subprojects that are used together to accomplish the entire work that NJOY performs. Initially, NJOY21 just delegates to NJOY2016; this will ensure backwards compatibility. As the different modules/components of NJOY are modernized, the calls to the Fortran modules (i.e., NJOY2016) will be replaced with calls to the modernized code.

Please refer to the Release Notes to see what has changed from one version to the next.

Installation

Instructions for building and installing NJOY21---as well as any of the subprojects---are found on our website.

Version

To see the version number for NJOY21, simply execute (after building):

njoy21 --version

NJOY21 roughly follows semantic versioning, where the version number is: M.m.u where M is the major version number, m is the minor version number, and u is the update number. These are updated as follows:

  1. The major version number M is incremented whenever there is a backwards incompatible change. This doesn't happen very often.
  2. The minor version is incremented whenever a new capability is added.
  3. The update version is incremented whenever a new changed is added to the master (i.e., main or default) branch. This happens most often.

Manual

The NJOY2016 manual (download) is the current manual for NJOY21.

Contributing

NJOY has long benefited from contributors outside of Los Alamos National Laboratory. NJOY21 is released with an Open Source license in the hopes of encouraging additional contributions. If you wish to contribute to the NJOY21 project---or any of its subprojects, please reach out to the NJOY team at Los Alamos National Laboratory by sending an email to njoy@lanl.gov.

LICENSE

This software is copyrighted by Los Alamos National Laboratory and distributed according to the conditions in the accompanying LICENSE file.

About

NJOY for the 21st Century

https://www.njoy21.io/NJOY21

License:Other


Languages

Language:CMake 60.9%Language:C++ 32.6%Language:Python 6.6%