Mac OSX版では、アイコン操作するCarbon版だけでなく、Terminal版があります。Terminal版のメリットは: 計算速度がCarbonよりずっと早い(〜2.5倍) 解析の繰り返しが楽 Openダイアログがでないのは意外に快適 などですが、なにより更新がCarbon版より早くて確実です。インストールにUnixの知識がほんの少し必要ですが、Finkのインストールなど特別な作業はまったく不要です。ほとんどの作業はFInderで操作しますので、これまでのRIETANを使っていた人ならさほどの障壁にはならないと思います。 ここでは、UnixやTerminalになれていない人むけに、Terminal版のインストール、使い方を、自分の失敗に基づいて説明します。Terminal版を使えるようになるまでに、泉先生から多数のアドバイスを直接いただきました。 なお、たぶん本当はシェルといわなければいけないものをterminalと書いています。また、TerminalでのDirectoryは、Finderでのフォルダと同じものですが、「書類」フォルダが「Documents」Directoryと英語になおっていたりします。 |
インストール1:泉先生のサイトからRIETAN2000m.tbzを落としてくる。 日々進化しているので、かならず最新バージョンを落として使いましょう。 2:.tbzを解凍するとRIETAN2000mというフォルダーができる。(解凍の設定によっては、このフォルダができない場合もあるらしい。)中に以下の二つのフォルダができている。 RIETAN2000 Folder :Carbon版 RIETAN2000X Folder :Terminal版 3:RIETAN2000X Folderを開き、Readme_Darwinをよく読みましょう。基本的にここに書いてあるまんまをやれば動くはずですし、また、Readme_Darwinに書いてあることをちゃんとやらないと走りません。以下はReadme_Darwinの内容の概要を日本語にしたものです。 Terminalの設定1:Terminalを起動し、環境設定を開く。「新規ウィンドウの作成時:」で「このコマンドを実行する(完全なパスを指定)」にマークし、窓に、以下を書き込む /bin/bash 2:環境設定で、「ウィンドウの設定」を好みで設定する。ここの設定は、RIETANの動作には影響を与えない。 フォルダを置くこの作業はFinder上で普通のマックのファイル、フォルダの操作でできます。 1:RIETAN2000X Folder内のRIETAN_ProgramsフォルダをまるごとApplicationsの中にいれる。自分のホームディレクトリー内のApplicationsではなく、システムフォルダと同じレベルにあるApplicationsフォルダです。〜.outが実行形式ファイル、つまり本体です。 2:RIETAN2000X Folder内のExamplesフォルダを、自分のホームディレクトリーの下におく。 自分のホームディレクトリーのフォルダは、Finderで「ユーザ」フォルダの中にある家のアイコンをしたフォルダ(私の場合はohoyamaという名前のフォルダ)です。で、たとえば、自分のホームディレクトリーの中に最初からある「書類」フォルダの中にrietanというフォルダを新しく作って、そこにExamplesフォルダをいれておきます。その場合のアドレスは、(私の場合では)以下のようになってます。自分のホームディレクトリーの下なら(つまりohoyamaの家アイコンの中なら)、別な位置でも問題ありません。 /Users/ohoyama/documents/rietan/Examples 不可視ファイルを2つ作る。1:場所がきまったら、実行ファイルへのpathを定義します。この場合のpathとは、RIETANの実行形式ファイルのあるDirectoryを指定しているパラメーターのことです。「pathを通す」などというようです。pathは.bash_profileというUnixの不可視ファイルで設定されています。名前がピリオドで始まるファイルが不可視ファイルで、MacのFinderからでは存在がみえません。 でも、Terminalで以下のunixコマンドを走らせると、不可視ファイルを含むファイル一覧をみる事ができます。> ls -a 2: たぶん.bash_profileはないので、新たにつくります。このファイルを置く場所は自分のホームディレクトリーで、Terminalを起動したときに最初にいるdirectoryです。Finderでいえば「ユーザ」フォルダ内の家形アイコンのフォルダです。私の場合は:/Users/ohoyama です。 不可視ファイルはmiまたはJeditで作成するといいでしょう。Finderでは不可視ファイルがみえませんが、mi,Jedtiorのオープンダイアログからは不可視ファイルがみえますので、修正に便利です。最新のmiならいきなりみえるはずですが、もしもオープンダイアログからみえない場合はお使いのmiバージョンが古いかもしれません。その場合は、ツールの下の方にある「不可視ファイルを開く」を使うと見えると思います。 ファイルの中身は、Readme_Darwinをまるまるパクるのが確実です。Readme_Darwinの下の緑文字の部分をコピーペーストすしてください。このページはhtml化のため少し変えてあり、動作保証できません。赤いところが重要なところで、行末のピリオドを含めこのまま使います。もしすでに.bash_profileが存在していたら、赤い部分を加えるか、同じように修正する事になります。 Unixなので、改行はLFでないといけません。miやJeditorなら改行を簡単に確認・変更する事ができます。 # .bash_profile # Get aliases and a stack size from .bashrc if [ -f ~/.bashrc ]; then . ~/.bashrc fi umask 022 PATH=$PATH:/usr/local/bin:. ENV=$HOME/.bashrc PS1="\w > " EDITOR=emacs PAGER=less export PATH ENV PS1 EDITOR PAGER export RIETAN='/Applications/RIETAN_Programs' export ORFFE='/Applications/RIETAN_Programs' export lst2cif='/Applications/RIETAN_Programs' # end of .bash_profile 3:もしRIETAN_Programsフォルダを別な位置においたときは、export RIETAN=****などの***を正しいアドレスに書き換える必要があります。たとえば、Applicationsフォルダの中にRIETANというフォルダを作って、その中にRIETAN_Programsをいれたとすると: export RIETAN='/Applications/RIETAN/RIETAN_Programs'など 4:RIETAN実行形式ファイルへの絶対pathの最大長さは256文字なので、かなり深くしても大丈夫なはずです。上の例では36文字。ただし、日本語や空白を含むディレクトリー(フォルダ)名は無効です。まあ、Readme_Darwinどおりにしておくのが確実です。 5:PS1="\w > " は、terminal使用時のプロンプトになるので、適当に好みで変えておいていい。>は不等号を表します。PS1="ohoyama>"とか 6:次に、もうひとつの不可視ファイル.bashrcを作る。 これもmiを使ってReadme_Darwinの下の部分をまるまるコピーペーストすればいい。 alias ls='ls -F' # Avoid stack overflow on the execution of Fortran programs ulimit -s 64000 # end of .bashrc loginし直す作っただけではこの二つのファイルは無効で、RIETANへのpathがとおりません。この2つのファイルでの設定はlogin時に有効になりますので、いったんterminalを抜けて入り直す必要があります。terminalでexitとうつか、terminalウィンドウを閉じるたあと、コマンドNとかで新しいterminalを開けばファイルが有効になります。有効ならプロンプトが変わったはず。 |
サンプルを走らせてみる1:Terminalから、cdコマンドを使ってExamplesフォルダに移動する。 cd Documents/rietan/Examples など。アドレスがよく分からなければ、lsコマンドで下位directryを確認しながら一個一個directoryを下がっていけばいい。 2:Examplesフォルダにきたら、lsコマンドで一覧をだす。中性子用はCu3Fe4P6Eなので、cdでそのフォルダに移動する 3:lsで内容を確認。 4:x*という実行ファイルがあります。これは楽に解析をするためのバッチファイルみたいなものです。これをmiなどのeditorで開いてみます。 x*の中身はたとえば以下のようになっています。赤文字が大事なところで、#はコメントです。: #!/bin/bash # Execute RIETAN-2000 for Mac OS X (Terminal application) export sample=Cu3Fe4P6E # The environment variable RIETAN was defined in ~/.bash_profile. $RIETAN/rietan.out $sample.ins $sample.int $sample.bkg $sample.itx $sample.hkl $sample.xyz $sample.fos $sample.ffe $sample.fba $sample.ffi $sample.ffo $sample.cmt | tee $sample.lst # g: Go to the first line # G: Go to the last line # f or space: Next page # b: Previous page # q: Quit # /string: Search string # n: Repeat previous search # N: Repeat previous search in reverse direction # h: Help # Arrow keys can also be used. #less -M +/Reliability $sample.lst less -MISp Reliability $sample.lst unset sample export sample=Cu3Fe4P6Eで、insファイル、intファイルを指定しています。xファイルとins,intファイルは同じフォルダにないといけません。pathをきちんと指定してやれば別なDirectoryでも大丈夫と思いますが、関係が分かりにくくなるだけなので、同じフォルダの方がいいでしょう。 今はサンプルなので、修正は必要ありません。 いよいよ実行teminalで、ただ以下のようにxをはしらせるだけで、RIETANが走り始めます。x*の*は不要です。\w >x pathがとおっていないと ./x: line 7: /ApplicationsRIETAN/RIETAN_Programs/rietan.out: No such file or dir なんてエラーがでます。.bash_profileでpathを確認しましょう。修正したあとの再loginをわすれずに。 計算が正常に終了すれば、Carbon版と同様、以下のようなメッセージが表示されるはずです。 *** End of job *** CPU time = 59.92 s --- RIETAN-2000 Rev. 2.3.5 Copyright 2000-2005 by F. Izumi --- 計算終了時に自動的にUnixのlessコマンドが実行され、結果ファイルSi_14800.lstの内容を表示してくれています。抜けるにはキーボードでqを押す。 アイコンから一発起動Unixコマンドで起動させるのが嫌いな方のために、アイコンクリックでRietanの起動も可能です。 最新版(17-June-2005版)のExamplesには、x*だけでなく、x.commandというファイルがついています。内容はxと同じです。そのアイコンをクリックしただけで自動でTerminalが立ち上がり、RIETANが走ります。やっている事は、Terminalでx.comman本体の置いてあるDirectoryに移動して、x*を実行したのと同じで、当然、insファイルはx.commandの中で指定しているものが選ばれます。x.commandをDockにドラッグしておけばさらに便利。自分のデータを解析する時は、x*とx.commandをコピーし修正してから、Dockにおけば一発起動可。別なデータを解析する場合は、dockにおいたx.commandファイルを新しいものに交換します。 lessコマンドをqで終了すると、自動的にlogoutします。 |
自分のデータを解析する1:Examplsフォルダと同じ階層に、自分のサンプル用のフォルダを作る。たとえば、そのフォルダの名前をSi_14800としたとするとアドレスは /Users/ohoyama/Documents/rietan/Si_14800 自分のホームディレクトリー(/Users/ohoyama/)の下なら、別な位置でも大丈夫です。 2:Si_14800フォルダーに、Examples中のinsファイルとxファイルをコピーする。 3:intファイルを作って、Si_14800フォルダにおく。(intファイルの作り方)Terminal版で解析するときは、Unix形式でないといけないので、ファイル中の改行をLFにする必要があります。 4:insファイルを自分の解析用に書き直す。Rev1.8以前のinsファイルとは少し異なっているので、Carbon版のときに動いていたファイルではなく、最新のsamplesを元に起こす事をお勧めします。どこを直すかはinsファイルの詳しい説明をご覧下さい。自分で起こした場合は、改行をLFにする事をおわすれなく。 5:特に、NPAHSE@は、Rev1.8以前にはなかった重要なパラメーターなので、正しく定義する事をわすれないようにしましょう。 6:insに日本語でコメントいれた場合、長すぎるとエラーが起きます。特に (注釈の文字列){ というタイプの注釈行の場合,"{"の位置は80桁目以前になければいけないので注意が必要です。 7:editorでxを開いて、export sample=Cu3Fe4P6EのCu3Fe4P6Eを自分のins,intファイル名に修正する。Si_14800.insなら、export sample=Si_14800 8:Termainlで、xリターンで走り出すはず。 \w >x あるいは、x.commandファイルも修正してDockにいれておけば、アイコンをクリックするだけで、Terminalが自動的に立ち上がり、RIETANが走ります。 9:でも、どうせエラーでとまるので、あとはinsをこつこつ直していく。 10:計算が正常に終了すれば、Carbon版と同様、以下のようなメッセージが表示される。 *** End of job *** CPU time = 59.92 s --- RIETAN-2000 Rev. 2.3.5 Copyright 2000-2005 by F. Izumi --- 計算終了時に自動的にUnixのlessコマンドが実行され、結果ファイルSi_14800.lstの内容を表示してくれています。xファイルのなかに使えるコマンドが表示されているので、それを参考にして、計算結果を確認します。lessコマンドを抜けるにはキーボードでqを押す。面倒だったら、miなどのeditorで.lstファイルを開いてチェックすればいいでしょう。 11:計算結果のグラフはigorファイルSi_14800.itxになります。Finderでこれをダブルクリックすれば、Igor Proが立ち上がりグラフが表示されます。itxの改行はLFですが、そのままグラフが表示されます。 12:結果をみて、insファイルを書き直し、xの実行、またはDockのアイコンクリックで解析を繰り返す。 |
エラーエラー RIETANがはしりださず、terminal画面上に以下のメッセージが表示される。 ./x: line 7: /ApplicationsRIETAN/RIETAN_Programs/rietan.out: No such file or dir pathが通っていません。.bach_profileファイルで指定されているpathと、実際にRIETAN_Programsフォルダがおかれている位置を確認しましょう。 エラー いったん走り出すけど、すぐとまってしまい、termainal画面に以下のエラーが表示される。 ? FORTRAN Runtime Error: ? Attempt to read past end of file ? READ(UNIT=4,... insファイルに問題があり、読めなかったというエラー。おそらく、ファイルがUnix形式(LF)になっていない。 エラー 特にエラーメッセージはでないけれど、以下のような情報を表示した後で止まってしまう。 Excluded regions in the diffraction data 0.000- 25.000 40.000- 50.000 150.010-180.000 intファイルがx*ファイルと同じフォルダにない。あっても名前が異なる。あるいは、intファイルがUNIX形式になっていない。 エラー 以下を表示して走らない。 \w > x ? System Error: ? No such file or directory ? OPEN(UNIT=5,... insファイルがx*ファイルと同じフォルダにない。あっても名前がxファイル内の指定と異なっている。 エラー 放射光X線のときに、1相だとうごいたのに2相にしたら、以下を表示してうごかなくなっちゃった。 Wavelength = 0.80190 Angstroms PCOR = 0.0100 CTHM = 1.000000 MUR = 0.514600 ? FORTRAN Runtime Error: ? Illegal character in numeric input ? OPEN(UNIT=4,... たぶん、anomalous dispersion corrections, Delta-f' and Delta-f''.の入力数が、すぐ上で定義している元素の数とあっていない。2相目であらたにはいった元素の分をわすれているかも。 |
Terminal版を使うときに必要になりそうな簡単UNIXコマンドリスト | |
pwd | いまいるDirectory(フォルダ)を表示。パスワードじゃない。 |
ls | いまいるDirectory(フォルダ)の可視ファイルを全部表示。VAXならdirだな。optionがたくさんある。 ls -l、ls -a........ |
cd Documents | 今いるDIrectory(フォルダ)内にあるDocumentsというDirectory(フォルダ)に移動。Documentsという Directory(フォルダ)がなければエラーがかえってくる |
cd .. | 一つ上のDirectory(フォルダ)に移動する。 |
cd | 自分のホームディレクトリー(家形アイコンのフォルダ)にいきなり移動する。 |
cp FILEA FILEB | コピーコマンド。FILEAをFILEBにコピーする。Finderの「複製」(コマンドD)で複製してから名前を変えるのと等価 |
rm FILEA | 消去コマンド。FILEAを消去している。可視ファイルについては、ごみ箱行きと等価。 |
mv FILEA Documents/FILEB | ファイルを移動するコマンド。コピーと違い、もとのファイルはのこらない。 |
less FILEA | FILEAの中身を表示。editorのように上下にスクロールできるので便利。でもUnixファイル以外をみると改行がぐちゃぐちゃになる。 |
cat FILEA | FILEAの中身をただ画面にたれながす。typeコマンドみたいなの。 |
man ls | helpの表示。左の例はコマンドlsのヘルプを表示する。ただし英語。素人にはよんでも分からない事の方が多い。説明が長い場合はスペースバーでスクロールする。読んでて途中であきたら、ただのqで抜けられる。 |
mkdir RIETAN | 新しいDirectoryの作成。今いるDirectoryの下に新たに「RIETAN」というDirectoryを作っている。でもMacのFinderの「新しいフォルダを作る」と等価だから、あまり使わない。 |
exit | logoutする。 |