Coder Social home page Coder Social logo

marquezj / njoy21 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from njoy/njoy21

0.0 0.0 0.0 175.53 MB

NJOY for the 21st Century

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

License: Other

CMake 36.46% Python 34.76% C++ 18.40% Ruby 0.53% HTML 2.62% CSS 7.24%

njoy21's Introduction

Build Status

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 (admittedly inadequate) 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.

Signature

NJOY21 has many dependencies that are updated independently of NJOY21. When NJOY21 is configured (using CMake), the latest production version of those dependencies is downloaded and used for compilation.

If you need to build an older version of NJOY21—including older versions of all dependencies—you can do using the "signature" of that version of NJOY21. To obtain the signature simply execute:

njoy21 --signature

The signature (a JSON object) will be printed to the screen, which can be then be saved to a file, e.g., signature.json. Alternatively, signature.json is automatically created whenever NJOY21 is configured. The file is saved in the build directory (typically bin) and copied to the install directory during the make install phase.

To configure with this signature file, do the following:

./metaconfigure/fetch_subprojects.py signature.json

# Configure
cmake -D fetched_subprojects=true </path/to/CMakeLists.txt>
make
make test
make install

These are similar instructions to when you need to build NJOY21 without access to the internet.

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 [email protected].

LICENSE

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.