計算の準備

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

以下では$で始まる行は基本的にコマンドラインを意味し、コマンドを実行する際に"$"は不要です。

プログラムの入手

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

~ikutaro/STATE/archives/state-5.6.14.tgz

擬ポテンシャル:

~ikutaro/STATE/archives/gncpp.tgz

を自身のディレクトリ(~/STATE/src、~/STATE/gncpp)にコピー、展開、あるいはシンボリックリンクを生成します(後述)。

ログイン

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

モジュールの準備

プログラムのコンパイルのために以下のモジュールを読み込みます。

  • 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等に上記のコマンドを追加します。

  • 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
    一度ログアウトして再度ログインんするか、以下を実行します。
    $ source ~/.bashrc

作業ディレクトリの作成

このチュートリアルではソースコード、擬ポテンシャル、データはそれぞれ以下のディレクトリに置くものとします。

${HOME}/STATE/src
${HOME}/STATE/gncpp
${HOME}/STATE/outs

ここで${HOME}はホームディレクトリ(ログインした最初のディレクトリ)を意味します。 ホームディレクトリでSTATEのディレクトリを作成し、ディレクトリを移動します。

$ mkdir STATE
$ cd STATE

ここで``$``はコマンドプロンプトを示します。 次に擬ポテンシャル用のディレクトリを用意します。 ここでは講師(筆者)のものを利用します。以下のコマンドを実行します。

$ ln -s ~ikutaro/STATE/gncpp

次にソース用ディレクトリを作成し、そこに移動します。

$ mkdir src
$ cd src

コンパイル

以下では5.6.14 (state-5.6.14.tgz)を使用するものとします。
先ず講師(筆者)のディレクトリにあるソースコードをソースディレクトリ (STATE/src)にコピーします。

$ cp ~ikutaro/STATE/src/state-5.6.14.tgz .

次にソースコードをtarコマンドを使って解凍します。

$ tar zxf state-5.6.14.tgz

これによりstate-5.6.14/というディレクトリが得られます。
以下を実行しディレクトリを移動

$ cd state-5.6.14/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にインストール(シンボリックリンク)されます。

環境設定

解析の際のコマンド入力を簡単にするためにコマンドサーチパスを追加するのが良いでしょう。ここではホームディレクトリにある.bashrcに以下を追加します。

export PATH=${PATH}:${HOME}/STATE/src/state-5.6.14/util/bin

現在のXCrySDenのパスが正しくないので以下のaliasも.bashrcに追加しましょう。

alias xcrysden='/usr/local/xcrysden-1.5.53/xcrysden'

変更を反映させるために以下を実行します。

$ source ~/.bashrc

(一度ログアウトし再ログインしても環境変数の変化を反映させることは可能です)

計算例のダウンロード

STATEディレクトリ(~/STATE)で以下を実行します。

$ git clone -b sb100 https://github.com/ikuhamada/state-examples.git examples

sb100でこのコマンドがうまく実行できない場合、以下の手順でGitHub上のexamplesのダウンロード(クローン)を行って下さい。

  • smithへログインしNFSマウントされたsb100のファイルシステムに移動
    $ cd /homesb/[username]/STATE
    ここで[username]は自分のユーザー名を指します。
  • 以下のgitコマンドを実行します。
    $ git clone -b sb100 https://github.com/ikuhamada/state-examples.git examples
  • smithからログアウトしsb100にログインし直します。
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS