.. _namelist_input: Namelist形式のインプットファイル ========================== .. contents:: 目次: :depth: 3 概要 ##################################### Namelist形式のインプットファイルは複数のグループで構成される。 各グループは **&グループ名** で始まり、 **/** で終わる。 各グループにおいて、 **変数名 = 値** の形式で計算条件を設定していく。 値が文字列の場合、その値はシングルクォテーション( **'** )またはダブルクォーテーション( **"** )で囲む。 また、 **#** または **!** 以降の文字列はコメントとして扱われる。 以下、各グループの説明を行う。 &control ##################################### 計算全般に関する設定を行う。 Defaultが設定されている変数は省略可能である。 このグループは省略することはできない。 .. csv-table:: &controlグループ変数 :header-rows: 1 :widths: 15, 15, 15, 55 :name: input_control 変数名, 型または値, Default, 説明 project, 文字列, project1, プロジェクト名を設定する。出力ファイルの保存先フォルダ名となる。 proj_ow, 整数:0/1, 1, 既に同じプロジェクトが存在する場合、(1)出力ファイルを上書きするか、(0)しないかを選択する。(0)の場合、projectに日時を付与したフォルダに出力ファイルを保存する。 sim, 整数:1/2/3, 1, シミュレーション計算において、(1)断面積計算、(2)パルス関数を畳み込まない共鳴吸収スペクトル計算、(3)パルス関数を畳み込んだ透過率計算の選択を行う。 fit, 整数:0/1,, フィッティング計算において、(1)フィッティングを行うか、(0)行わないかを選択する。(0)は初期値の確認等に使用する。 pulse_fit, 整数:0/1, 0, フィッティング計算において、(0)パルス関数を最適化しないモードか、(1)最適化するモードかを選択する。 fn_xs, 文字列, xs, 計算した断面積を出力する際のファイル名のプレフィックス。後に設定するmaterialごとに断面積が出力される。 fn_tr0, 文字列, tr0, パルス関数を畳み込まない共鳴吸収スペクトルを出力する際のファイル名。 fn_trr, 文字列, trR, パルス関数を畳み込んだ共鳴吸収スペクトルを出力する際のファイル名。 fn_fiti, 文字列, initial, フィッティング計算において、初期値で計算した共鳴吸収スペクトルを出力する際のファイル名。 fn_fitf, 文字列, final, フィッティング計算において、フィッティング結果で計算した共鳴吸収スペクトルを出力する際のファイル名。 format, 整数:1/2/3, 1, 出力ファイルのフォーマットを指定する。(1)CSV、(2)テキスト(スペース区切り)、(3)(1)と(2)の両方 outdir, 文字列, output, プロジェクトフォルダの保存先フォルダ名。 :file:`raim` からの相対パスで指定する。 matplotlib, 整数:0/1, 0, 計算終了時にmatplotlibによるグラフの表示を(1)行うか、(0)行わないかを選択する。 show_baseline, 整数:0/1, 0, matplotlibによるグラフにベースラインを(1)表示するか、(0)表示しないかを選択する。 &xs ##################################### 断面積計算を行う際の中性子エネルギーの範囲の設定を行う。 Defaultが設定されている変数は省略可能である。 このグループは省略することはできない。 .. csv-table:: &xsグループ変数 :header-rows: 1 :widths: 15, 15, 15, 55 :name: input_xs 変数名, 型または値, Default, 説明 e_l, 実数,, 断面積計算を行う際のエネルギーの下限値[eV] e_h, 実数,, 断面積計算を行う際のエネルギーの上限値[eV] enum, 整数,,断面積計算を行う際のエネルギーの群数を設定する。正の場合は対数、負の場合は線形で等分点が与えられる。 reuse, 整数:0/1, 0, (バージョン1.3.2から追加)0の場合、FRENDYを用いて断面積の計算を行う。1の場合、FRENDYで計算済みの断面積データファイル( `&control` の `fn_xs` で指定したファイル)を用いる。 .. note:: reuse=1で計算を行う際に、用いる断面積データファイルでの計算条件( `e_l` 、 `e_h` 、 `enum` の値および `&material` で指定する核データファイル)と 異なる計算条件で計算を行いたい場合には、改めて断面積の計算を行う必要があることに注意すること。 &material ##################################### 試料に含まれる物質の定義を行う。 このグループは複数定義することが可能であり、 `&material1` 、 `&material2` の様に名前が重複しないようにグループ名の末尾に番号等を付与する。 このグループは省略することはできない。 .. csv-table:: &materialグループ変数 :header-rows: 1 :widths: 15, 15, 15, 55 :name: input_material 変数名, 型または値, Default, 説明 elm*, 文字列,実数(,文字列),, 各元素の核データファイルパスとこの物質内での原子数比を「,」区切りで指定する。 `elm1` 、 `elm2` の様にして複数の元素を設定可能。ポイントワイズデータの場合、存在比の後に「,」区切りで `pw` と記述する。 dens, 実数,, 物質の密度を体積密度[ :math:`g/cm^{3}` ]で指定する。 `area_dens` で密度を定義する場合、省略可能。 thickness, 実数,, 物質の厚さを[cm]で指定する。 `area_dens` で密度を定義する場合、省略可能。 area_dens, 実数,, 物質の密度を面密度[atoms/barn]で指定する。 `dens` と `thickness` で密度を定義する場合、 `area_dens` を定義するとエラーとなる。 teff, 実数,, 物質の温度(実効温度)を[K]で指定する。 pw*, 文字列,実数,, 温度マップを利用した計算時にポイントワイズデータのファイルパスとその温度を「,」区切りで指定する。 `pw1` 、 `pw2` の様にして複数の温度点を設定する。温度マップを利用しない場合、省略可能。 &transmission ##################################### 透過率計算を行う際の設定を行う。 Defaultが設定されている変数は省略可能である。 インプットファイルに&fittingグループが設定されている場合、このグループは無視される。 また、&transmissionと&captureを同時に設定している場合、エラーメッセージが出力されて計算ができない。 また、&controlグループにおいてsim=1を設定している場合はこのグループを省略できる。 .. csv-table:: &transmissionグループ変数 :header-rows: 1 :widths: 15, 15, 15, 55 :name: input_transmission 変数名, 型または値, Default, 説明 t_l, 実数,, 透過率計算を行う際のTOFの下限値[ :math:`\mu s` ]。&xsグループで設定したエネルギー範囲を外れた値を設定できる。0を設定した場合、エネルギーが無限大になってしまうため、最初のTOFビンを切り詰めて計算を行う。 t_h, 実数,, 透過率計算を行う際のTOFの上限値[ :math:`\mu s` ]。&xsグループで設定したエネルギー範囲を外れた値を設定できる。 tnum, 整数,, TOFのビン数を設定する。正の場合は対数、負の場合は線形で等分点が与えられる。 e_l, 実数,, 透過率計算を行う際のエネルギーの下限値[eV]。&xsグループで設定したエネルギー範囲を外れた値を設定できる。 e_h, 実数,, 透過率計算を行う際のエネルギーの上限値[eV]。&xsグループで設定したエネルギー範囲を外れた値を設定できる。 enum, 整数,, エネルギーの群数を設定する。正の場合は対数、負の場合は線形で等分点が与えられる。 L, 実数, 18.0, 飛行距離[m]を設定する。 td, 実数, 0.0, TOFのずれ[ :math:`\mu s` ]を設定する。+方向が遅れ、-方向が進みである。 a0, 実数, 1.0, ベースラインを表す多項式の0次の係数 a1, 実数, 0.0, ベースラインを表す多項式の1次の係数 a2, 実数, 0.0, ベースラインを表す多項式の2次の係数 a3, 実数, 0.0, ベースラインを表す多項式の3次の係数 a4, 実数, 0.0, ベースラインを表す多項式の4次の係数 .. note:: t_l, t_h, tnumとe_l, e_h, enumはどちらか一方のみ設定すればよい。 また、計算範囲の設定はTOFがエネルギーに優先される。 つまり、t_l, t_h, tnumが設定されている場合、e_l, e_h, enumは無視される。 &capture ##################################### 共鳴吸収量計算を行う際の設定を行う。 Defaultが設定されている変数は省略可能である。 インプットファイルに&fittingグループが設定されている場合、このグループは無視される。 また、&transmissionと&captureを同時に設定している場合、エラーメッセージが出力されて計算ができない。 また、&controlグループにおいてsim=1を設定している場合はこのグループを省略できる。 .. csv-table:: &captureグループ変数 :header-rows: 1 :widths: 15, 15, 15, 55 :name: input_capture 変数名, 型または値, Default, 説明 t_l, 実数,, 共鳴吸収量計算を行う際のTOFの下限値[ :math:`\mu s` ]。&xsグループで設定したエネルギー範囲を外れた値を設定できる。0を設定した場合、エネルギーが無限大になってしまうため、最初のTOFビンを切り詰めて計算を行う。 t_h, 実数,, 共鳴吸収量計算を行う際のTOFの上限値[ :math:`\mu s` ]。&xsグループで設定したエネルギー範囲を外れた値を設定できる。 tnum, 整数,, TOFのビン数を設定する。正の場合は対数、負の場合は線形で等分点が与えられる。 e_l, 実数,, 共鳴吸収量計算を行う際のエネルギーの下限値[eV]。&xsグループで設定したエネルギー範囲を外れた値を設定できる。 e_h, 実数,, 共鳴吸収量計算を行う際のエネルギーの上限値[eV]。&xsグループで設定したエネルギー範囲を外れた値を設定できる。 enum, 整数,, エネルギーの群数を設定する。正の場合は対数、負の場合は線形で等分点が与えられる。 L, 実数, 18.0, 飛行距離[m]を設定する。 td, 実数, 0.0, TOFのずれ[ :math:`\mu s` ]を設定する。+方向が遅れ、-方向が進みである。 a0, 実数, 1.0, ベースラインを表す多項式の0次の係数 a1, 実数, 0.0, ベースラインを表す多項式の1次の係数 a2, 実数, 0.0, ベースラインを表す多項式の2次の係数 a3, 実数, 0.0, ベースラインを表す多項式の3次の係数 a4, 実数, 0.0, ベースラインを表す多項式の4次の係数 c, 実数, 1.0, 共鳴吸収量の強度を規格化する係数 .. note:: t_l, t_h, tnumとe_l, e_h, enumはどちらか一方のみ設定すればよい。 また、計算範囲の設定はTOFがエネルギーに優先される。 つまり、t_l, t_h, tnumが設定されている場合、e_l, e_h, enumは無視される。 &fitting ##################################### スペクトルフィッティングを行う際の設定を行う。 Defaultが設定されている変数は省略可能である。 &controlグループでfitが定義されていない場合、このグループは無視される。 .. csv-table:: &fittingグループ変数 :header-rows: 1 :widths: 15, 15, 15, 55 :name: input_fitting 変数名, 型または値, Default, 説明 meas_file, 文字列,, 測定データのファイルパスを設定する。複数ファイルを一括でフィッティングする場合には、フォルダ内の1つのファイルを指定する。 adjust, 文字列,, "どのパラメータをフィットするか選択する。 | path:飛行距離とTOFのずれ | base:ベースライン | dens:密度 | base_dens:ベースラインから密度の連続フィット | temp:温度 | temp_map:温度(温度マップでフィットする場合) | temp_pw:温度(ポイントワイズデータを利用した温度マップでフィットする場合) | c:共鳴吸収量の強度の規格化係数 | pulse:パルス関数のパラメータ(t0、sig1、sig2、g1、g2、ratio)" L, 実数,, 飛行距離[m]を設定する。adjust="path"の場合、初期値となる。 td, 実数,, TOFのずれ[ :math:`\mu s` ]を設定する。adjust="path"の場合、初期値となる。 teff, 実数,, 実効温度[K]を設定する。adjust="temp"、"temp_map"、"temp_pw"の場合、初期値となる。それ以外の場合には&materialの温度が計算に使用される。 teff_list, 実数,, 温度マップを作成する際の温度点。「,」区切りで4点以上設定する必要がある。adjust="temp_map"の場合に有効。 a0, 実数, 1.0, ベースラインを表す多項式の0次の係数。adjust="base"または"base_dens"の場合、初期値となる。 a1, 実数, 0.0, ベースラインを表す多項式の1次の係数。adjust="base"または"base_dens"の場合、初期値となる。 a2, 実数, 0.0, ベースラインを表す多項式の2次の係数。adjust="base"または"base_dens"の場合、初期値となる。 a3, 実数, 0.0, ベースラインを表す多項式の3次の係数。adjust="base"または"base_dens"の場合、初期値となる。 a4, 実数, 0.0, ベースラインを表す多項式の4次の係数。adjust="base"または"base_dens"の場合、初期値となる。 c, 実数, 1.0, 共鳴吸収量の強度を規格化する係数。adjust="c"の場合、初期値となる。 t0, 実数,, パルス関数のパラメータ :math:`t_{0}` を設定する。pulse_fit=1の場合に必要となる。adjust="pulse"の場合、初期値となる。 sig1, 実数,, パルス関数のパラメータ :math:`\sigma_{1}` を設定する。pulse_fit=1の場合に必要となる。adjust="pulse"の場合、初期値となる。 sig2, 実数,, パルス関数のパラメータ :math:`\sigma_{2}` を設定する。pulse_fit=1の場合に必要となる。adjust="pulse"の場合、初期値となる。 g1, 実数,, パルス関数のパラメータ :math:`\gamma_{1}` を設定する。pulse_fit=1の場合に必要となる。adjust="pulse"の場合、初期値となる。 g2, 実数,, パルス関数のパラメータ :math:`\gamma_{2}` を設定する。pulse_fit=1の場合に必要となる。adjust="pulse"の場合、初期値となる。 ratio, 実数,, パルス関数のパラメータ :math:`R` を設定する。pulse_fit=1の場合に必要となる。adjust="pulse"の場合、初期値となる。 fit_material, 文字列,, adjust="dens"または"base_dens"の場合に、密度を求める対象となる物質をグループ名で指定する。複数の物質を指定する場合は「,」区切りで指定する。 fit_range*, 実数,実数,, フィッティング範囲をTOF[ :math:`\mu s` ]で指定する。下限と上限を「,」区切りで指定する。また、 `fit_range1` 、 `fit_range2` の様に複数の範囲を指定することができる。 base*, 実数,実数,, ベースラインをフィットする際のフィッティング範囲をTOF[ :math:`\mu s` ]で指定する。下限と上限を「,」区切りで指定する。また、 `base1` 、 `base2` の様に複数の範囲を指定することができる。 level, 実数, 0.0, この値以下の透過率もしくは共鳴吸収量のTOF範囲をフィッティングから除外する。 show, 整数:0/1, 0, フィッティング中にイタレーション計算の途中経過を標準出力に(1)表示するか、(0)表示しないかを選択する。 .. note:: adjust="base"または"base_dens"においてベースラインのフィッティングを行う場合、 a0からa4までのうち定義されている中で最大の次数のパラメータと同じ次数の多項式で計算が行われる。 例えば、a0、a1、a2が定義されている場合、2次の多項式でベースライン計算を行う。 すべてのパラメータが定義されていない場合、デフォルト値を係数とした4次の多項式で計算を行う。 &pulse ##################################### パルス関数に関する設定を行う。 Defaultが設定されている変数は省略可能である。 このグループは省略することができる。 .. csv-table:: &pulseグループ変数 :header-rows: 1 :widths: 15, 15, 15, 55 :name: input_pulse 変数名, 型または値, Default, 説明 pulse_file, 文字列, (使用しない), パルス関数のパラメータ設定ファイルを相対パスで指定する。指定しない場合、ソースコード内に記述されているBL10の値で計算する。 proton_file, 文字列, (使用しない), 加速器ビームの時間構造定義ファイルを相対パスで指定する。指定しない場合、ソースコード内に記述されているダブルバンチ構造の値で計算する。 YAML形式インプットファイルへの変換 ##################################### Namelist形式のインプットファイルをYAML形式に変換するためのスクリプトを用意している。 このスクリプトは、Namelist形式のインプットファイルを読み込み、YAML形式のインプットファイルを生成する。 また、YAML形式のインプットファイルをNamelist形式に変換することも可能である。 スクリプトは :file:`raim/util/convert_input.py` である。 Namelist形式のインプットファイルをYAML形式に変換するには、以下のコマンドを実行する。 .. code-block:: bash cd raim/util source setenv.sh # 環境変数の設定 python convert_input.py path/to/sample.inp --output_file path/to/sample.yml `₋₋output_file` オプションは `₋o` で省略可能である。 `₋₋output_file` オプションを指定しない場合、最初の引数のインプットファイルと同じ名前で、拡張子を `.yml` にしたファイルが生成される。 YAML形式のインプットファイルをNamelist形式に変換する場合も同様である。 .. code-block:: bash python convert_input.py path/to/sample.yml --output_file path/to/sample.inp