1

演習の概要と実行方法について

https://rpg.jaea.go.jp/main/ja/program_frendy/index.html

2

説明内容
• 演習(frendy_exercise)を実行する上で追加でインストールが必要なもの• gnuplot• CMake• NJOY2016• frendy_exerciseの概要• frendy_exerciseで学べることと、各ディレクトリの説明• FRENDYの入力説明• 中性子入射のACEファイル生成• 熱中性子散乱則(TSL)のACEファイル生成

3

frendy_exerciseを実行する上で追加でインストールするもの

4

注意条項
• 今回説明する環境• Ubuntu (Ubuntu 20.04.1 LTS)
• Windows subsystem for Linuxを用いて、WindowsにUbuntuをインストールしたものを利用• コマンドは緑文字で記載• サーバー管理者がいる場合、以降の操作は必ずサーバー管理者に確認し、サーバー管理者の監督の下で行って下さい• FedraやCentOSなど、他のLinuxをご利用の方は

apt-getをyumなどに適宜読み替えて下さい5d05099:46459a

gnuplotのインストール• frendy_exercise中に断面積を比較するデモがあり、比較結果を作図するのにgnuplotを使用• gnuplotのインストール方法• sudo apt-get install gnuplot• インストールの有無を聞かれるので、『Y』を入力• インストールが完了するまで数分～十数分必要• CentOSの場合はsudo yum install gnuplot• gnuplotがうまく動かない場合• gnuplotを動かそうとすると、作図がうまくいかず、以下のメッセージが表示される場合がある• gnuplot: error while loading shared libraries: libQt5Core.so.5: cannot

open shared object file: No such file or directory• その場合は下記のコマンドを入力すれば解決することがある• sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linuxgnu/libQt5Core.so.5

6

NJOY2016のインストール (1/2)• frendy_exerciseではFRENDYと合わせてNJOYも実行• NJOY2016のインストールにはCMakeが必要• 他にgcc7、gfortran、pythonが必要• CentOSの場合、デフォルトのバージョンではNJOY2016のコンパイル条件を満たさないことが多いので、devtoolsetを利用することが望ましい• ① sudo yum install centos-release-scl• ② sudo yum install devtoolset-9• ③ scl enable devtoolset-9 bash

• CMakeのインストールコマンドは次の通り• sudo apt-get install cmake• インストールの有無を聞かれるので、『Y』を入力• 場合によってはCMake3を使う場合があり、その場合は以下の通り• sudo apt-get install cmake3• NJOY2016の入手方法• git clone https://github.com/njoy/NJOY2016.git• このコマンドを打ったディレクトリに『NJOY2016』が生成• Gitコマンドが有効でない場合は事前にGitをインストール• sudo apt-get install git

7

NJOY2016のインストール (2/2)• NJOYのコンパイル方法• cd NJOY2016 (生成したNJOY2016に移動)• mkdir bin (NJOY2016の直下にbinを作成)• cd bin (binに移動)• cmake ../ (binディレクトリで実行)• Cmakeのバージョンが低いとエラーが出た場合、cmake3とすればうまく行く場合がある• デフォルトで、Fortranのコンパイラーをf95で行おうとしており、f95がない場合にうまくMakefileが生成されない場合がある• この場合は”ln -s /usr/bin/gfortran /usr/bin/f95”のようにリンクを作成する必要がある• CentOSでdevtoolsetを使う場合は以下の通り(devtoolsetのバージョンは要変更)• ln -s /opt/rh/devtoolset-9/root/usr/bin/gfortran /opt/rh/devtoolset-9/root/usr/bin/f95• make (binディレクトリで実行)• binディレクトリ中にnjoyという実行ファイルが生成• 参考HP• https://github.com/njoy/NJOY2016• http://www.njoy21.io/Build/index.html

8

frendy_exerciseの概要

9frendy_exerciseで実施すること• MCNPを用いたGodiva (HMF-001)の解析• JENDL-4.0からGodivaの解析に必要なU-235、U-238、O-16、N-14を処理し、ACEファイルを生成• 参考として、熱中性子散乱則の処理の例として、HinH2Oも処理• FRENDYだけでなく、NJOYでも処理を実施• 作成したACEファイルを用いてMCNP用の断面積ライブラリを生成• 作成したACEファイル、XSDIRファイルをまとめ、MCNP用の断面積ライブラリを作成• FRENDYの応用例の紹介• FRENDYのクラスを用いたACE、PENDF中の断面積の比較• FRENDYとNJOYの処理結果を比較し、gnuplotで作図• ACEファイルの編集ツールの利用

10

frendy_exerciseで学ぶこと• frendy_exerciseでは以下の処理を通じ、核データ処理から放射線輸送計算に至る流れを学ぶ• FRENDYを用いたACEファイルの作成とNJOY用入力の作成• NJOYを用いたACEファイルの作成• FRENDYとNJOYの処理結果(断面積)の比較および出力• ACEファイルでの比較及びPENDFファイルでの比較• 各核種のACEファイルをまとめたMCNP用の断面積ライブラリの作成• MCNPの実行 (Godiva炉心)• FRENDYを用いたランダムサンプリング• ACEファイルの修正• 全部の処理を実行すると、1.5～2時間程度必要

11

frendy_exerciseを実行する上での注意点• 事前にFRENDYをコンパイルする必要がある• frendy_exerciseでは以下の実行ファイルが必要• コンパイル用のコマンドも併記• 以下の説明は” frendy_YYYYMMDD”の下で実施• frendy/main/frendy.exe• cd frendy/main• make• sample/tool/ace_data_collector.exe• cd sample/tool• csh ./compile_all.csh• tools/make_perturbation_factor/make_perturbation_factor.exe• cd tools/make_perturbation_factor• make• tools/perturbation_ace_file/perturbation_ace_file.exe• cd tools/perturbation_ace_file• make12

frendy_exerciseのディレクトリ構造
リンクを貼り直す必要あり

link_base
inp_frendy
frendylib
njoy

frendy_exercise

FRENDYを用いた
ランダム
サンプリング
概要はこちらをチェック

mcnp_data

inp

mcnp

inp

comp_ace_xs,
comp_pendf_xs,
write_ace_xs,
write_pendf_xs

src

NJOYによる
ACEライブラリ作成
MCNP用
断面積ライブラリ
MCNPの実行
(Godiva炉心)

gnuplot
make_perturbation_factorrandom_sampling

perturbation_
ace_file

run_all.csh,
remove_all.csh

comp_ace_xs

README,README_jp

FRENDYによる
ACEライブラリ作成

FRENDYとNJOYの断面積比較・出力
gnuplot

自動実行、出力ファイル
削除用シェル13

frendy_exerciseを実行する前に• frendy_exerciseではFRENDYやNJOY、MCNPなどを利用• これらを利用するため、『frendy_exercise/link_base』にリンクを貼る必要がある• リンクが必要なディレクトリ、プログラム• frendy_dir• FRENDYのトップディレクトリ(frendy_yyyymmdd)• yyyymmddは日付• njoy• NJOYの実行ファイル• mcnp6• MCNPの実行ファイル

14

FRENDYを用いたACEファイルの作成• frendy_exercise/frendyで実施• FRENDYの入力：inp_frendy• ～.datがFRENDYの入力、～.nはNJOY入力作成用(次ページ参照)• 入力の説明はFRENDYの入力説明で詳しく解説• NJOYの処理と合わせるため、ENDFをtape20、PENDFをtape24＆tape27、ACEをtape30としている• 評価済み核データファイル：lib• FRENDYでのACEファイルの作成：run_frendy.csh• 生成されるディレクトリ
• ace：ACEファイルをまとめたディレクトリ
• pendf：PENDFファイルをまとめたディレクトリ
• 処理するファイル• U-235、U-238、N-14、O-16、HinH2O• 全てを処理するのに20～30分必要• 以降のMCNPの解析ではN-14、O-16、U-235、U-238を使用

15

FRENDYを用いたNJOY用入力の作成• frendy_exercise/frendyで実施• FRENDYの入力：inp_frendy• ～.nがNJOY入力作成用• 評価済み核データファイル：lib• FRENDYでのNJOY入力の作成：make_njoy_input.csh• 生成されるディレクトリ
• inp_njoy• NJOYの入力をまとめたディレクトリ16

NJOYを用いたACEファイルの作成• frendy_exercise/njoyで実施• FRENDYで作成したNJOY入力を利用• frendy_exercise/frendy/inp_njoy• NJOYでのACEファイルの作成：run_njoy.csh• 生成されるディレクトリ
• ace、pendf：FRENDYと同じ• out：NJOYの出力ファイルをまとめたディレクトリ

• 処理するファイル• FRENDYと同じくHinH2O、N-14、O-16、U-235、U-238• 全てを処理するのに50～70分必要

17

FRENDYとNJOYの処理結果(断面積)比較• FRENDYでのENDF、ACEの編集のサンプルとして、断面積を比較するプログラムを用意• frendy_exercise/comp_ace_xs• ACEファイル中の全反応断面積を比較し、gnuplotで作図• frendy_exercise/comp_pendf_xs• PENDFファイル中の全反応断面積を比較し、gnuplotで作図• ソースファイルはsrcディレクトリに保存• frendy_exercise/comp_ace_xs/src, frendy_exercise/comp_pendf_xs/src• 実行方法は実行シェルをご確認下さい• run_comp_ace.csh、run_comp_pendf.csh
U-238 全断面積比較

HinH2O 非干渉性非弾性散乱断面積比較

18

FRENDYの処理結果(断面積)出力• FRENDYでのENDFの編集のサンプルとして、断面積を出力する

プログラムを用意• frendy_exercise/write_ace_xs• ACEファイル中の全反応断面積を抜き出し、gnuplotで作図• frendy_exercise/write_pendf_xs• PENDFファイル中の全反応断面積を抜き出し、gnuplotで作図• ソースファイルはsrcディレクトリに保存• frendy_exercise/write_ace_xs/src, frendy_exercise/write_pendf_xs/src• 実行方法は実行シェルをご確認下さい• run_write_ace_xs.csh、run_write_pendf_xs.csh
U-235全断面積

O-16全断面積

19

MCNP用の断面積ライブラリの作成• frendy_exercise/mcnp_dataで実施• FRENDY及びNJOYで作成したACEファイルをまとめ、MCNP用の断面積ライブラリを作成• 個々のACEファイルを一つにまとめたACEファイル• 断面積ライブラリに必要なatomic weight ratioを追加したXSDIRファイル• 入力ファイル：inp/～.inp• 実行シェル：run_ace_data_collector.csh• 生成されるファイル・ディレクトリ
• ace_f/j40a00fa： FRENDY用ACEファイル• xsdir.j40a00f.mod ： FRENDY用XSDIRファイル• ace_n/j40a00na ： NJOY用ACEファイル• xsdir.j40a00n.mod： NJOY用XSDIRファイル

20

MCNPの実行 (Godiva炉心)• frendy_exercise/mcnpで実施• mcnp_dataで作成した断面積ライブラリを使用• 入力ファイル：inp/hmf001.i、inp/hmf001_no_ptable.i• 非分離共鳴領域の自己遮蔽を考慮するのに用いる確率テーブルを適用した場合と適用していない場合の２ケースの入力を用意• 簡易化のため、U-234は削除• 実行シェル：run_all.csh• MCNPの実行し、keffをresult_keff.logへ出力• 生成されるディレクトリ
• out：各計算結果をまとめたディレクトリ
• ～_f～.outがFRENDYで作成した断面積ライブラリを用いた結果• ～_n～.outがNJOYで作成した断面積ライブラリを用いた結果

21

FRENDYを用いたランダムサンプリング• frendy_exercise/random_samplingで実施• make_perturbation_factorにおいて共分散データ(1001_MT_102_2.csv)からACEファイル中の断面積の変動量を決定• perturbation_ace_fileにおいてmake_perturbation_factor
で設定した断面積の変動量を使ってACEファイルを修正• comp_ace_xsで元のACEファイルと修正したACEファイルを比較し、gnuplotで作図• make_perturbation_factorとperturbation_ace_file

についてはFRENDYのtool中のサンプルと同じ

22

全計算を自動で実行したい場合• frendy_exerciseディレクトリ直下のrun_all.cshシェルを実行すればOK• csh ./run_all.csh• 処理の過程で生成されたファイル、ディレクトリを削除する場合はディレクトリ直下のremove_all.cshを実行
すればOK• csh ./remove_all.csh• run_all.cshを実行すると、最初にremove_all.cshを実行し、以前のファイル・ディレクトリを削除する

23

FRENDYの入力説明

FRENDYを用いたACEファイルの作成に戻る

24

FRENDY/NJOYの入力について• FRENDYは『パラメータ名』と『パラメータ』で構成• 一目で各入力値の意味が分かる• コメント文はC/C++と同じ• //以降もしくは /* ~ */• NJOYは数値データのみ• コメントを入れないと何のデータか分からない• “/” 以降がコメント• MAT番号など、現在の核データファイルでは不要な入力データがある• FRENDYは入力の簡易化に

より、ユーザーの利便性向上に貢献【FRENDYの入力例】
ace_fast_mode // Processing mode
nucl_file_name U235.dat
ace_file_name U235.ace
temp
296.0

【NJOYの入力例】
reconr/ command
20 21/ input(tape20), output(tape21)'pendf tape for JENDL-4 U235' / identifier for PENDF
9228
/ mat
1.00e-03 0.00
/ err, temp0/
broadr/ command
20 21 22
/ endf, pendf(in), pendf(out)9228 1/ mat, temp no1.00e-03 -5.0E+2/ err, thnmax
296.0/ temp0/
gaspr/ command
20 22 23
/ endf, pendf(in), pendf(out)purr/ command
20 23 24
/ endf, pendf(in), pendf(out)9228 1 10 20 100 0/ mat, temp no, sig no, bin no, lad no296.0/ temp
1E10 1E4 1E3 300 100 30 10 1 0.1 1.0E-5 / sig zero0/acer
/ command
20 24 0 30 31/ nendf, npend, ngend, nace, ndir
1 1 1 0.00
/ iopt(fast), iprint(max), itype, suffix'ACE file for JENDL-4 U235' / descriptive character
9228 296.0/ mat, temp
1
/ newfor(yes)/ thin(1), thin(2), thin(3)
stop
/

25

FRENDYの入力の基本• 一行目に何の処理をするかを記載• ace_fast_mode：中性子入射のACEファイル生成• ace_tsl_mode ：熱中性子散乱則(TSL)のACEファイル生成• ace_dosi_mode：放射化(Dosimetry)のACEファイル生成• 二行目以降は『パラメータ名』と『パラメータ』を記載• 順番は自由• 複数のデータ(配列)を入れる場合は括弧を使う• (1.0 2.0 3.0)と一行で書いてもいいし、複数行に渡ってもOK• コメント文はC/C++と同じ• //以降か、/*と*/で囲まれた領域

26

FRENDYの基本的な入力パラメータ• 必須のパラメータ• nucl_file_name：評価済み核データファイル名• nucl_file_name_tsl：評価済み核データファイル名 (TSLのみ)• 入力を推奨するパラメータ• temp：温度(K)、デフォルトは293.6K• ace_file_name：ACEファイル名• ace_dir_file_name：XSDIRファイル名• suffix_id：ACEファイルのsuffix番号• ace_label_data：ACEファイルの一行目に出力される説明文• thermal_za_id_name： MCNPの入力で指定する物質名 (TSLのみ)• 必要に応じて追加するパラメータ• write_pendf_probability_table：PURR後のPENDFファイルの出力• write_pendf_tsl：THERMR後のPENDFファイルの出力 (TSLのみ)• NJOYとの比較用として活用可能

27

FRENDYの入力例 (中性子入射)
ace_fast_mode // Calculation mode
必ず1行目に記載
nucl_file_name../lib/U235.dat(他のパラメータの順番は自由)
temp /* [K] */300.0
ace_file_name./ace/U235.ace
ファイル名は相対パスでも絶対パスでもOK
ace_dir_file_name ./xsd/U235.xsdir
ace_label_data“U-235 from JENDL-4.0”
suffix_id
0.50• 処理する核種・条件一覧• 評価済み核データ名：• 温度：• ACEファイル名：• XSDIRファイル名：• ACEファイル中の説明文：• Suffix番号：
0.50../lib/U235.dat
300.0 [K]./ace/U235.ace./xsd/U235.xsdir
U-235 from JENDL-4.0

28

FRENDYの入力変更例① (中性子入射)• 以下のように処理条件を変えると入力はどうなるか？
• 評価済み核データ名：./j40/lib/Fe056.dat• 温度：
550.0 [K]• ACEファイル名：./j40/ace/Fe056.ace• XSDIRファイル名：./j40/xsd/Fe056.xsdir• ACEファイル中の説明文：Fe-056 from JENDL-4.0• Suffix番号：
0.10• PENDFファイルの出力 有 (./j40/pendf/Fe056.pendf)

入力例は次のスライドに

29

FRENDYの入力変更例② (中性子入射)
処理条件の変更に伴い、入力を修正

ace_fast_mode // Calculation mode
nucl_file_name./j40/lib/Fe056.dat
temp /* [K] */550.0
ace_file_name./j40/ace/Fe056.ace
文字列は
ace_dir_file_name ./j40/xsd/Fe056.xsdir”～”でも
ace_label_data‘Fe-056 from JENDL-4.0’’～’でもOKsuffix_id
0.10
write_pendf_probability_table ./j40/pendf/Fe056.pendf
PENDFファイルの出力を追加

30

FRENDYの入力例 (熱中性子散乱則)
必ず1行目に記載
ace_tsl_mode // Calculation mode
(他のパラメータの順番は自由)
nucl_file_name../lib/H001.dat
nucl_file_name_tsl../lib_sab/01_h_in_h2o.txt
ace_label_data“HinH2O from JENDL-4.0”
temp
296.0
nucl_file_name_tslで用意された
ace_file_name./ace_sab/lwtr.ace
温度点のみしか処理できない
ace_dir_file_name./xsd_sab/lwtr.xsdir
suffix_id
0.50
MCNPの入力で指定する物質名
thermal_za_id_name “lwtr”(6文字以内)• 処理する核種・条件一覧 (※前頁で説明したのは除外)• 評価済み核データ名(TSL)：../lib_sab/01_h_in_h2o.txt• MCNPの入力で指定する物質名： lwtr
• lwtr：light water• 物質名ライブラリ作成者によって異なり、hinh2oとする場合も

31

FRENDYの入力変更例① (TSL)• 以下のように処理条件を変えると入力はどうなるか？
• 評価済み核データ名：./j40/lib/C000.dat• 評価済み核データ名(TSL)：./j40/lib/31_graphite.txe• 温度：500.0 [K]• ACEファイル名：./j40/ace/graphite.ace• XSDIRファイル名：./j40/xsd/graphite.xsdir• ACEファイル中の説明文：
Graphite from JENDL-4.0• Suffix番号：
0.10• MCNPの入力で指定する物質名： grph
• PENDFファイルの出力
有 (./j40/pendf/graphite.pendf)

入力例は次のスライドに

32

FRENDYの入力変更例② (TSL)
処理条件の変更に伴い、入力を修正

ace_tsl_mode // Calculation mode
nucl_file_name./j40/lib/C000.dat
nucl_file_name_tsl../lib_sab/31_graphite.txt
temp /* [K] */500.0
ace_file_name./j40/ace/graphite.ace
ace_dir_file_name./j40/xsd/graphite.xsdir
ace_label_data‘Graphite from JENDL-4.0’
suffix_id
0.10
thermal_za_id_name ‘grph’write_pendf_tsl./j40/pendf/graphite.pendf
PENDFファイルの出力を追加

文字列は
”～”でも
’～’でもOK