はじめに#
概要#
RAIMは共鳴吸収スペクトルのシミュレーション機能と測定データに対するスペクトルフィッティング機能がある。 それぞれの計算は、目的の計算に応じたPythonスクリプトを実行することで行うことができる。 また、計算条件の設定はインプットファイルを用いて行う。
RAIMのスクリプト生成 で生成したシェルスクリプトでは、Pythonスクリプトを実行するための環境設定や インプットファイルの指定を行っており、ユーザーはこのシェルスクリプトを実行することで計算を行う。
RAIMは核データファイルから断面積を計算するため、ユーザーは核データファイルを準備する必要がある。 また、パルス関数を畳み込んだ共鳴吸収スペクトルを計算するため、パルス関数のパラメータおよび加速器からのビームの時間構造を定義したファイルも必要になる。
動作環境#
OS#
- Linux (Windows Subsystem for Linuxを含む)
Ubuntu 22.04以上を推奨
プログラミング言語#
Python3.9以上
C/C++(C++11対応コンパイラ)
C/C++ライブラリ#
- Boost C++ ライブラリ
libboost-all-dev
- BLAS, LAPACK
liblapack-dev, libblas-dev
OpenBLASなどでも可
Pythonライブラリ#
- FRENDYコンパイル用
pybind11
conan
- RAIM実行用
numpy
scipy
matplotlib
計算の流れ#
必要なファイルの準備#
核データファイル#
核データファイルはENDF-6フォーマットのものを準備する必要がある。
サンプルインプットファイルでは、JENDL-5の核データファイルを raim/data/jendl5 に保存することを想定している。
拡張子は任意である。
パルス関数のパラメータ定義ファイル#
RAIMではJ-PARC MLF BL10およびBL22におけるパルス関数を計算できるように、Cole-Windsor関数が実装されている。
この関数のパラメータのエネルギー依存性を計算するためのパラメータを定義するファイルが raim/data/pulse/BL10.dat および raim/data/pulse/BL22.dat である。
各行の数値はパラメータのエネルギー依存性を表す関数の係数 \(a\) 、\(b\) 、\(c\) である。
他の装置における計算を行う場合には、この数値を変更したファイルを準備する。 なお、#で始まる行はコメント行である。
加速器ビームの時間構造定義ファイル#
J-PARC加速器のダブルバンチ構造を再現するため、陽子ビームの時間構造定義ファイル raim/data/pulse/double.dat が準備されている。
このファイルは1列目が時間(単位: \(\mu s\) )、2列目が強度(任意単位)を表している。
ダブルバンチ以外の構造(例えばシングルバンチ構造)を計算したい場合、このファイルを参考にして時間構造を記述したファイルを準備する。 なお、#で始まる行はコメント行である。
測定データファイル#
スペクトルフィッティングを行う場合にはRAIMで読み込める形式にした測定データファイルが必要である。 RAIMが対応している測定データの形式は、
1列目:TOF
2列目:透過率または共鳴吸収量
3列目:誤差
が空白区切りで記述されたテキストファイルである。 なお、#で始まる行はコメントとして扱われる。
インプットファイルの作成#
計算の設定を記述したインプットファイルを作成し、 raim/input に保存する。
インプットファイルの内容は インプットファイル において説明する。
シェルスクリプトの実行#
raim/shellscript においてRAIM実行用シェルスクリプトを実行する。
このシェルスクリプト内で定義されている input_file 変数の値を変更してインプットファイルの指定を行う。
出力結果ファイルの確認#
計算結果等のファイルはインプットファイルで指定したフォルダに保存される。
計算中は計算内容等の情報が標準出力に表示されるが、その情報は summary.txt という名前のファイルに出力される。
また、インプットファイルで指定したデータファイル(断面積や共鳴吸収スペクトルなど)やFRENDYの計算ログファイルも出力される。