Coder Social home page Coder Social logo

njoy21's Introduction

NJOY21

The NJOY Nuclear Data Processing System is a modular computer code designed to read evaluated data in ENDF format, transform the data in various ways, and output the results as libraries designed to be used in various applications. Each module performs a well defined processing task. The modules are essentially independent programs, and they communicate with each other using input and output files, plus a very few common variables.

NJOY21 provides a C++ wrapped version of NJOY2016 with a few additional features (such as an input parser that verifies the NJOY input file before running NJOY2016).

While it was initially intended to modernise NJOY on a module-by-module basis within NJOY21, the modernisation of NJOY has now gone in the direction of a component-based modernisation. As a result, NJOY21 will continue to use NJOY2016 for the foreseeable future. Regular updates will be made to NJOY21, coinciding with the NJOY2016 releases.

Documentation

The user manual for NJOY21/NJOY2016 can be found here: NJOY User Manual (pdf).

Release and development versions

For the latest version of NJOY21 and an overview of the latest changes, please see the Release Notes or the release page.

Differences between NJOY21 and NJOY2016

NJOY21 is in essence a wrapper for NJOY2016, and is therefore backwards compatible with NJOY2016. NJOY21 does deviate from the standard NJOY2016 behavious as follows:

  • 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.

Installation

Prerequisites:

The following are the prerequisites for compiling NJOY2016:

  • git
  • cmake 3.15 or higher
  • a C++-17 compliant compiler such as gcc-7 or higher
  • a Fortran 2003 compliant compiler such as gcc-7 or higher
  • Python 3.5 or higher

Note: gcc-11.3 has been known to produce an internal compiler error while compiling NJOY2016, so as a result this specific version of gcc is not supported. Other versions of gcc (version 7 or higher) seem to be capable of compiling NJOY21 and its dependencies.

Instructions:

To compile the latest NJOY21 version, you can use the following instructions:

git clone https://github.com/njoy/NJOY21.git
cd NJOY21
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../
make -j8

The above instructions will produce a release build consisting of dynamic libraries and a dynamically linked executable. When you have already cloned the NJOY21 repository and wish to update to the latest version, you can use the following instructions (inside the build folder):

git pull
make -j8

LICENSE

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

njoy21's People

Contributors

ameliajo avatar apmccartney avatar jlconlin avatar nathangibson14 avatar nicholas-sly avatar partofthething avatar whaeck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

njoy21's Issues

BROADR input verification

Verify the materials are specified in ascending order.

The order specified is the order in which the materials appear in the output file. ENDF requires that materials appear in a tape ordered from least to greatest.

Trouble with make NJOY21 in Cygwin64 Virtual Linux Environment, Windows 10 OS

Hello,

When trying to make NJOY21 (following the installation guide online), the operation failed with errors:

[ 27%] Building Fortran object subprojects/njoy/CMakeFiles/njoy.dir/src/endf.f90.o
f951: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See https://gcc.gnu.org/bugs/ for instructions.
make[2]: *** [subprojects/njoy/CMakeFiles/njoy.dir/build.make:206: subprojects/njoy/CMakeFiles/njoy.dir/src/endf.f90.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:350: subprojects/njoy/CMakeFiles/njoy.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

I reran make VERBOSE=1 to try to understand more about what was going wrong, and got this:

[ 22%] Building Fortran object subprojects/njoy/CMakeFiles/njoy.dir/src/endf.f90.o
cd /home/ckuty/NJOY/NJOY21/bin/subprojects/njoy && /usr/bin/gfortran.exe -Dnjoy_EXPORTS -I/home/ckuty/NJOY/NJOY21/bin/fortran_modules -J../../fortran_modules -c /home/ckuty/NJOY/NJOY21/subprojects/njoy/src/endf.f90 -o CMakeFiles/njoy.dir/src/endf.f90.o
f951: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See https://gcc.gnu.org/bugs/ for instructions.
make[2]: *** [subprojects/njoy/CMakeFiles/njoy.dir/build.make:206: subprojects/njoy/CMakeFiles/njoy.dir/src/endf.f90.o] Error 1
make[2]: Leaving directory '/home/ckuty/NJOY/NJOY21/bin'
make[1]: *** [CMakeFiles/Makefile2:350: subprojects/njoy/CMakeFiles/njoy.dir/all] Error 2
make[1]: Leaving directory '/home/ckuty/NJOY/NJOY21/bin'
make: *** [Makefile:163: all] Error 2

Any and all help is appreciated. Please and thank you.

Best,

CK

Building problem on Linux

After executing make in the NJOY21/bin directory, the building process gets stuck at 84%. My system crashes at this point. The last thing that the shell shows is the following.

[ 84%] Building CXX object CMakeFiles/njoy21.dir/src/main.cpp.o

Build error on macOS

Hello,

I'm trying to build NJOY21 on MacOS Mojave. I successfully built and ran tests with NJOY2016, but I'm interested in this version. My compilers:

$CC -> /opt/moose/mpich-3.3/clang-8.0.0/bin/mpicc
$CXX -> /opt/moose/mpich-3.3/clang-8.0.0/bin/mpicxx
$FC-> /opt/moose/mpich-3.3/clang-8.0.0/bin/mpif90

Python version is 2.7.16. I realize this isn't up to the standard, but I assumed since I got NJOY2016 to compile with it, it might work for NJOY21. Here are the error messages I'm seeing:

[ 84%] Building CXX object CMakeFiles/njoy21.dir/src/main.cpp.o
In file included from /Users/hartjr/projects/NJOY21/src/main.cpp:1:
In file included from /Users/hartjr/projects/NJOY21/src/njoy21.hpp:11:
/opt/moose/llvm-8.0.0/bin/../include/c++/v1/experimental/optional:18:3: error: "<experimental/optional> has been removed. Use optional instead." [-Werror,-W#warnings] # warning "<experimental/optional> has been removed. Use optional instead."
In file included from /Users/hartjr/projects/NJOY21/src/main.cpp:1:
In file included from /Users/hartjr/projects/NJOY21/src/njoy21.hpp:25:
In file included from /Users/hartjr/projects/NJOY21/subprojects/ENDFtk/src/ENDFtk.hpp:82:
In file included from /Users/hartjr/projects/NJOY21/subprojects/ENDFtk/src/ENDFtk/resonanceParameters.hpp:5:
/Users/hartjr/projects/NJOY21/subprojects/ENDFtk/src/ENDFtk/resonanceParameters/src/readAPE.hpp:7:5: error: no template named 'optional' in namespace 'std'; did you mean 'ranges::optional'?
std::optional< TAB1 >{ TAB1( it, end, lineNumber, MAT, MF, MT ) } :
^~~~~~~~~~~~~
ranges::optional

And so on, it stops after 20 errors. Do you have any advice on this, please? I'm not extremely knowledgeable about compiler issues, so my apologies in advance.

Thanks!

Jackson

Installation problem

When I run

njoy21 --version 

I get following error.

 njoy21: error while loading shared libraries: libnjoy_c_bindings.so: cannot open shared object file: No such file or directory

What should I do now?

Maybe uninitialized variables when building with GCC in release mode

When building in release mode with GCC 7.3.0 (and probably other versions of GCC), several maybe-uninitialized errors are thrown. See below:

[ 84%] Building CXX object CMakeFiles/njoy21.dir/src/main.cpp.o
In file included from /Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice/POWR/Lib3.hpp:14:0,
                 from /Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice/POWR.hpp:9,
                 from /Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice.hpp:52,
                 from /Users/jlconlin/NJOY21/Code/NJOY21/src/njoy21.hpp:20,
                 from /Users/jlconlin/NJOY21/Code/NJOY21/src/main.cpp:1:
/Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice/POWR/Lib3/Card12.hpp: In static member function 'static std::optional<std::vector<std::optional<std::pair<njoy::njoy21::lipservice::POWR::Lib3::Card12, std::pair<njoy::njoy21::lipservice::POWR::Lib3::Card12a, std::vector<std::pair<njoy::njoy21::lipservice::POWR::Lib3::Card12b, std::optional<njoy::njoy21::lipservice::POWR::Lib3::Card12c> > > > > > > > njoy::njoy21::lipservice::POWR::Lib3::readCard12(Istream&, std::vector<njoy::njoy21::lipservice::POWR::Lib3::Card5>, int) [with Istream = njoy::utility::stream::basic_RecordOrientedStream<std::basic_istream, char>]':
/Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice/POWR/Lib3/Card12.hpp:1:7: error: '<anonymous>.njoy::njoy21::lipservice::POWR::Lib3::Card12::aw' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 class Card12{
       ^~~~~~
/Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice/POWR/Lib3/Card12.hpp:1:7: error: '<anonymous>.njoy::njoy21::lipservice::POWR::Lib3::Card12::temp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
In file included from /Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice/argument.hpp:4:0,
                 from /Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice.hpp:29,
                 from /Users/jlconlin/NJOY21/Code/NJOY21/src/njoy21.hpp:20,
                 from /Users/jlconlin/NJOY21/Code/NJOY21/src/main.cpp:1:
/Users/jlconlin/NJOY21/Code/NJOY21/subprojects/lipservice/src/lipservice/argument/Type.hpp:17:8: error: '*((void*)(&<anonymous>)+16).njoy::njoy21::lipservice::argument::Type<njoy::njoy21::lipservice::POWR::Lib3::Card12::Fpa>::<anonymous>' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 struct Type : public defaultField< policy::hasDefault< Policy > > {
        ^~~~
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/njoy21.dir/src/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/njoy21.dir/all] Error 2
make: *** [all] Error 2

Note this does not occur when using the LLVM compiler.

njoy_sync_error

With the latest Pull Request (#93) there is an error about njoy_sync_error not being declared.

Compilation fails at link stage

Context:
Windows 10 64 bit
Latest Cygwin (full install, just updated)
gcc version 9.3.0
signature 1.1.1-NJOY21.json

Problem:
At "make" stage of building per instructions from http://www.njoy21.io/Build/index.html, fails with following error:
[ 84%] Building CXX object CMakeFiles/njoy21.dir/src/main.cpp.o
/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/as: CMakeFiles/njoy21.dir/src/main.cpp.o: too many sections (58183)
/tmp/ccuu4fSO.s: Assembler messages:
/tmp/ccuu4fSO.s: Fatal error: can't write 56 bytes to section .text of CMakeFiles/njoy21.dir/src/main.cpp.o: 'file too big'
/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/as: CMakeFiles/njoy21.dir/src/main.cpp.o: too many sections (58183)
/tmp/ccuu4fSO.s: Fatal error: can't close CMakeFiles/njoy21.dir/src/main.cpp.o: file too big
make[2]: *** [CMakeFiles/njoy21.dir/build.make:63: CMakeFiles/njoy21.dir/src/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:115: CMakeFiles/njoy21.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

Observations:

  • Fails with 1.1.0 signature also (starting from scratch)
  • gcc compiler (cc1plus.exe) gets up to ~4GB memory usage just before it dies.
  • Unclear line in instructions: "Similarly for NJOY2016" then gives git command to clone NJOY2016, but doesn't say what to do with it.

Installation and run

Done every step mentioned "Obtaining and Installing NJOY" page. All test passed.
While using command like njoy21 --version or any njoy21 command, getting following errors:

njoy21: error while loading shared libraries: libnjoy_c_bindings.so: cannot open shared object file: No such file or directory

Need to have way of reporting version of NJOY

Some will need to know exactly what version of NJOY21 is being used. This could be accomplished with a --version option on the command line. This should return a traditional version number (e.g., 1.2.7) as well as the output of the "signature". This signature needs to be generated when configured and added to the code that is compiled.

The version number could be advanced as follows:

  • Major number always stays at 1 (we don't have permission for anything else)
  • Minor number updated when new capabilities are included (e.g., resonance reconstruction)
  • Sub number updated at every merge into master

Compile Error - anonymous types in headers

While attempting a fresh install of NJOY21, compile errors during make, shown below occurred while processing main.cpp.o.

Compilation was attempted on a Debian stretch distribution with gcc 6.2.1, gfortran 6.2.1, cmake 3.7.1, python 3.5.2+, and git 2.11.0.

Scanning dependencies of target njoy21_executable
[ 25%] Building CXX object CMakeFiles/njoy21_executable.dir/src/main.cpp.o
In file included from /home/fbfree/programs/NJOY21/src/njoy21/input.hpp:10:0,
  from /home/fbfree/programs/NJOY21/src/njoy21.hpp:28,
  from /home/fbfree/programs/NJOY21/src/main.cpp:1:
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card4::Tempr, true, true>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/RECONR/Card4.hpp:9:21:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card4::Tempr, true, true>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card4::Tempr, true, true>::value’ whose type uses the anonymous namespace -Werror=subobject-linkage]
 struct Type : public defaultField< defaults > {
        ^~~~
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card4::Errint, true, true>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/RECONR/Card4.hpp:11:22:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card4::Errint, true, true>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card4::Errint, true, true>::value’ whose type uses the anonymous namespace [-Werror=subobject-linkage]
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card6::Enode, false, true>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/RECONR/Card6.hpp:5:21:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card6::Enode, false, true>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::RECONR::Card6::Enode, false, true>::value’ whose type uses the anonymous namespace [-Werror=subobject-linkage]
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card2::Temp1, true, true>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/BROADR/Card2.hpp:13:21:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card2::Temp1, true, true>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card2::Temp1, true, true>::value’ whose type uses the anonymous namespace -Werror=subobject-linkage]
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card3::Thnmax, true, false>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/BROADR/Card3.hpp:9:22:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card3::Thnmax, true, false>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card3::Thnmax, true, false>::value’ whose type uses the anonymous namespace [-Werror=subobject-linkage]
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card3::Errint, true, true>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/BROADR/Card3.hpp:11:22:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card3::Errint, true, true>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card3::Errint, true, true>::value’ whose type uses the anonymous namespace [-Werror=subobject-linkage]
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card4::Temp2, false, true>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/BROADR/Card4.hpp:5:21:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card4::Temp2, false, true>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::BROADR::Card4::Temp2, false, true>::value’ whose type uses the anonymous namespace [-Werror=subobject-linkage]
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::PURR::Card3::Temp, false, true>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/PURR/Card3.hpp:6:20:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::PURR::Card3::Temp, false, true>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::PURR::Card3::Temp, false, true>::value’ whose type uses the anonymous namespace [-Werror=subobject-linkage]
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp: In instantiation of ‘struct njoy::njoy21::input::argument::Type<njoy::njoy21::input::PURR::Card4::Sigz, false, true>’:
/home/fbfree/programs/NJOY21/src/njoy21/input/PURR/Card4.hpp:6:20:   required from here
/home/fbfree/programs/NJOY21/src/njoy21/input/argument.hpp:17:8: error: ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::PURR::Card4::Sigz, false, true>’ has a field ‘njoy::njoy21::input::argument::Type<njoy::njoy21::input::PURR::Card4::Sigz, false, true>::value’ whose type uses the anonymous namespace [-Werror=subobject-linkage]
cc1plus: all warnings being treated as errors
CMakeFiles/njoy21_executable.dir/build.make:62: recipe for target 'CMakeFiles/njoy21_executable.dir/src/main.cpp.o' failed
make[2]: *** [CMakeFiles/njoy21_executable.dir/src/main.cpp.o] Error 1
CMakeFiles/Makefile2:69: recipe for target 'CMakeFiles/njoy21_executable.dir/all' failed
make[1]: *** [CMakeFiles/njoy21_executable.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2

Trouble when doing cmake in Windows

Hello guys,

Nice to see Los Alamos National Laboratory's excellent work on helping people with their data. I met some troubles when installing NJOY, any volunteer willing to help?

fatal: not a git repository: C:/NJOY21/subprojects/catch-adapter/../../../../.git/modules/dependencies/dimwits/modules/dependencies/catch-adapter
fatal: not a git repository: C:/NJOY21/subprojects/disco/../../../../.git/modules/dependencies/ENDFtk/modules/dependencies/disco                                                                                                             
fatal: not a git repository: C:/NJOY21/subprojects/fmt-adapter/../../../../../../../../../../.git/modules/dependencies/ENDFtk/modules/dependencies/header-utilities/modules/dependencies/Log/modules/dependencies/spdlog-adapter/modules/dependencies/fmt-adapter                                                                                                       
fatal: not a git repository: C:/NJOY21/subprojects/hana-adapter/../../../../.git/modules/dependencies/dimwits/modules/dependencies/hana-adapter                                                                                                 
fatal: not a git repository: C:/NJOY21/subprojects/header-utilities/../../../../.git/modules/dependencies/ENDFtk/modules/dependencies/header-utilities                                                                                          
fatal: not a git repository: C:/NJOY21/subprojects/hopscotch-map-adapter/../../../../.git/modules/dependencies/ENDFtk/modules/dependencies/hopscotch-map-adapter                                                                                
fatal: not a git repository: C:/NJOY21/subprojects/Log/../../../../../../.git/modules/dependencies/ENDFtk/modules/dependencies/header-utilities/modules/dependencies/Log                                                                        
fatal: not a git repository: C:/NJOY21/subprojects/njoy/../../../../.git/modules/dependencies/njoy_c_bindings/modules/dependencies/njoy                                                                                                         fatal: not a git repository: C:/NJOY21/subprojects/range-v3-adapter/../../../../.git/modules/dependencies/ENDFtk/modules/dependencies/range-v3-adapter                                                                                          
fatal: not a git repository: C:/NJOY21/subprojects/spdlog-adapter/../../../../../../../../.git/modules/dependencies/ENDFtk/modules/dependencies/header-utilities/modules/dependencies/Log/modules/dependencies/spdlog-adapter                   fatal: not a git repository: C:/NJOY21/subprojects/utility/../../../../.git/modules/dependencies/lipservice/modules/dependendices/utility                                                                                                       fatal: not a git repository: C:/NJOY21/subprojects/variant-adapter/../../../../.git/modules/dependencies/ENDFtk/modules/dependencies/variant-adapter                                                                                            
fatal: not a git repository: C:/NJOY21/subprojects/catch-adapter/../../../../.git/modules/dependencies/dimwits/modules/dependencies/catch-adapter                                                                                               fatal: not a git repository: C:/NJOY21/subprojects/catch-adapter/../../../../.git/modules/dependencies/dimwits/modules/dependencies/catch-adapter               

I can almost make sure that the problem was caused by such lines in CMakelists of subprojects:

........
project( catch-adapter LANGUAGES CXX )
.........
 execute_process(
     COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
     OUTPUT_VARIABLE GIT_BRANCH
     OUTPUT_STRIP_TRAILING_WHITESPACE
)
 execute_process(
     COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
     OUTPUT_VARIABLE GIT_HASH
     OUTPUT_STRIP_TRAILING_WHITESPACE
) 

, I guess the problem only exists for Windows because Linux handle Git commands very naturally.

Thanks in advance,
Wenyin

Building problem on Linux

After I execute the command ./metaconfigure/fetch_subprojects.py ../1.0.1-NJOY21.json in the NJOY21 directory, the process gets stuck at Fetching njoy....

If I quit the process and re-execute it again, the following problem arises:

fatal: Needed a single revision
Unable to find current revision in submodule path 'njoy'
Checking out revision 9e3f11b4d29102567d417fc78e664823d2ef862f...

error: Server does not allow request for unadvertised object 9e3f11b4d29102567d417fc78e664823d2ef862f

Add std::optional reader for std::string

Here is the compiler error:

/.../NJOY21/Code/NJOY21/src/njoy21/input/ACER/Card8/Tname.hpp:12:46: error: no member named 'nullopt_t' in namespace 'std'
  static Value_t defaultValue(){ return std::nullopt_t(); }

Unrecognized routine label from GROUPR

The following input file causes the error:

[error] Unrecognized routine label on line 16
[info] Requested routine: 9228
[info] Error while running NJOY21

This goes through NJOY2016 (although that's no guarantee that it is working as expected.)

moder
 20 -30
moder
 21 -31
groupr
 -30 -31 0 -60                 / Card1
 125 3 3 9 4 1 1 1             / Card2
 "Processing for NJOY class"   / Card3
 293.6                         / Card4
 1E10                          / Card5
 3                             / Card9  #1.1
 0                             / Card9  #1.2
 2631                          / Card10 #1
 3                             / Card 9 #2.1
 0                             / Card 9 #2.2
 9228                          / Card10 #2
 3                             / Card9  #3.1
 0                             / Card9  #3.2
 0                             / Card10 #3
moder
 -60 61
stop

Cold moderators in LEAPR

This is a follow up of #103 presented by @chlavell, and might be of interest to @ameliajo.

I tried to recreate the evaluation for solid methane in ENDF/B-VIII.0 using a current version of NJOY and the input in the manual. What you get for the inelastic scattering cross section is:

xs_ch4.pdf

This is a long known problem with cold moderators: lower temperatures mean larger beta values, and smaller values of S(alpha,beta) at high energies that are not well calculated. A workaround is to raise smin to change the point in energy where SCT starts to take over. The result is this:

xs_ch4_smin.pdf

Although this is not ideal, as the important part for cold moderator is the interaction with cold neutrons, using SCT in the epithermal range is usually not an issue.

But, given that the evaluation in ENDF/B-VIII.0 was computed with NJOY (NJOY94 maybe?) it is clearly possible to do something better. I concluded that a combination of quad precision and a slight change in the bfact() subroutine of LEAPR to avoid dropping small values does the trick. I did not prepare a pull request with this because clearly quad precision is not a good default, but you can check out the changes here. This is the result:

xs_ch4_cold_mod.pdf

On one hand, I think this is an issue of NJOY2016/NJOY21 because at least one input in the manual does not run correctly, but on the other this is probably not the right solution. Perhaps @ameliajo can give a more permanent solution, or use this evaluation as a benchmark. But in the mean time this might help as a guide for users trying to deal with cold moderators.

Split output to screen and to file

With NJOY2016, some (limited) information was printed to the screen and some was printed to the output file. By default, everything is printed to the screen. With NJOY21 one can (optionally) specify -o outputfile which prints everything to the specified outputfile and nothing (but logging errors) gets printed to the screen.

A little information needs to be written to the screen so that the user can see how things are progressing. Printing everything to the screen is too much information.

RECONR input verification

RECONR materials ought to be specified in ascending order. If RECONR materials are specified out of order, they will appear out of order in the resulting tape and cause issue in downstream processing

Build issue on macOS

I could not get NJOY21 to build without adding the "-Wno-maybe-uninitialized" flag to the set of common Darwin build flags. This is what my line 132 of CMakeList.txt looks like:

set( njoy21_GNU_Darwin_common_flags "-Wall" "-Wextra" "-Wpedantic" "-Wno-maybe-uninitialized" "-std=c++14" )

This same flag is used by default for Linux builds.

Thermal Scattering low at very low temperature

Hello,

Attempting to create 0.1 K thermal scattering law files. Frequent NaN errors below ~3.5 K in LEAPR. Varies with material. Material requires Skold treatment. Have attempted various alpha beta grids without success, also using einstien oscillators where appropriate. Using a GDOS up to a few 10s of meV (instead of the full 400 meV range) seems to get temperature lower, but not where we want it.

Thanks!

TSL Carbon file attached.

DPMC_input_0.10.txt

TH232 ENDF-B/VII.0 ***error in file32***unknown isr

Have a problem with the TH232 ENDF-B/VII.0 processing with NJOY21 (and NJOY2016)

https://www-nds.iaea.org/public/download-endf/ENDF-B-VII.0/n/

Error message

 moder...change the mode of an endf tape or njoy output tape              0.0s
 moder...                                                                 0.0s
 put materials from various tapes on output tape -21
 tape id for nout
 moder iopt=1, extract mat 9040 from input tape
 processing endf or pendf tape.
 processing endf or pendf tape.
          nin          matd
          ---          ----
           20          9040
 using endf-6 format
 ***error in file32***unknown isr
 ***error in file32***unknown isr
STOP 77`

input-th232.txt

BROADR demo

Hi Everyone,

I've been trying to plot uranium cross sections at 4-5 different temperatures with the BROADR module but I still struggle with the nuclear library coupling. I could not find any information in the manual how does the code find the right XS library file to tabulate the data, how does one define/edit the tape. In short the code cannot load the "tape" so the run fails. Where can I get the proper XS files (proper format)? I checked the tests downloaded/run with the install but they contain these "dummy tapes" made for the given case...Sorry for the troubles, I am new to the NJOY21! In advance thank you for the help!

cmake error with "subprojects/hopscotch-map-adapter"

Hi,

I did a

cmake -D fetched_subprojects=true -D CMAKE_BUILD_TYPE=release -D static_libraries=true ../

in the bin dir of a NJOY21 clone of master aswell tagged 1.0.1 branch.

Several error messages appear

-- -----------------------------------------------------------
-- 
-- header-utilities
-- Git current branch: HEAD
-- Git commit hash: 744e1feb2d050d90be9668ce4b445eeed3861577
-- 
-- -----------------------------------------------------------
CMake Error at CMakeLists.txt:231 (add_subdirectory):
  add_subdirectory given source
  "/home/id6945/Programs/NJOY21/subprojects/hopscotch-map-adapter" which is
  not an existing directory.
.
.
.
-- utility
-- Git current branch: HEAD
-- Git commit hash: 361c72300422aa1c9e7b00cf9be3b6c885871a40
-- 
-- -----------------------------------------------------------
CMake Error at subprojects/lipservice/CMakeLists.txt:213 (add_subdirectory):
  add_subdirectory given source
  "/home/id6945/Programs/NJOY21/subprojects/hopscotch-map-adapter" which is
  not an existing directory.
.
.
.
-- Configuring incomplete, errors occurred!

Help appreciated...

Thanks,
Maarten

System:
opensuse leap 15.1
compiler gcc-suite 8.2.1

Memory Leak in Some Tests

Clang sanitizers report small (280 bytes) memory leaks in:

  • njoy21.io.Manager.test
  • njoy21.Driver.test

These have been around since the io::Manager and Driver have existed (January 22, 2017). We haven't noticed this because testing of NJOY21 has been limited in the past.

The most recent failure can be seen here: https://travis-ci.org/njoy/NJOY21/jobs/445864304

Error stop with commented module call

Hi there,

when calling a module and having something like this:

moder / CALL MODER TO CONVERT ASCII - BINARY

NJOY21 will stop with:

[error] Unrecognized routine label on line 1
[info] Requested routine: MODER / ALL MODER TO CONVERT ASCII - BINARY
[info] Error while running NJOY21

Earlier versions didn't have problems ...

Best regards,
Maarten

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.