[HERMES]>>[解析の情報]>>[RIETAM]>>[ins fileの解説]

入力ファイル .insの見方の解説

update : 15-DEC-2001


ここでは、RIETAN2000の入力ファイル、****.insの見方を解説します。
赤文字は私がいれたコメント文、緑字は重要なパラメーターで、ご自分の解析の際は修正が必要です。
入力行黒字はもとのINSファイルの文です。
なお、一番下に、RIETAN2000の使用条件が書いてあります。必ず守りましょう。

INSファイルの例(Rev1.8以前)


#以下の20行くらいは泉先生からのメッセージです。
# RIETAN-2000をお使いの方々へ

# 1997年10月6日から11月4日にかけてNISTに滞在していたとき, 多少時間に余裕があった
# ので, 池田卓史氏の作成した角度分散型X線・中性子回折用入力ファイル(日本語)を
# 補足・修正しました. 日本人ユーザーのお役に立てば幸いです.

# 実際に日本語版の雛形を作ってみると, 私自身にさえ便利で, やはり日本人, とくに初
# 心者や学生は日本語が一番なんだなあ, とつくづく感じました. 専門知識と語学力の障
# 壁が二重に立ちはだかると, よほど勇猛果敢な人でないと尻込みしたくなります. 外国
# 製の科学技術計算ソフトばかり使わざるを得ず, いつも英文を強制的に読まされるとい
# う現状は, 日本人としては実に屈辱的で, プライドが傷つきますよね (優秀な人材が皆
# ゲームソフト業界に流れているのでないかと危惧してます).

# この雛形を使えば, 入力データの意味が一目で分かります. 日本語でメモを書き込むの
# もいいでしょう. そればかりでなく, ハングルだろうが, キリル文字だろうが, どんな
# 文字でも注釈として書き込めます. 英語を母国語とする人は広い世界のほんの一部にす
# ぎません. RIETANはプリプロセッサーNew Tinkのおかげで言語を問わない真に国際的な
# ソフトとして活用できるのです. New Tinkの威力は絶大です.

# このファイルは初心者向きにかなり詳細に注釈が記述されている. 慣れてきたらどんどん注
# 釈をはぎ取って身軽にしてかまわない. 逆にメモをユーザーが追加するのもいいだろう.
#以下は注釈の書き方の説明。読んでおいたほうがいい。
# 注釈(comment)は次の書式で書き込める:

# (1) # comment
# (2) Comment {
# (3) } comment
# (4) 変数名 = 値: comment
# (5) 変数名 = 値! comment

# (1)は行の途中から入力してもかまわない. 行の先頭が'#'である行, (2), (5)の形式と
# なっている行は全体が注釈行とみなされる. (2)はふつう(3)とペアで使うが, (2)の方は
# オプションである. つまり, 単なる注釈行なので, あってもなくても同じことなのである.
# (3)は一連の入力行の終了を示すために指定された場所だけで使う. (4), (5)における
# 変数名は同じものが二度読み込まれるとエラーになるので,注意すること. 整数の変数
# 名はI, J, K, L, M, Nで始まり,実数の変数名はこれらの以外の大文字で始まる.

# 注釈部分以外に全角のスペースをけっして入力してはならない.こうすると,後で半角
# のスペースと見分けがつかなくなり,得体の知れないエラーの原因となる.
#泉先生のコメントはここまで


# タイトル (英数字で80文字以内)
# 次の行は、このinsファイルで行う計算のタイトルになる。
Er11B2C2 RT #5022
#省略してもよいが、タイトルはOUTPUTファイルに記録されるので、整理の際に便利

# 文献: Y. Idemoto, F. Izumi, Q. Huang, A. Santoro, M. Matsuzawa and N. Koura,
# "High-Temperature Superconductors and Novel Inorganic Mateirals," ed by G. Van
# Tendeloo et al., Kuluwer (1999) p. 129.

#NBEAMで中性子とX線を区別する。HERMESの場合は、当然NBEAM = 0
NBEAM = 0: 中性子回折.
NBEAM = 1! 特性X線を用いる実験室X線回折.
NBEAM = 2! 放射光X線回折.

#Fittingをするか、単にシミュレーションをするかの選択
#NMODE = 0でFittingを行う。
NMODE = 0: リートベルト解析.
NMODE = 1! シミュレーション.
NMODE = 2! 構造因子をFc(MEM)に完全に固定したパターンフィッティング
NMODE = 3! NMODE = 2と同じだが,緩和反射に限り|Fc|を精密化.
NMODE = 4! 通常のLe Bail解析.
NMODE = 5! 部分構造を用いるLe Bail解析.
NMODE = 6! 局所的プロファイル・フィッティング.

#NPRINTで、計算途中の記録をどの程度詳しく残すかを選択
#たいていはNPRINT = 0でいいが、指数の表がほしいときはNPRINT = 1にする。
NPRINT = 0! 最小限のプリンター出力.
NPRINT = 1! 標準的なプリンター出力.
NPRINT = 2! 最も詳しいプリンター出力.
NPRINT = 0

#ここでHERMESの波長と、セルの密度などを指定
If NBEAM = 0 then
XLMDN = 1.8196: 中性子の波長/Å.
RADIUS = 0.35: 円筒状試料セルの半径/cm.
DENSTY = 3.55: 密度/g.cm**(-3).*
# * 容器の内径, 試料の高さ, 試料の重量から計算. 吸収補正しないときは0.0.
end if


If NBEAM = 0 then
# 試料に含まれる(中性)化学種と物質量. 最後に'/'を置く. 物質量は吸収補正に使
# う. 磁気散乱が観測される場合に限り, 磁性原子の元素記号の後に'*'を付加する.
# 例: 'Fe*', 'Ni*'.
#吸収補正のために組成比を入力する。
'Er' 1.0 'B11' 2.0 'C' 2.0/

#以下の説明は、磁気構造解析をする場合のもの。結晶構造だけの場合は磁性原子を含んでいても無視していい。
# 磁性原子名に'*'を付けたなら, LCMFF (0に固定) とCMFF(I) (I = 1〜7) を磁性原
# 子の数と同じ行数だけ入力する. ただしLCMFFとCMFFは"International Tables,"
# Vol. C, pp. 391-399中の(4.4.5.2)式と(4.4.5.3)式中のiと7つの係数である.
# たとえばFe2+(化学種名としては'Fe'を入力)の場合, 次のように入力する:
# 0 0.0263 34.960 0.3668 15.943 0.6188 5.594 -0.0119
# '*'つきの原子の数はすでにわかっているので, '}'は不要.
end if


#以下の説明は、仮想的な原子を使いたい時のもの。「仮想的な原子」がピンとこなければ、無視してよし。
# 固溶体のように一つのサイトが複数の化学種により一定の物質量比で占有される場合, そ
# れらの化学種が一定の物質量分率(合計 = 1)で混ざり合った仮想的な化学種を想定す
# ると, 結晶学的サイトの数が減り, 便利である. ただし, それぞれの化学種の占有率を固
# 定する場合に限る. たとえば

# 仮想的化学種を以下に入力 {
# 'M1' 'Ba' 0.633 'Nd' 0.367 /
# 'M2' 'Nd' 0.675 'Ce' 0.325 /
# } 仮想的化学種はこれでおしまい

# と入力した場合, 'M1'と'M2'は仮想的な化学種の名前, 'Ba', 'Nd', 'Ce'は上で入力し
# た「純粋な」化学種の名前, それらの後ろの数値は物質量分率を示している (もちろん
# 実際に入力するときは, 先頭の'#'は不要). これら二つの仮想的化学種は澤らの発見し
# た高温超伝導体の構造解析で実際に使われたものである:
# F. Izumi et al., Physica C (Amsterdam) 160 (1989) 235.
# 上の例のように各仮想的化学種に対する行の最後には'/'を置き, 仮想的な化学種をす
# べて入力し終わったら, '}' (+ 注釈)でデータの終わりを示す. 仮想的な化学種を使わな
# い場合は,上のように'}'も含めて注釈としておくこと.

#普通はこの下の行は使わないので、気にしない。
#仮想的化学種を以下に入力 {
#'M' 'Ba' 0.8 'Sr' 0.2 /
#} 仮想的化学種はこれでおしまい

試料に含まれる結晶相に関するデータ入力 {

#ここから下はすごく大事な情報で、書き換え必須

# 第1相

#相の名前を入力、単一相のFIttingでも必要。多相Fittingなら、この名前でパラメーターを区別できる。
PHNAME1 = 'ErB2C2': 相の名前 (英数字で25文字以内).


#第1相の対称性を指定。International Tableを探す。
VNS1 = 'A-127': (Int. Tablesの巻: 'A' or 'I')-(空間群の番号)-(設定番号).

# 上の設定によりRIETANが反射の指数と多重度を自動的に発生してくれるが,そのための
# ルーチンKDRREF (Harwellで開発された) には多少の未解決のバグが含まれている. また空
# 間群に関する情報を納めたファイルspgriとspgraにも若干の入力ミスがあることは避けられな
# い. したがって, どうしても指数のつかない反射があったり, 余分の反射が出現してし
# まうときは, RIETANが発生した指数をチェックしたほうがいい. そのような場合に備え,
# 裏わざとしてhklと多重度をファイルから読み込めるように細工してある (使用法について
# は, お問い合わせいただきたい).

LSPSYM1 = 0: 空間群に関する情報はデータベースファイルspgri/spgraから読み込む.
LSPSYM1 = 1! spgri/spgraから読み込んだ回折条件に新たな条件を追加する.
LSPSYM1 = 2! 非標準的な結晶軸の設定を用いる.
# SSPSYM1 > 0のときは追加入力データがあるのだが, かなり煩雑な上, 使用頻度は高くな
# いので, ここでは省略しておく.


INDIV1 = 0! 共通な等方性原子変位パラメーターQを全サイトに割り当てる (Q ≠ 0).
INDIV1 = 1: 等方性・異方性熱原子変位パラメーターを各サイトに割り当てる (Q = 0に固定).
# INDIV1 = 0のときはBやβijを入力しない. 実質的にすべてのサイトのBがQと等しくなる.

NPROR1 = 0! 選択配向は補正しない.
NPROR1 = 1! Sasa-Uda関数により板状結晶の選択配向を補正する.
NPROR1 = 2! Sasa-Uda関数により針状結晶の選択配向を補正する.
NPROR1 = 3: March-Dollase関数により選択配向を補正する.
# March-Dollase関数では, r = 1のとき選択配向の効果がなくなることに注意せよ.

#へき開面の法線ベクトルの指定。劈開があるなら立方晶でも必要。
IHP1 = 0: \
IKP1 = 0: --> 選択配向ベクトル hp, kp, lp.
ILP1 = 1: /
# 選択配向ベクトルは板状結晶では劈開面に垂直,針状結晶では針の伸長方向に平行な逆
# 格子ベクトルに設定する. NPROR1 = 0のときはダミーとなる.

LSUM1 = 0: March-Dollase関数を一組の反射に対してだけ計算する.
LSUM1 = 1! March-Dollase関数をいくつかの指数の反射について計算し, 平均をとる.*
# * 立方晶系に属するか, 選択配向ベクトルが主軸に平行でないとき必要となる.
# NPROR1が3以外のときはダミーとなる.

IHA1 = 0: \
IKA1 = 0: --> 異方的プロファイル広がりの中心方向の逆格子ベクトル ha, ka, la.
ILA1 = 1: /
# 異方的プロファイル広がりに関係したパラメーターをゼロとするときはダミーとなる.

# 複数の相が含まれているときは, 以下に繰り返し入力する. ただしラベルはすでに入力ず
# みのラベルと違うものを使うよう注意すること.

# すべての相の入力が終わったら, '}' (+ 注釈)を置く:
} これで結晶相に関するデータの入力はおしまい

#ピーク形状関数の選択:HERMESならNPRFM=2がよいみたいです。
# プロファイル関数の選択. 拡張分割pseudo-Voigt関数ではFWHM(Lorentz)≠FWHM(Gauss).
NPRFN = 0! Thompson, Cox, Hastings (TCH) のpseudo-Voigt関数.*
NPRFN = 1! 虎谷の分割pseudo-Voigt関数.**
NPRFN = 2! 非緩和反射: NPRFN = 1と同じ, 緩和反射: 拡張分割pseudo-Voigt関数.***
NPRFN = 3! 虎谷の分割Pearson VII関数.**
# * P. Thompson et al., J. Appl. Crystallogr. 20 (1987) 79.
# ** H. Taraya, J. Appl. Crystallogr., 23 (1990) 485.
# *** FWHM(Lorentz) <> FWHM(Gauss). 次の文献を参照せよ:
# F. Izumi and T. Ikeda, Mater. Sci. Forum (1999) in press.
NPRFN = 2

If NPRFN = 0 then
NASYM = 0! TCHのpseudo-Voigt関数をFingerらの手法*で非対称化する.
NASYM = 1! TCHのpseudo-Voigt関数をHowardの手法**で非対称化する.
# * L. W. Finger et al., J. Appl. Crystallogr. 27 (1994) 892.
# ** C. J. Howard, J. Appl. Crystallogr. 15 (1982) 615.
NASYM = 0
end if

If NPRFN >= 1 then
# ピーク位置シフト関数の選択. t0〜t3: ピーク位置シフトパラメーター.
NSHIFT = 0! t0.
NSHIFT = 1! t0 + t1*cos2θ + t2*sin2θ + t3*tanθ.
NSHIFT = 2! t0 + t1*(2θ) + t2*(2θ)**2 + t3*(2θ)**3.
NSHIFT = 3! t0 + t1*tan2θ + t2*(tan2θ)**2 + t3*(tan2θ)**3.
NSHIFT = 4: 0〜1に規格化した2θに関する3次のルジャンドル直交多項式.
NSHIFT = 5! 0〜1に規格化したtan2θに関する3次のルジャンドル直交多項式.
end if

# ラベル (25文字以内), 回折強度を計算するためのパラメーター, 精密化の指標IDを入力する.
# IDはNMODE = 0の場合に限り, パラメーターの数だけ空白を置かずに入力する (NMODE = 1の
# ときIDを入力したとしても, 実害はない).

# 以下の注釈でPPPはPrimary Profile Parameter, SPPはSecondary Profile Parameterを
# 表わす. たとえば半値幅(FWHM)をH = [U(tanθ)**2 + Vtanθ + W]**0.5という式で
# 計算する場合, HはPPP, FWHMパラメーターU, V, WはSPPに属する. 通常のリートベルト解析で精密
# 化するのはすべての2θ範囲に共通なSPPだが, 部分プロファイル緩和を適用した反射では
# PPPを局所的に精密化する.

# ID(I) = 0: パラメーターA(I)を固定する.
# ID(I) = 1: パラメーターA(I)を精密化する.
# ID(I) = 2: パラメーターA(I)に線形の等式制約条件を付加する.
# ID(I) = 3: PPPをSPPから計算した値に固定する.
# ID(I) = 3の場合,A(I)として0.0を入力すれば,A(I)がSPPから計算した値に固定され
# る.ID(I) = 3のパラメーターを実際にゼロに固定したいときは,便宜上10^(-15)のよ
# うなきわめて小さい数を入力する.

# NPRFN, プロファイル緩和, IDの間の関係は以下の通り:
# NPRFN = 0の場合, プロファイル緩和機能を使えない.
# NPRFN = 1, 3で, かつプロファイル緩和機能を使用するとき, IDは1〜3を使用可.
# NPRFN = 2で, かつプロファイル緩和機能を使用するとき, IDは1, 2を使用可.

ここからラベル, 回折強度を計算するためのパラメーター, 精密化の指標IDの入力がスタート {

# (1) 各結晶相に共通のパラメーター.

# ピーク位置シフトパラメーター.
# NPRFN = 0: Z, Ds, Ts, dummy1 (中性子回折ではDs = Ts = 0).
# NPRFN > 0: t0, t1, t2, t3.
If NPRFN = 0 then
SHIFT0 5.18831E-2 0.0 0.0 0.0 0000
else
#散乱角の0点補正のパラメーター。普通は+-0.1度程度
SHIFTN -9.49346E-2 0.0 0.0 0.0 1000
end if

# Surface-roughnessパラメーター.
ROUGH 0.0 0.0 0.0 0.0 0000

# バックグランドパラメーター, bj (j = 0〜11).
#バックグランドのパラメーター。普通は初めの8個で十分。よくあってきたら固定してもよい。
BKGD 186.58 -5.44677E1 23.6595 -6.79238E-1 -4.24056E-2 8.83319
-3.9102E-1 -8.17401E-1 1.44309 0.323384 -4.72713 1.38665

111111110000

# 部分プロファイル緩和した反射のPPP (必要なだけ入力可. もちろん, なくてもいい).
# ラベルのフォーマット: PPPn_h.k.l(n: 相の番号, hkl: 回折指数).

# プロファイル緩和した反射において精密化するPPPは次の通り:
# NPRFN = 1 (分割型pseudo-Voigt関数を適用): W, A, ηL, ηH.
# NPRFN = 2 (拡張分割型pseudo-Voigt関数を適用): W1, W2, A, ηL, ηH.
# NPRFN = 3 (分割型Pearson VII関数を適用): W, A, mL, mH.

#プロファイル緩和法を使う場合は以下でコントロールする。でも最初は使う必要なし。
# PPP1_0.0.1 50282.5 0.475526 2.15482 3.92072E-6 2.42538E-6 11111
# 下の1.1.1は 111ブラッグピークで緩和を行う、という意味
# PPP1_1.1.1 1.470569E6 0.416391 1.2724 0.187204 2.42538E-6 11111
# PPP1_2.0.1 11.055 0.406007 1.28609 0.150062 0.247627 11111
# PPP1_2.2.0 -2.93601E-1 0.417856 0.991064 0.122943 4.72814E-2
# 11111
# PPP1_0.0.2 -6.3454E5 0.402458 1.13919 0.286755 1.91548E-5 11111
# PPP1_3.1.0 -1.04249E7 0.408186 1.08074 0.153816 0.10736 11111
# PPP1_3.1.1 -1.10415E4 0.44864 1.04668 0.166703 4.83438E-2 11111
# PPP1_3.2.0 9.99718E-2 0.414118 0.878849 2.22755E-2 6.10008E-5
# 11111
# PPP1_4.0.0 21772.0 0.52552 0.949113 0.147309 3.31615E-5 11111
# PPP1_3.3.1 -1.18122E7 0.636508 0.907087 5.68607E-2 3.98374E-2
# 11111
# PPP1_1.1.3 1.26 0.71371 0.99025 0.181895 1.36582E-5 11111
# PPP1_4.4.0 -2.27039E+10 1.87138 0.695256 6.88446E-7 4.19461E-6
# 11111
#
# (2) 第1相に関係するパラメーター.

# 尺度因子, s.
#強度を決めるスケール因子。最初からかならず動かす。
SCALE 2.01239E-3 1

# プロファイル・パラメーター.

If NPRFN = 0 and NASYM = 1 then

# TCHのpseudo-Voigt関数 + Howardの手法による非対称化.

# ガウス関数の半値幅パラメーター, U, V, W, P.
GAUSS01 2.36421E-2 -2.20343E-2 1.33347E-2 0.0 0000

# ローレンツ関数の半値幅パラメーター, X, Xe, Y, Ye.
LORENTZ01 2.7113E-2 5.91051E-2 0.0 0.0 0000

# 非対称パラメーター As, five dummies.
ASYM01 7.93367E-3 0.0 0.0 0.0 0.0 0.0 000000

else if NPRFN = 0 and NASYM = 0 then

# TCHのpseudo-Voigt関数 + Fingerらの手法による非対称化.

# ガウス関数の半値幅パラメーター, U, V, W, P.
GAUSS00 1.73383E-2 -1.23754E-2 5.41332E-3 0.0 0000

# ローレンツ関数の半値幅パラメーター, X, Xe, Y, Ye.
LORENTZ00 6.31081E-2 -2.95676E-2 -4.36261E-2 0.194486 0000

# 非対称パラメーター rs, rd, four dummies.
ASYM00 6.54329E-2 2.58173E-2 0.0 0.0 0.0 0.0 000000

else if NPRFN = 1 or NPRFN = 2 then

# 非緩和反射: 分割pseudo-Voigt関数, 緩和反射: 拡張分割pseudo-Voigt関数.

# 半値幅パラメーター, U, V, W, a dummy.
#分解能(半値幅)を決めるパラメーター。解析のはじめは動かさなくてよい。強度があってきてから。
#動かす場合は、UVWのみ。
FWHM12 0.261134 -2.56227E-1 0.1917 0.0 1110

# 非対称パラメーター, a0, a1, a2, a dummy.
#ピークの非対称性をコントロール。最初は動かさなくてよい。invalid valueとかメッセージがでて計算がとまったら、このあたりの値をいじってみる。
ASYM12 0.856117 -3.40648E-1 5.08279E-2 0.0 1110

# 減衰パラメーター, eta_L0, eta_L1, eta_H1, eta_H2.
ETA12 0.488038 6.19721E-2 0.349056 2.22237E-2 0000

# 非対称拡がりパラメーター, Ue, Pe.
ANISOBR12 4.3114E-5 0.0 00

else if NPRFN = 3 then

# 分割Pearson VII関数

# 半値幅パラメーター, U, V, W, a dummy.
FWHM3 0.141566 -1.53155E-1 9.04957E-2 0.0 0000

# 非対称パラメーター, a0, a1, a2, a dummy.
ASYM3 0.977603 1.42909E-2 -3.75516E-3 0.0 0000

# 減衰パラメーター, eta_L0, eta_L1, eta_H1, eta_H2.
M3 0.381488 -9.02091E-2 0.356428 -6.78899E-3 0000

# 非対称拡がりパラメーター, Ue, Pe.
ANISOBR3 1.99063E-5 0.0 00

end if

# 選択配向パラメーター. r, dummy9 (March-Dollase関数); p1, p2(Sasa-Uda関数).
#選択配向のパラメーター。1番目のパラメータのみうごかす。1で選択配向なし。普通は0.8~1.2位
PREF 1.28283 0.0 10

# 格子定数 a, b, c, α, β, γ, 共通の等方性原子変位パラメーター Q.
#かならず動かす。ただし、立方晶ならaだけ、正方晶ならaとcだけ、うごかす。この例は正方晶
CELQ 5.33287 5.33287 3.50646 90.0 90.0 90.0 0.0 1010000

# ラベル/化学種名, 占有率, 分率座標, 等方性原子変位パラメーター, ID: g, x, y, z, B.
# 各サイトに一つのラベルを与える. 化学種は仮想的なものも含む (' 'はつけない).
# 異方性温度因子を計算する場合, Bの代わりにβ11,β22,β33,β12,β13,β23を入力
# する. Bの値の前にダミーの'+'をつけると, Bに相当するβijの値をRIETANが求めてくれ
# る. もちろん, この場合6個分のIDを入力する必要がある.

# Label/species, g, x, y, z, B, and refinement identifiers (ID)
#占有率と原子位置、変位パラメーター。初めは動かさなくてよい。
#Bは最初は0.3位にしておく
Er/Er 1.0 0.0 0.0 0.0 0.15136 00000
B11/B11 1.0 0.362364 0.862364 0.5 0.10503 01200
C/C 1.0 0.161932 0.661932 0.5 0.10503 01200
} ラベル, 回折強度を計算するためのパラメーター, IDの入力はこれでおしまい. ご苦労さま.
#以上で、本質的なパラメータの入力はおわり。
#以下は主に、計算をコントロールするパラメータの入力。

# 複数の相が含まれている場合は, 前の相の構造パラメーターの後ろに尺度因子以降のパラメーター
# を繰り返し入力する. ただしラベル, とくに各サイトに対するラベルは入力ずみのものと同
# 一にならないよう注意すること.

If NMODE <> 1 then
# 線形制約条件をID = 2のパラメーターに対して入力する. 左辺にID = 2のパラメーター, 右辺にそ
# のパラメーターを他のパラメーター (ID = 1) から計算するための式を書く.「線形」とは右辺に
# 含まれる各パラメーターについて一次であることを意味する. 線形制約条件はPPP, SPP, 構
# 造パラメーターに課すことができる. SPPの場合, 二つ以上の相のSPPを互いに等しいと近似
# するのに使う. 制約条件の記述法についてはマニュアルを参照せよ.

# たとえば異方性原子変位パラメーターβij間に課せられる制約条件の場合,'X'をラベル
# (サイト名)とすれば,次のように記述する:
#パラメーター間に関係がある場合は、以下の式で指定する。原子位置のx,y,z間に関係がある場合に、
#xyzをパラメーターにfittingする場合は、かならず使う。

#下はB11のyとxに:y=x+0.5の関係がある場合。
#A(B11,y)=A(B11,x)+0.5
#A(C,y)=A(C,x)+0.5
#A(C,B)=A(B11,B)
#A(C,B)=A(Er,B)
# A(X,B22)=A(X,B11) #5
# A(X,B22)=A(X,B11); A(X,B23)=A(X,B13) #6
# A(X,B22)=A(X,B11); A(X,B23)=-A(X,B13) #7
# A(X,B22)=A(X,B11) #8
# A(X,B33)=A(X,B22) #9
# A(X,B33)=A(X,B22); A(X,B13)=A(X,B12) #10
# A(X,B33)=A(X,B22); A(X,B13)=-A(X,B12) #11
# A(X,B33)=A(X,B22) #12
# A(X,B12)=0.5*A(X,B22) #13
# A(X,B12)=0.5*A(X,B22) #14
# A(X,B12)=0.5*A(X,B22); A(X,B23)=2.0*A(X,B13) #15
# A(X,B22)=A(X,B11); A(X,B12)=0.5*A(X,B11) #16
# A(X,B22)=A(X,B11); A(X,B33)=A(X,B11) #17
# A(X,B22)=A(X,B11); A(X,B33)=A(X,B11); A(X,B13)=A(X,B12); A(X,B23)=A(X,B12) #18
# これらを実際に使うときは, 'X'を他のラベルと入れ換えなければならない. 各行の
# 末尾の注釈('#' + 整数)は次の文献に記載されている参照番号である:
# cf. W.J.A.M. Peterson and J.H. Palm, Acta Crystallogr., 20 (1966) 147.

# 最後に'}' (+ 注釈)を置く. 制約条件がないときは'}'も含め注釈にする.
} 線形制約条件はこれでおしまい.
end if

NCUT = 0! 部分プロファイル緩和を適用する反射のプロファイル計算範囲はRIETANが決める.
NCUT = 1! 部分プロファイル緩和を適用する反射のプロファイル計算範囲はユーザーが入力する.
NCUT = 0
# NPRFN = 0のときはNCUT = 0に設定すること.

If NCUT = 1 then
# 部分プロファイル緩和を適用する反射の2θ範囲. PPn_h.k.l+PPP+IDの行と同じ順番で,
# 同じ数だけ入力すること. 緩和した反射の数はわかっているので, '}'は不要.
5.10 9.40
11.00 14.10
18.20 21.80
19.40 24.10
21.60 23.40
end if

If NMODE <> 1 then
NEXC = 0! 全ての測定点を使用してパラメーターを精密化する.
NEXC = 1: 一部の測定点を除いてパラメーターを精密化する.
end if

#不純物などのためデータを削除したい場合は、下で角度範囲を指定
#シビアに計算したいときは、できるだけバックグランドを切っておく。
If NMODE <> 1 and NEXC = 1 then
精密化に使わない2θの範囲 {
0.0 15
154.0 180.0

} 除外2θ範囲の入力はこれでおしまい
end if

#ここから下は普通はいじる必要なし。
#でもいろいろ便利な機能があるので、使えるようになると便利。

If NMODE <> 1 then
NRANGE = 0: バックグランドパラメーターを精密化する.
NRANGE = 1! バックグランドを*.bkgから読み込んだ指定2θでの(平滑化)値に固定する.
NRANGE = 2! すべての測定点でのバックグランドを*.bkgから読み込んだ値に固定する.
NRANGE = 3! バックグランド = (*.bkgから読み込んだ値)*(ルジャンドル直交多項式).
end if

# NRANGE > 0のときは, 2θとバックグランドの対は*.bkgから読み込まれる.
# (1) NRANGE = 1
# 2θとバックグランドの対を十分な数だけ入力する. バックグランドにゼロを入力すると,
# バックグランドはその回折点における強度の平滑化値に設定される. 他の回折点における
# バックグランドは補間により求めた値に固定される. 反射数が比較的少なく, しかもバックグランド
# が複雑な回折パターン (たとえば「こぶ」のあるよう なバックグランド)の解析に役
# 立つ.
# RIETAN中でのリスト指示入力文: READ(4,*) (X(J), Y(J), J = 1, 100)
# つまり100点までの回折点を入力できる. 入力の終了を示すために, 最後に'/'を置く.
# (2) NRANGE = 2
# *.intファイル中の観測回折強度と同じ数だけ2θとバックグランドの対を*.bkgから読み込む.
# RIETAN-2000中のリスト指示入力文: READ(8,*,END=9) DEG(J),BG(J)
# (3) NRANGE = 3
# この複合バックグランド関数はキャピラリーに試料を充填したデバイシェラー光学系のように,バック
# グランドの形が複雑なときに役立つ.

If NMODE <> 1 then
NPAT = 0! リートベルト解析パターン(観測強度, 計算強度, 差)のファイルは作成しない.
NPAT = 1! 無効.
NPAT = 2! リートベルト解析パターンをプロットするためのRietPlotファイルを作成.
NPAT = 3! リートベルト解析パターンをプロットするためのDMPLOTファイルを作成.
NPAT = 4! 無効.
NPAT = 5: リートベルト解析パターンをプロットするためのIgorテキストファイルを作成.
# Mac OSとWindowsの場合,NPAT = 5を推奨する.
# さもなければ,UNIX/Linux用のフリーソフトriplxを使うこと.
end if

If NMODE <> 1 and NPAT = 5 then
IWIDTH = 650: グラフの横幅.
IHEIGHT = 350: グラフの高さ.
IYMIN =0: y軸の最小値 (ゼロだと省略値).
IYMAX =0: y軸の最大値 (ゼロだと省略値).

LBG = 0: バックグランドをプロットしない.
LBG = 1! バックグランドをプロットする.

# 残差曲線の種類
LDEL = 0: 実測強度-計算強度をプロット.
LDEL = 1! (実測強度-計算強度)/標準偏差をプロット.
LDEL = 2! [(実測強度-計算強度)/実測強度]/標準偏差をプロット.*
# * R. A. Young, "The Rietveld Method," p. 24の式(1.13)を参照せよ.

IOFFSETD = -300: 残差曲線のオフセット.
IPSIZE = 3: 縦棒(ピーク位置)の長さ.
IFSIZE = 16: 軸に付く数値のサイズ.
ILSIZE = 18: 軸に対するラベルのサイズ.

INDREF = 0: XREF, YREFは書き出さない.
INDREF = 1! 個々の反射のプロファイルをXREF, YREFというwaveに書き出す.

IOFFSET1 = -50: 第1相に対する縦棒(ピーク位置)のオフセット.
# 他の相が含まれていたら,上の行と同様にオフセットを入力する.
/ # オフセットを入力する相の数が8未満だったら,最後に'/'を置く.

# *.patファイルの末尾のIgor procedureをエディターで直接書き換えてもよい.
end if

#シミュレーションの場合は次の行が必要
If NMODE = 1 then
DEG1 = 10.0: 計算(シミュレーション)パターンにおける2θの下限.
DEG2 = 60.0: 計算パターンにおける2θの上限.

USTP = 0.01: ステップ幅/゜.

NPAT = 0! 計算パターンを描くためのファイルは作成せず, 反射のリストだけ出力.
NPAT = 1! 無効.
NPAT = 2! 反射のリストと計算パターンをプロットするためのRietPlotファイルを作成.
NPAT = 3! 無効.
NPAT = 4! 無効.
NPAT = 5: 反射のリストと計算パターンをプロットするためのIgorテキストファイルを作成.
# Mac OSとWindowsの場合,NPAT = 5を推奨する.
# さもなければ,UNIX/Linux用のフリ−ソフトriplxを使うこと.
end if

If NMODE = 1 and NPAT = 5 then
IWIDTH = 650: グラフの横幅.
IHEIGHT = 350: グラフの高さ.

LBG = 0: バックグランドをプロットしない.
LBG = 1! バックグランドをプロットする.

IPSIZE = 3: 縦棒(ピーク位置)の長さ.
IFSIZE = 16: 軸に付く数値のサイズ.
ILSIZE = 18: 軸に対するラベルのサイズ.
end if

収束が悪いとき、Bが負になってしまうときは、PCを小さくすると改善するかもしれない
# PC : プロファイルを計算する2θ領域を決定するための定数.
# PC < 1 ==> ピーク強度×PC以上となる2θ領域.
# NPRFNが0のときは,PC < 1でなければならない.
# PC > 1 ==> ピーク位置±半値全幅×PCの 2θ領域.
If NPRFN = 0 then
PC = 0.002
else if NPRFN = 1 then
PC = 7.00
else if NPRFN >= 2 then
PC = 3.00
end if

# NMODE = 1の場合は,残りの部分をスキップする.
If NMODE = 1 then
Go to *Quit
end if

##############################################################################
# NMODE = 1の場合,これで入力はおしまい. さようなら. #
##############################################################################

If NMODE = 4 then
# 第1相の積分強度の初期値を
NSFF = 0! Wilson統計に従って推定する.
NSFF = 1! ファイル(*.ffi)から読み込む.
NSFF = 2! 一律に100とする.
NSFF = 2
end if

If NMODE = 4 and NSFF <> 1 then
INCMULT = 0! |F|**2を積分強度とみなす.
INCMULT = 1: 多重度×|F|**2を積分強度とみなす(これを推奨する).
end if

#最小二乗の計算方法。NLESQ=0か2がいいようです。私は2を良く使います。
#ただし共役法は時間がかかります。
If NMODE <> 1 then
NLESQ = 0! 最小二乗法として修正Marquardt法を使用する.
NLESQ = 1! 最小二乗法としてGauss-Newton法を使用する.
NLESQ = 2! 最小二乗法として共役方向法を使用する.
NLESQ = 2
# ふつうはNLESQ = 0とするといい. 共役方向法は遅いのを覚悟して使うこと.

NESD = 0: 精密化したパラメーターの標準偏差を通常の方法で計算する.
NESD = 1! 標準偏差をScottの方法で計算する.
# (NESD = 1はNESD = 0の場合よりかなり大きくなる).
end if

If NLESQ <= 1 then
NAUTO = 0! すべての可変パラメーターを一挙に精密化する.
NAUTO = 1! 段階的に精密化する (各サイクルの可変パラメーターをユーザーが指定).
NAUTO = 2! 段階的に精密化する (各サイクルの可変パラメーターをRIETANが決定).
NAUTO = 3! NAUTO = 2に加え, 共役方向法で真の最小値への収束をチェックする.
NAUTO = 2
# ふつうはNAUTO = 2とし, 収束に近づいたらNAUTO = 0にする.

NCYCL = 30: 精密化の反復回数の最大値.
CONV = 0.0001: 収束判定のために使う小さい正の数.
NCONV = 6: 収束判定のために使うサイクル数.

NC = 0: 非線形制約条件なしに精密化する.
NC = 1! 原子間距離や結合角に非線形制約条件を付加して精密化する.

TK = 650.0: ペナルティーパラメーター.
FINC = 2.0: TKを増やす際, 現在のTKにかける因子.
end if

If NLESQ <= 1 and NAUTO = 1 then
# 各サイクルで精密化するパラメーターの番号を指定する. 各サイクルの最後のパラメーター番号の後ろ
# に'/'を置く. 絶対番号以外に「ラベル,番号/記号」も使える(マニュアル参照).
各サイクルにおいて精密化するパラメーター {
BKBG,1 BKBG,2 BKBG,3 BKBG,4 BKBG,5 BKBG,6 BKBG,7 BKBG,8 SCALE,1 /
GAUSS,1 GAUSS,2 GAUSS,3 LORENTZ,1 LORENTZ,2 ASYM,1 /
CELLQ,1 CELLQ,3 /
# 最後に'}' (+ 注釈)を置く
} 精密化パラメーターの番号の入力行はこれでおしまい
end if

If NLESQ <=1 and NAUTO = 3 then
# 共役方向法(局所的な最小値への収束をチェックするのに用いる)のための入力データ.
MITER = 4: 最小化の繰り返し数の上限.
STEP = 0.02: 初期ステップ幅を計算するための係数.
ACC = 1.0E-6: 収束判定のために使う小さい正の数.
end if

If NLESQ = 2 then
MITER = 1: 最小化の繰り返し数の上限.
STEP = 0.02: 初期ステップ幅を計算するための係数.
ACC = 1.0E-6: 収束判定のために使う小さい正の数.

NC = 0: 非線形制約条件なしに精密化する.
NC = 1! 非線形制約条件を付加して精密化する.

TK = 650.0: ペナルティーパラメーター.
end if

If NC = 1 then
# 非線形制約条件を指定するには, まずNDA > 0 (下記) としてORFFE用の入力ファイル
# filename.xyzを作成する. 次にORFFEを実行し, filename.ffeを作成した後, プリント
# 出力中の原子間距離や結合角に対する通し番号を参照し, 原子間距離や結合角の
# 予想値, 許容偏差とともに以下の行に入力する. filename.ffeが既存の場合は新た
# に作成されないようにしてあるので, 構造モデルを修正したときなどはfilename.ffe
# を削除して作り直す必要があることに注意せよ.

通し番号 予想値 許容偏差 {
122 1.47 0.01
123 1.54 0.01
178 108.0 3.0

# 最後に'}' (+ 注釈)を置く
} 非線形制約条件はこれでおしまい.
end if

NUPDT = 0! このファイル中の可変パラメーター (ID = 1, 2)は更新しない.
NUPDT = 1! 精密化終了後に, このファイル中の可変パラメーター (ID = 1, 2)を更新する.
NUPDT = 1
# NUPDT = 1の場合, データ間にスペースを二つずつ挿入して更新する.

NFR = 0! FourierD合成用のファイルfilename.hklは作成しない.
NFR = 1! FourierD合成用のファイルfilename.hklを第1相に対し作成.
NFR = 2! FourierD合成用のファイルfilename.hklを第2相に対し作成.
NFR = 0

NMEM = 0! MEM解析用のファイルfilename.memは作成しない.
NMEM = 1! MEM解析用のファイルfilename.memを第1相に対し作成.
NMEM = 2! MEM解析用のファイルfilename.memを第2相に対し作成.
NMEM = 0

NDA = 0! ORFEE用のファイルfilename.xyzは作成しない.
NDA = 1! ORFEE用のファイルfilename.xyzを第1相に対し作成.
NDA = 2! ORFEE用のファイルfilename.xyzを第2相に対し作成.
NDA = 0
# NDA > 0とすることによって, ffe2amによりfilename.xyzファイルからMADELとATOMS用
# のファイルを作成できる.

If NFR > 0 then
NPIXAF = 32: a軸に沿ったピクセルの数.
NPIXBF = 32: b軸に沿ったピクセルの数.
NPIXCF = 128: c軸に沿ったピクセルの数.
TSCAT = 232.01: 総電子数(X線回折)または干渉性散乱径の合計(中性子回折).
# 干渉性散乱径についてはInternational Tables, Vol. C, p. 384を参照せよ.
end if

If NMEM > 0 then
# *.memファイル中に書かれるタイトル. 70文字以内.
TITLE = 'Title output for *.mem'

LANOM = 0: 異常分散の寄与を取り除いた積分強度からσを計算する.
LANOM = 1! 異常分散の寄与を含んだままの積分強度からσを計算する.

NPIXA = 32: a軸に沿ったピクセルの数.
NPIXB = 32: b軸に沿ったピクセルの数.
NPIXC = 128: c軸に沿ったピクセルの数.

LGR = 0: 全て独立な反射として出力する.
LGR = 1! 重なった反射はグループ化して出力する.

LFOFC = 0: リートベルト解析の結果に基づいて便宜上計算したFoを出力.
LFOFC = 1! リートベルト解析における構造パラメーターから計算したFcを出力.

EPSD = 0.001:グループ化する反射における面間隔の差の最大値 (Å).
SCIO = 80.0: σ(Io)を調整するために積分強度Ioに掛ける因子 (0.0: 自動調整).
TSCAT1 = 232.01: 総電子数(X線回折)または正の干渉性散乱径の合計(中性子回折).
TSCAT2 = 0.0: ゼロ(X線回折)または負の干渉性散乱径の合計(中性子回折).
UCLAG = 0.01: ラグランジュの未定係数.
end if

If NDA > 0 then
# ORFFE命令を必要なだけ入力し, 最後に'}' (+ 注釈)を置く. よく使うORFFE命令につい
# てはRIETANの英文マニュアルを参照のこと. ORFFE命令は桁固定書式で入力する必要があるた
# め, 入力位置を間違えないように十分注意せよ. NDA > 0とするとfilename.xyzという
# ファイルが出力されるので, これをorffeの入力ファイルとして原子間距離や結合角などを計算
# する. filename.xyz中のORFFE命令のところだけをユーザーが書き換えたり, 追加したりす
# ることもできる.

ORFFE命令スタート {
# オリジナルのORFFE命令と フォーマットが変わっていることに注意せよ.
#2345678901234567890123456789012345678901234567890123456789012345678901234567890

# 201命令, FORMAT(2I5,15X,I5). 原子間距離のリストを出力. 二番目のデータはサイトの数,
# 三番目の整数データは10×最大距離(Å).
201 9 31
# 2命令, FORMAT(7I5). 結合角を計算. 3組のAと1000*C + S (ORFFEの出力を参照のこと)
# が2命令の後ろに続く.
# Cu2-O2-Cu2
2 5 0 7 0 5 12
# M-O3-M
2 2 0 8 0 217000
} ORFFE命令はこれでおしまい.
# ORFFE命令は*.xyzを直接編集することにより変更,追加できる.
end if

絶対に引用を忘れずに。研究者なら当然ですね。
# RIETAN-2000を使用して得た解析結果を発表する際には, つぎの文献を必ず引用する
# ようお願いします:
# F. Izumi and T. Ikeda, Mater. Sci. Forum, 321-324 (2000) 198.
# 講演要旨や報告書などの場合は, RIETAN-2000を使用したと記すだけでも結構です.

絵はがきもわすれずに
# RIETAN-2000を気にいり, 今後も継続してお使いになるのでしたら, あなたが住んでい
# る町の絵はがきをお送りください. それでは要求しすぎでしょうか?

# 泉 富士夫
# 無機材質研究所
# 〒305-0044 茨城県つくば市並木1-1
# 電話: 0298-51-3354 (内線511)
# FAX: 0298-52-7449
# E-mail: izumi@nirim.go.jp

*Quit


ここのTopにもどる。
130.GIF