# このファイルはFixedSysなどの等幅フォントで表示すると, 桁がそろって読みやすくなります.
# 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文字以内)
Fluorapatite, Ca5F(PO4)3
NBEAM = 0! 中性子回折.
NBEAM = 1: 特性X線を用いる実験室X線回折.
NBEAM = 2! 放射光X線回折.
NMODE = 0: リートベルト解析.
NMODE = 1! シミュレーション.
NMODE = 2! 構造因子をFc(MEM)に完全に固定したパターン・フィッティング.
NMODE = 3! NMODE = 2と同じだが,緩和反射に限り|Fc|を精密化.
NMODE = 4! 通常のLe Bail解析.
NMODE = 5! 部分構造を用いるLe Bail解析.
NMODE = 6! 局所的プロファイル・フィッティング.
NPRINT = 0! 最小限のプリンター出力.
NPRINT = 1! 標準的なプリンター出力.
NPRINT = 2! 最も詳しいプリンター出力.
NPRINT = 0
If NBEAM = 0 then
XLMDN = 1.5401: 中性子の波長/Å.
RADIUS = 0.5: 円筒状試料セルの半径/cm.
ABSORP = 1.0! 正値 --> 密度/g.cm**(-3).
ABSORP = 0.0: ゼロ --> 吸収を無視.
ABSORP = -1.0! 負値 --> -(線吸収係数)×(試料の半径).
# * 容器の内径, 試料の高さ, 試料の重量から計算.
else if NBEAM = 1 then
NTARG = 1! Ag Kα特性X線.
NTARG = 2! Mo Kα特性X線.
NTARG = 3! Cu Kβ特性X線.
NTARG = 4: Cu Kα特性X線.
NTARG = 5! Co Kα特性X線.
NTARG = 6! Fe Kα特性X線.
NTARG = 7! Cr Kα特性X線.
R12 = 0.497: 強度(Kα2)/強度(Kα1). Cu Kβ特性X線の場合, R12 = 0.0.
CTHM1 = 0.7998: cos(2α)**2 (α: モノクロメーターのブラッグ角). モノクロなし: CTHM1 = 1.0.
NSURFR = 0: Surface roughnessは補正しない.
NSURFR = 1! NSURFR = 2と3を組み合わせたモデルでsurface roughnessを補正.
NSURFR = 2! Sparksらのモデルでsurface roughnessを補正.
NSURFR = 3! Suorttiらのモデルでsurface roughnessを補正.
NSURFR = 4! Pitschkeらのモデルでsurface roughnessを補正.
NTRAN = 0: ブラッグ-ブレンターノ型光学系 (固定発散角の発散スリット).
NTRAN = 1! ブラッグ-ブレンターノ型光学系 (照射幅が一定となる可変発散角の発散スリット).
NTRAN = 2! 透過型光学系 (ギニエ型回折計など).
NTRAN = 3! デバイ-シェラー光学系.
else if NBEAM = 2 then
XLMDX = 1.5401: X線の波長/Å.
PCOR2 = 0.05: I0(perpendicular)/I0(parallel). I0: 入射ビーム強度.
# 文献: D.E. Cox, "Synchrotron Radiation Crystallography," ed by
# P. Coppens, Academic Press, London (1992), p. 233.
CTHM2 = 1.0: 結晶モノクロメータのcos(2*alpha)**2 (上を見よ).
XMUR2 = 0.0: μr = (線吸収係数)×(キャピラリー内試料の半径). 平板試料の場合0.0.
end if
If NBEAM = 1 and NTRAN = 1 then
DSANG = 0.5: 最低角で照射幅がSWIDTHとなるような発散スリットの角度/゜.
RGON = 185.0: ゴニオメーター半径/mm.
SWIDTH = 20.0: 試料の照射幅/mm.
else if NBEAM = 1 and NTRAN = 2 then
PCOR1 = 0.5: 完全結晶の寄与の分率.
SABS = 1.0: (線吸収係数)×(有効厚み).
else if NBEAM = 1 and NTRAN = 3 then
XMUR1 = 0.0: (線吸収係数)×(キャピラリー内試料の半径).
end if
If NBEAM = 0 then
# 試料に含まれる(中性)化学種と物質量. 最後に'/'を置く. 物質量は吸収補正に使
# う. 磁気散乱が観測される場合に限り, 磁性原子の元素記号の後に'*'を付加する.
# 例: 'Fe*', 'Ni*'.
'O' 12.0 'P' 3.0 'Ca' 5.0 'F' 1.0 /
# 磁性原子名に'*'を付けたなら, LCMFF (0に固定) とCMFF(I) (I = 1〜7) を磁性原
# 子の数と同じ行数だけ入力する. ただしLCMFFとCMFFは"International Tables,"
# Vol. C (1999), p. 456中の(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
# '*'つきの原子の数はすでにわかっているので, '}'は不要.
else
# 試料に含まれる化学種. どんな化学種が入力できるかは, データベース・ファイルasfdcを参
# 照のこと. 行の最後に'/'を置く.
'O-' 'P' 'Ca2+' 'F-' /
end if
If NBEAM = 0 then
# Skip
else if NBEAM = 2 or NTARG = 3 then
# 使用した波長における異常分散の補正項(Δf'とΔf")を化学種の数(NREAL)だけ
# 繰り返し入力する.
# RIETAN中での入力文: READ(5,*) (DELTF1(J), DELTF2(J), J = 1, NREAL)
# 入力データの数(2×NREAL)はすでにわかっているので, '/'も'}'も不要.
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.
# 上の例のように各仮想的化学種に対する行の最後には'/'を置き, 仮想的な化学種をす
# べて入力し終わったら, '}' (+ 注釈)でデータの終わりを示す. 仮想的な化学種を使わな
# い場合は,上のように'}'も含めて注釈としておくこと.
試料に含まれる結晶相に関するデータ入力 {
# 第1相
PHNAME1 = 'Fluorapatite': 相の名前 (英数字で25文字以内).
VNS1 = 'A-176': (Int. Tablesの巻: 'A' or 'I')-(空間群の番号)-(設定番号).
# 上の設定によりRIETANが反射の指数と多重度を自動的に発生してくれるが,そのための
# ルーチンKDRREF (Harwellで開発された) には多少の未解決のバグが含まれている. また空
# 間群に関する情報を納めたファイルspgriとspgraにも若干の入力ミスがあることは避けられな
# い. したがって, どうしても指数のつかない反射があったり, 余分の反射が出現してし
# まうときは, RIETANが発生した指数をチェックしたほうがいい. そのような場合に備え,
# 裏わざとしてhklと多重度をファイルから読み込めるように細工してある (使用法について
# は, お問い合わせいただきたい).
LSPSYM1 = 0: 空間群に関する情報はデータベース・ファイルspgri/spgraから読み込む.
LSPSYM1 = 1! spgri/spgraから読み込んだ回折条件に新たな条件を追加する.
LSPSYM1 = 2! 非標準的な結晶軸の設定を用いる.
# SSPSYM1 > 0のときは追加入力データがあるのだが, かなり煩雑な上, 使用頻度は高くな
# いので, ここでは省略しておく.
If NBEAM >= 1 then
LPAIR1 = 0: Bijvoet対 (hkl & -h-k-l) を発生させない.
LPAIR1 = 1! Bijvoet対 (hkl & -h-k-l) を発生させる.
# 対称中心が存在する空間群 (centrosymmetric space group) では0とする. 対称中
# 心をもつ24の空間群, たとえばPnnn (No. 48)の第1設定, ではより高い対称性をも
# つ点を原点に置く設定もあることに注意せよ. たとえ対称中心をもたない空間群で
# この値を0とすれば, 構造因子の精度は落ちるものの計算速度が増す.
end if
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 = 1: \
IKP1 = 0: --> 選択配向ベクトル hp, kp, lp.
ILP1 = 0: /
# 選択配向ベクトルは板状結晶では劈開面に垂直,針状結晶では針の伸長方向に平行な逆
# 格子ベクトルに設定する. NPROR1 = 0のときはダミーとなる.
LSUM1 = 0! March-Dollase関数を一組の反射に対してだけ計算する.
LSUM1 = 1: March-Dollase関数をいくつかの指数の反射について計算し, 平均をとる.*
# * 立方晶系に属するか, 選択配向ベクトルが主軸に平行でないとき必要となる.
# NPROR1が3以外のときはダミーとなる.
IHA1 = 0: \
IKA1 = 0: --> 異方的プロファイル広がりの中心方向の逆格子ベクトル ha, ka, la.
ILA1 = 1: /
# 異方的プロファイル広がりに関係したパラメーターをゼロとするときはダミーとなる.
# 複数の相が含まれているときは, 以下に繰り返し入力する. ただしラベルはすでに入力ず
# みのラベルと違うものを使うよう注意すること.
# すべての相の入力が終わったら, '}' (+ 注釈)を置く:
} これで結晶相に関するデータの入力はおしまい
# プロファイル関数の選択. 拡張分割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, 321-324 (2000) 198.
NPRFN = 1
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*tanθ + t2*(tanθ)**2 + t3*(tanθ)**3.
NSHIFT = 4: -1〜1に規格化した2θに関する3次のルジャンドル直交多項式.
NSHIFT = 5! -1〜1に規格化したtanθに関する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 0.14849 -1.14695E-1 1.28877E-2 0.0 1110
else
SHIFTN 7.13754E-2 2.42176E-2 3.77026E-3 0.0 1000
end if
# Surface-roughnessパラメーター.
ROUGH 0.0 0.0 0.0 0.0 0000
# バックグラウンド・パラメーター, bj (j = 0〜11).
BKGD 113.543 -126.525 138.994 -9.98841E1 65.9116 -3.83246E1
23.3106 -7.67292 -1.62389 2.96887 0.0 0.0 111111111100
# 部分プロファイル緩和した反射の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_1.0.0 0.123836 6.79726E-2 0.936762 0.228537 0.186868 11111
# PPP1_-1.0.0 0.123836 6.79726E-2 0.936762 0.228537 0.186868 22222
# (2) 第1相に関係するパラメーター.
# 尺度因子, s.
SCALE 8.809176E-6 1
# プロファイル・パラメーター
If NPRFN = 0 and NASYM = 1 then
# TCHのpseudo-Voigt関数 + Howardの手法による非対称化.
# ガウス関数の半値幅パラメーター, U, V, W, P.
GAUSS01 1.49395E-4 7.401285E-5 2.558033E-4 0.0 0110
# ローレンツ関数の半値幅パラメーター, X, Xe, Y, Ye.
LORENTZ01 3.157068E-2 2.282011E-3 2.879626E-2 -1.928188E-3 1111
# 非対称パラメーター As, five dummies.
ASYM 2.800001E-2 0.0 0.0 0.0 0.0 0.0 100000
else if NPRFN = 0 and NASYM = 0 then
# TCHのpseudo-Voigt関数 + Fingerらの手法による非対称化.
# ガウス関数の半値幅パラメーター, U, V, W, P.
GAUSS00 1.49395E-4 1.41366E-4 2.07988E-4 0.0 0110
# ローレンツ関数の半値幅パラメーター, X, Xe, Y, Ye.
LORENTZ00 3.3918E-2 1.85408E-3 2.48941E-2 -1.11746E-3 1010
# 非対称パラメーター rs, rd, four dummies.
ASYM00 2.82968E-2 9.34981E-3 0.0 0.0 0.0 0.0 110000
else if NPRFN = 1 or NPRFN = 2 then
# 非緩和反射: 分割pseudo-Voigt関数, 緩和反射: 拡張分割pseudo-Voigt関数.
# 半値幅パラメーター, U, V, W, a dummy.
FWHM12 5.8218E-3 -1.74585E-3 5.7211E-3 0.0 1110
# 非対称パラメーター, a0, a1, a2, a dummy.
ASYM12 1.03848 0.152149 -4.23175E-2 0.0 1110
# 減衰パラメーター, eta_L0, eta_L1, eta_H0, eta_H1.
ETA12 0.590108 0.153272 0.473738 0.191205 1111
# 非対称拡がりパラメーター, Ue, Pe.
ANISOBR12 0.0 0.0 00
else if NPRFN = 3 then
# 分割Pearson VII関数
# 半値幅パラメーター, U, V, W, a dummy.
FWHM3 5.874843E-3 -2.614835E-3 5.290567E-3 0.0 1110
# 非対称パラメーター, a0, a1, a2, a dummy.
ASYM3 0.976399 0.184397 -4.801547E-2 0.0 1110
# 減衰パラメーター, eta_L0, eta_L1, eta_H0, eta_H1.
M3 0.712220 0.219749 0.630807 0.125848 1111
# 非対称拡がりパラメーター, Ue, Pe.
ANISOBR3 0.0 0.0 00
end if
# 選択配向パラメーター. r, dummy9 (March-Dollase関数); p1, p2(Sasa-Uda関数).
PREF 1.02347 0.0 10
# 格子定数 a, b, c, α, β, γ, 共通の等方性原子変位パラメーター Q.
CELLQ 9.36868 9.36868 6.88358 90.0 90.0 120.0 0.0 1010000
# ラベル/化学種名, 占有率, 分率座標, 等方性原子変位パラメーター, ID: g, x, y, z, B.
# 各サイトに一つのラベルを与える. 化学種は仮想的なものも含む (' 'はつけない).
# 異方性温度因子を計算する場合, Bの代わりにβ11,β22,β33,β12,β13,β23を入力
# する. Bの値の前にダミーの'+'をつけると, Bに相当するβijの値をRIETANが求めてくれ
# る. もちろん, この場合6個分のIDを入力する必要がある.
O1/O- 1.0 0.324581 0.485573 0.25 0.705018 01101
O2/O- 1.0 0.591954 0.470052 0.25 0.708496 01101
O3/O- 1.0 0.33951 0.257217 7.00857E-2 0.815268 01111
P/P 1.0 0.397466 0.367738 0.25 0.523505 01101
Ca1/Ca2+ 1.0 0.333333 0.666667 1.54946E-3 0.664711 00011
Ca2/Ca2+ 1.0 0.24188 -7.63573E-3 0.25 0.521463 01101
F/F- 1.0 0.0 0.0 0.25 1.37522 00001
} ラベル, 回折強度を計算するためのパラメーター, IDの入力はこれでおしまい. ご苦労さま.
# 複数の相が含まれている場合は, 前の相の構造パラメーターの後ろに尺度因子以降のパラメー
# ターを繰り返し入力する. ただしラベル, とくに各サイトに対するラベルは入力ずみのものと同
# 一にならないよう注意すること.
If NMODE <> 1 then
# 線形制約条件をID = 2のパラメーターに対して入力する. 左辺にID = 2のパラメーター, 右辺にそ
# のパラメーターを他のパラメーター (ID = 1) から計算するための式を書く.「線形」とは右辺に
# 含まれる各パラメーターについて一次であることを意味する. 線形制約条件はPPP, SPP, 構
# 造パラメーターに課すことができる. SPPの場合, 二つ以上の相のSPPを互いに等しいと近似
# するのに使う. 制約条件の記述法についてはマニュアルを参照せよ.
# たとえば異方性原子変位パラメーターβij間に課せられる制約条件の場合,'X'をラベル
# (サイト名)とすれば,次のように記述する:
# 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'を他のラベルと入れ換えなければならない. 各行の
# 末尾の注釈('#' + 整数)は次の文献に記載されている参照番号である:
# 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 14.99
130.01 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), J = 1, NP)
# (3) NRANGE = 3
# この複合バックグラウンド関数はキャピラリーに試料を充填したデバイシェラー光学系のように,バック
# グラウンドの形が複雑なときに役立つ.
If NMODE <> 1 then
NPAT = 0! リートベルト解析パターン(観測強度, 計算強度, 差)のファイルは作成しない.
NPAT = 1! 無効.
NPAT = 2! リートベルト解析パターンをプロットするためのRietPlotファイルを作成.
NPAT = 3! 無効.
NPAT = 4! リートベルト解析パターンをプロットするためのgnuplotテキスト・ファイルを作成.
NPAT = 5: リートベルト解析パターンをプロットするためのIgorテキスト・ファイルを作成.
# NPAT = 4 (すべてのOS) あるいは5 (Mac OSとWindows) を推奨する.
end if
If NMODE <> 1 and NPAT = 5 then
IWIDTH = 800: グラフの横幅.
IHEIGHT = 400: グラフの高さ.
IYMIN = -2500: y軸の最小値 (ゼロだと省略値).
IYMAX = 20000: y軸の最大値 (ゼロだと省略値).
LBG = 0: バックグラウンドをプロットしない.
LBG = 1! バックグラウンドをプロットする.
# 残差曲線の種類
LDEL = 0: 実測強度-計算強度をプロット.
LDEL = 1! (実測強度-計算強度)/標準偏差をプロット.
LDEL = 2! [(実測強度-計算強度)/実測強度]/標準偏差をプロット.*
# * R. A. Young, "The Rietveld Method," p. 24の式(1.13)を参照せよ.
IOFFSETD = -1500: 残差曲線のオフセット.
IPSIZE = 3: 縦棒(ピーク位置)の長さ.
IFSIZE = 12: 軸に付く数値のサイズ.
ILSIZE = 14: 軸に対するラベルのサイズ.
INDREF = 0: XREF, YREFは書き出さない.
INDREF = 1! 個々の反射のプロファイルをXREF, YREFというwaveに書き出す.
IOFFSET1 = -300: 第1相に対する縦棒(ピーク位置)のオフセット.
# 他の相が含まれていたら,上の行と同様にオフセットを入力する.
/ # オフセットを入力する相の数が8未満だったら,最後に'/'を置く.
# *.itxファイルの末尾の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! 反射のリストと計算パターンをプロットするためのgnuplotテキスト・ファイルを作成.
NPAT = 5: 反射のリストと計算パターンをプロットするためのIgorテキスト・ファイルを作成.
# NPAT = 4 (すべてのOS) あるいは5 (Mac OSとWindows) を推奨する.
end if
If NMODE = 1 and NPAT = 5 then
IWIDTH = 800: グラフの横幅.
IHEIGHT = 400: グラフの高さ.
LBG = 0: バックグラウンドをプロットしない (固定).
IPSIZE = 3: 縦棒(ピーク位置)の長さ.
IFSIZE = 12: 軸に付く数値のサイズ.
ILSIZE = 14: 軸に対するラベルのサイズ.
end if
# 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 = 7.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 = 0
end if
If NMODE = 4 and NSFF <> 1 then
INCMULT = 0! |F|**2を積分強度とみなす.
INCMULT = 1! 多重度×|F|**2を積分強度とみなす.
INCMULT = 0
CHGPC = 1.0: Cut-offを最初にCHGPC*PCに設定する.*
# * 格子定数あるいはプロファイル・パラメータ-が精密化される際, PCに戻る.
end if
If NMODE = 4 and NSFF = 1 then
NCONST = 0! 最小二乗サイクルの間, |Fc|を変化させる.
NCONST = 1! 最小二乗サイクルの間, |Fc|を一定値に保つ.*
# * |Fo|は最終精密化パラメーターから計算する.
NCONST = 0
end if
If NMODE <> 1 then
NLESQ = 0! 最小二乗法として修正Marquardt法を使用する.
NLESQ = 1! 最小二乗法としてGauss-Newton法を使用する.
NLESQ = 2! 最小二乗法として共役方向法を使用する.
NLESQ = 0
# ふつうは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 = 10: 精密化の反復回数の最大値.
CONV = 0.0001: 収束判定のために使う小さい正の数.
NCONV = 6: 収束判定のために使うサイクル数.
NC = 0: 幾何学的構造パラメーターに非線形のrestraintを付加せずに精密化する.
NC = 1! 幾何学的構造パラメーターに非線形のrestraintを付加して精密化する.
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 BKBG,9 BKBG,10
SCALE,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: 幾何学的構造パラメーターに非線形のrestraintを付加せずに精密化する.
NC = 1! 幾何学的構造パラメーターに非線形のrestraintを付加して精密化する.
TK = 650.0 : ペナルティー・パラメーター.
end if
If NC = 1 then
# 非線形のrestraintを指定するには, まず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
# 最後に'}' (+ 注釈)を置く
} 非線形のrestraintはこれでおしまい.
end if
NUPDT = 0! このファイル中の可変パラメーター (ID = 1, 2)は更新しない.
NUPDT = 1! 精密化終了後に, このファイル中の可変パラメーター (ID = 1, 2)を更新する.
NUPDT = 0
# NUPDT = 1の場合, データ間にスペースを二つずつ挿入して更新する.
NFR = 0! Fourier・D合成用のファイルfilename.hklは作成しない.
NFR = 1! Fourier・D合成用のファイルfilename.hklを第1相に対し作成.
NFR = 2! Fourier・D合成用のファイルfilename.hklを第2相に対し作成.
NFR = 0
NMEM = 0! MEM解析用のファイルfilename.fosは作成しない.
NMEM = 1! MEM解析用のファイルfilename.fosを第1相に対し作成.
NMEM = 2! MEM解析用のファイルfilename.fosを第2相に対し作成.
NMEM = 0
NDA = 0! ORFEE用のファイルfilename.xyzは作成しない.
NDA = 1! ORFEE用のファイルfilename.xyzを第1相に対し作成.
NDA = 2! ORFEE用のファイルfilename.xyzを第2相に対し作成.
NDA = 1
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
# *.fosファイル中に書かれるタイトル. 70文字以内.
TITLE = 'Fluroapatite'
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: グループ化する反射における面間隔の差の最大値 (Å).
TSCAT1 = 232.01: 総電子数(X線回折)または正の干渉性散乱径の合計(中性子回折).
TSCAT2 = 0.0: ゼロ(X線回折)または負の干渉性散乱径の合計(中性子回折).
end if
If NDA > 0 then
# ORFFE命令を必要なだけ入力し, 最後に'}' (+ 注釈)を置く. よく使うORFFE命令につい
# てはRIETANの英文マニュアルを参照のこと. ORFFE命令は桁固定書式で入力する必要があるた
# め, 入力位置を間違えないように十分注意せよ. NDA > 0とするとfilename.xyzという
# ファイルが出力されるので, これをorffeの入力ファイルとして原子間距離や結合角などを計算
# する. filename.xyz中のORFFE命令のところだけをユーザーが書き換えたり, 追加したりす
# ることもできる.
ORFFE命令スタート {
# オリジナルのORFFE命令と フォーマットが変わっていることに注意せよ.
# 1 2 3 4 5 6 7 8
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
# 201命令, FORMAT(2I5,15X,I5). 原子間距離のリストを出力. 二番目のデータはサイトの数,
# 三番目の整数データは10×最大距離(Å).
# 3.1 Å以下の原子間距離を計算する.
201 7 31
# 2命令, FORMAT(7I5). 結合角を計算. 3組のAと1000*C + S (ORFFEの出力を参照のこと)
# が2命令の後ろに続く.
# O3-P-O1
2 3 0 4 0 1 0
# O3-P-O2
2 3 0 4 0 2 0
} 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
# E-mail: IZUMI.Fujio@nims.go.jp
*Quit
