* 計算の準備 [#d75dd585]
ここではプログラムとポテンシャルの入手、プログラムのコンパイル、および環境のセットアップの方法を簡潔に記述します。
#Contents

** プログラムの入手 [#ue73b55b]
STATEはまだ一般公開されていません。CMDワークショップに参加あるいは開発者に直接連絡を取って最新版(>=5.6.6)のソースコードと擬ポテンシャルを入手して下さい。

**ログイン [#qf49d496]
計算を始めるためにPCクラスター(smithあるいはsb100)にログインします([[クラスターシステムの使用方法>計算機システムの使い方/Smith]]を参照)。

**モジュールの準備 [#p64567e2]

プログラムのコンパイルのために以下のモジュールを読み込みます。
- smithの場合
 module load intel/2020.2.254
 module load intelmpi/2020.2.254
- sb100の場合
 module load intel/2021.2.0
 module load intelmpi/2021.2.0
ログインする度にモジュールをロードするのは面倒ですので、~/.bashrc等に上記のコマンドを追加し、以下を実行します。
 $ source ~/.bashrc

** 作業ディレクトリの作成 [#j43438c6]

このチュートリアルではソースコード、擬ポテンシャル、データはそれぞれ以下のディレクトリに置くものとします。
 ${HOME}/STATE/src
 ${HOME}/STATE/gncpp
 ${HOME}/STATE/outs
ここで${HOME}はホームディレクトリ(ログインした最初のディレクトリ)を意味します。
ホームディレクトリでSTATEのディレクトリを作成し、ディレクトリを移動します。
 $ mkdir STATE
 $ cd STATE
ここで``$``はコマンドプロンプトを示します。
次に擬ポテンシャル用のディレクトリを用意します。
ここでは講師(筆者)のものを利用します。以下のコマンドを実行します。
 $ ln -s ~ikutaro/STATE/gncpp
次にソース用ディレクトリを作成し、そこに移動します。
 $ mkdir src
 $ cd src
** コンパイル [#id5f7e8d]
以下では5.6.9 (state-5.6.9.tgz)を使用するものとします。~
先ず講師(筆者)のディレクトリにあるソースコードをソースディレクトリ (STATE/src)にコピーします。
 $ cp ~ikutaro/STATE/src/state-5.6.9.tgz .
次にソースコードをtarコマンドを使って解凍します。
 $ tar zxf state-5.6.9.tgz
これによりstate-5.6.9/というディレクトリが得られます。~
以下を実行しディレクトリを移動
 $ cd state-5.6.9/src
そしてMakefileの準備を行います。具体的には../arch/ディレクトリにある適当なmake.arch.*ファイルをコピーするかシンボリックリンクを作ります。ここではシンボリックリンクを作ることにします。
smithの場合
 $ ln -s ../arch/make.arch.intel_smith make.arch
sb100の場合
 $ ln -s ../arch/make.arch.intel_sb100 make.arch
となるでしょう。make.archを必要に応じて編集した後にmakeを実行しコンパイルを実行します。
 $ make
これによりsrc/ディレクトリにSTATEコマンドが生成されます。~
さらにユーティリティコマンドをコンパイルするためにutil/ディレクトリに移動します。
 $ cd ../util
 "make.inc"を環境に応じて編集しmakeを実行します。
 $ make
コンパイルされたプログラムはutil/binにインストール(シンボリックリンク)されます。

** 環境設定 [#w0f5d6e7]
解析の際のコマンド入力を簡単にするためにコマンドサーチパスを追加するのが良いでしょう。ここではホームディレクトリにある.bashrcに以下を追加します。
 PATH=${PATH}:${HOME}/STATE/src/state-5.6.9/util/bin
現在のXCrySDenのパスが正しくないので以下のaliasも.bashrcに追加しましょう。
 alias xcrysden='/usr/local/xcrysden-1.5.53/xcrysden'
変更を反映させるために以下を実行します。
 > source ~/.bashrc
(一度ログアウトし再ログインしても環境変数の変化を反映させることは可能です)

** 計算例のダウンロード [#qa9480fe]
STATEディレクトリ(~/STATE)で以下を実行します。
 $ git clone https://github.com/ikuhamada/state-examples.git examples
ただしsb100ではこのコマンドがうまく実行できません。
以下の手順でexamplesのダウンロードを行って下さい。
- smithへログインしNFSマウントされたsb100のファイルシステムに移動
 $ cd /homesb/[username]/STATE
ここで[username]は自分のユーザー名を指します。
- 以下のgitコマンドを実行します。
 $ git clone https://github.com/ikuhamada/state-examples.git examples
- smithからログアウトしsb100にログインし直します。
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS