PHASE-Viewerは、PHASE/0利用を支援するGUIです。 ここでは、WSLのUbuntu 24.04LTS環境におけるPHASE-Viewer利用を説明します。
コマンド操作でPHASE/0を利用できる状態を前提とします。
PHASE-Viewerの動作には、Java実行環境(JRE)が必要です。 以下コマンドで追加インストールします。
sudo apt install default-jre
Ubuntu 24.04LTSでは、Java 21がインストールされます。
$ java --version
openjdk 21.0.3 2024-04-16
OpenJDK Runtime Environment (build 21.0.3+9-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 21.0.3+9-Ubuntu-1ubuntu1, mixed mode, sharing)
(参考)Ubuntu 22.04LTSでは、Java 11がインストールされます。
$ java --version
openjdk 11.0.22 2024-01-16
OpenJDK Runtime Environment (build 11.0.22+7-post-Ubuntu-0ubuntu222.04.1)
OpenJDK 64-Bit Server VM (build 11.0.22+7-post-Ubuntu-0ubuntu222.04.1, mixed mode, sharing)
PHASE/0付属のスクリプト群は、状態密度図やバンド構造図をEPS形式で生成します。 そしてPHASE-Viewerは、EPSをビットマップ画像に変換して表示します。 その変換にGhostscriptの助けを借りるので、これも追加インストールします。 さらに、PHASE-Viwerの配布物がZIP圧縮されていますので、これを伸長するためのunzipコマンドを併せてインストールします。
sudo apt install ghostscript unzip
PHASE-Viewerの本体は、ダウンロードして入手します。
執筆時点での最新版は、PHASE-System 2020
のphase-viewer_2020.zip
です。
ホームディレクトリ直下にて、ZIPファイルを伸長します。
unzip phase-viewer_2020.zip
以上で準備が整いました。 下記コマンドを実行して、PHASE-Viewerを起動します。
java --add-exports java.base/java.lang=ALL-UNNAMED --add-exports java.desktop/sun.awt=ALL-UNNAMED --add-exports java.desktop/sun.java2d=ALL-UNNAMED -jar ~/phase-viewer/bin/phase-viewer.jar
(参考)Ubuntu 22.04LTSなどでJava 11を利用する場合は、--addo-exports ...
オプション群は不要です。
初回起動時のみ、下記ウィンドウが表示されます。
こだわりがなければ、そのままok
を押してください。
base directory
: PHASE-Viewerが管理するデータを配置する大元のディレクトリです。既定値はホームディレクトリ直下のphase-viewer-projects
です。external editor
: テキストエディタを登録します。(後述)ghostscript
: Ghostscriptコマンドを登録します。変更しないでください。原子配置ビューアが動作することは、実用上とても重要です。
真っ先に確認しましょう。
ウィンドウ左側のディレクトリブラウザから、samples
- basic
- Si8
- SCF
を選びます(青丸をダブルクリック)。
input
パネル(橙丸)から、atomic configuration
- atomic coordinates
タブ(緑丸)を選択し、View
ボタン(赤丸)を押すと、原子配置ビューアが起動します。
マウス操作で回転、拡大・縮小などできることをお試しください。
原子配置ビューアが正常に動作しない場合は、MobaXtermからWSLを起動して、MobaXtermのXサーバー利用をお試しください。 改善することがあります。
ここまでできたら、一旦、PHASE-Viewerを終了します。
PHASE-Viewerを正常に利用するためには、追加設定が必要です。
の三つは必須です。 余裕があれば、テキストエディタも設定してください。
ここまで説明通りに実行すると、mpiexec
コマンドにはパスが通っています。
(実行時にコマンド名を与えると、実行ファイルの実体を探す設定ができている、という意味です。)
他方、コンパイル済みPHASE/0ソルバーphase
, ekcal
コマンドや、各種スクリプトにはパスが通っていませんので、ターミナルから下記コマンドを実行してパスを通します。
export PATH=~/phase0_2023.01/bin:$PATH
ログインの(新しいターミナルを起動する)度に実行する必要があります。
毎回実行するのは面倒なので、.bashrc
ファイルに書き込むことを推奨します。
バンド構造図の計算に利用するスクリプトband_kpoint.pl
とband.pl
は、パスから探すのではなく、phase-viwer/bin
ディレクトリに置く必要があります。
コピーします。
cp ~/phase0_2023.01/bin/band_kpoint.pl ~/phase-viewer/bin
cp ~/phase0_2023.01/bin/band.pl ~/phase-viewer/bin
PHASE-Viewerの上部メニューから、Module
- configure host info
を選びます。
表示されるウィンドウで、dir
タブを選択して、bin directory
(赤丸)をPHASE/0コンパイル済みバイナリがあるディレクトリ(~/phase0_2023.01/bin
)に設定してください。
~/.phase-viewer/scripts/jobcontrol
にインストールされるスクリプトファイルの一部は、このままでは利用できません。
ekcal/submit.shとuvsor-epsilon/submit.shを、それぞれリンク先のファイルに置き換えてください。
初回起動時に設定することができるテキストエディタは、後から変更可能です。
PHASE-Viewerの上部メニューから、Preferences
- program paths
を選びます。
表示されるウィンドウで、external editor
にテキストエディタ起動コマンドを入力してください。
新規ウィンドウを開くテキストエディタであれば指定できます。 WSL (Ubuntu)から、Windowsアプリケーションをシームレスに呼び出すことができますので、Windowsのテキストエディタも指定できます。
などがあります。
WSL (Ubuntu)のターミナルからは、下記コマンドで(Windowsの)メモ帳が起動します。
notepad.exe
上記ウィンドウのexternal editor
にnotepad.exe
を指定すると、WSLのPHASE-Viewerから、Windowsのメモ帳が起動します。
VS CodeはWSL (Ubuntu)環境にもインストールできますが、WindowsにインストールしてPHASE-Viewerから呼び出すこともできます。
code
コマンドで、VS Codeが起動します。
PHASE-Viewerのexternal editor
にも、code
を指定します。
(参考)VS Code設定紹介
PHASE-Viewerを利用したPHASE/0計算実習はコチラです。