EMSES-tutorials

初回チュートリアル(EMSES 起動まで)

以下の手順に従って、京大スパコン camphor 上で EMSES を実行できる状態にしてください。


1. 開発環境の準備

目的: VSCode からリモートでスパコンに接続できるようにする。


2. 環境設定と EMSES の導入

目的: データ領域を確保し、依存環境と EMSES をインストール。

# データ領域の確保
mkdir /LARGE0/gr20001/$USER
ln -s /LARGE0/gr20001/$USER ~/large0

# .bashrc に環境変数を追記
grep -qxF 'module load intel-python' ~/.bashrc || echo 'module load intel-python' >> ~/.bashrc
grep -qxF 'export PATH="$PATH:$HOME/.local/bin"' ~/.bashrc || echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

exec $SHELL -l

# EMSES (MPIEMSES3D) の導入
mkdir ~/large0/Github
cd ~/large0/Github
git clone https://github.com/CS12-Laboratory/MPIEMSES3D.git
cd MPIEMSES3D
make

# チュートリアルリポジトリの導入
cd ~/large0/Github
git clone https://github.com/CS12-Laboratory/EMSES-tutorials.git
cd EMSES-tutorials
pip install -r requirements.txt

# VSCode で開く
code --reuse-window ~/large0/Github/EMSES-tutorials

3. 実行準備

目的: 実行ファイルを配置してジョブを投げられる状態にする。

cp ~/large0/Github/MPIEMSES3D/bin/mpiemses3D dshield0/
cp ~/large0/Github/MPIEMSES3D/bin/mpiemses3D dshield1/
cp ~/large0/Github/MPIEMSES3D/bin/mpiemses3D dshield2/
cd ~/large0/Github/EMSES-tutorials/dshield0
mysbatch job.sh

mysbatch: plasma.inp の nodes(:) を読み取り、job.sh にプロセス数を設定して sbatch を実行するカスタムコマンド(camptools)。


4. ジョブの確認と管理


5. ジョブ終了の確認


6. 可視化

方法 1: .mypython/plot.py により PNG/GIF を生成 例: phisp_2d_xy.png plot

方法 2: Jupyter Notebook (dshield0/plot_example.ipynb)

  1. Python interpreter 設定

    • venv 利用例:

      cd ~/large0
      /usr/bin/python3.11 -m venv .venv
      # 再インストール
      ~/large0/.venv/bin/python -m pip install -r ~/large0/Github/EMSES-tutorials/requirements.txt
      ~/large0/.venv/bin/python -m pip install -U emout
      

      VSCode で ~/large0/.venv/bin/python を選択

    • もしくは camphor の Intel-Python を指定 /opt/system/app/intelpython/2024.2.0/bin/python

    select-interpreter

  2. 参考資料


7. シミュレーション拡張


8. 結果の事前予想

Q1. ds0 の電位分布は? Q2. ds1 での違いは? Q3. ds1 で電子・イオンは? Q4. ds2 での違いは? Q5. 温度変化の影響は?


9. 練習課題


10. 学習の進め方


参考資料