すべてのプロダクト
Search
ドキュメントセンター

Elastic High Performance Computing:LAMMPS を使用して製造シミュレーションを実行する

最終更新日:Jan 11, 2025

このトピックでは、Elastic High Performance Computing (E-HPC) クラスターで LAMMPS を実行して、3d レナードジョーンズ溶融モデルに基づく製造シミュレーションを実行し、シミュレーション結果を視覚化する方法について説明します。

背景情報

Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) は、古典的な分子動力学プログラムです。これは、固体材料 (金属、半導体)、ソフトマター (生体分子、ポリマー)、および粗視化またはメゾスコピックシステムのポテンシャルを備えています。

高性能で柔軟な E-HPC クラスターは、複雑なエンジニアリングと力学の補助分析を提供します。これらの利点を活用して、大量のシミュレーションを実行し、製品の構造とパフォーマンスを最適化できます。製造シミュレーションには、ますます多くのソフトウェアパッケージが使用されています。

準備

  1. E-HPC クラスターを作成します。詳細については、「ウィザードを使用してクラスターを作成する」をご参照ください。

    この例では、次のパラメーター構成が使用されています。

    パラメーター

    説明

    ハードウェア設定

    デプロイモードを標準に設定します。管理ノード 2 つ、計算ノード 1 つ、ログオンノード 1 つを指定します。計算ノードとして 32 個以上の vCPU を持つインスタンスタイプを選択します。たとえば、ecs.c7.8xlarge を選択できます。

    説明

    この例は、計算要件が比較的低いアプリケーション向けに設計されています。アプリケーションの計算要件に基づいて、計算ノードの数を調整します。

    ソフトウェア設定

    CentOS 7.6 パブリックイメージと PBS スケジューラーをデプロイします。VNC をオンにします。

  2. クラスターユーザーを作成します。詳細については、「ユーザーを作成する」をご参照ください。

    ユーザーは、クラスターへのログオン、ソフトウェアのコンパイル、ジョブの送信に使用されます。この例では、次の設定が使用されています。

    • ユーザー名: testuser

    • ユーザーグループ: sudo 権限グループ

  3. ソフトウェアをインストールします。詳細については、「ソフトウェアをインストールする」をご参照ください。

    次のソフトウェアをインストールします。

    • lammps-openmpi V31Mar17

    • openmpi V1.10.7

    • VMD V1.9.3

手順 1: クラスターに接続する

次のいずれかの方法を使用してクラスターに接続します。この例では、ユーザー名として testuser を使用します。クラスターに接続すると、/home/testuser に自動的にログオンします。

  • E-HPC クライアントを使用してクラスターにログオンする

    クラスターのスケジューラーは PBS である必要があります。 E-HPC クライアントをダウンロードしてインストールし、クライアントに必要な環境をデプロイしていることを確認します。詳細については、「E-HPC クライアントの環境をデプロイする」をご参照ください。

    1. E-HPC クライアントを起動してログオンします。

    2. 左側のナビゲーションペインで、[セッション管理] をクリックします。

    3. [セッション管理] ページの右上隅にある [ターミナル] をクリックして、ターミナルウィンドウを開きます。

  • E-HPC コンソールを使用してクラスターにログオンする

    1. E-HPC コンソール にログオンします。

    2. 上部ナビゲーションバーの左上隅で、リージョンを選択します。

    3. 左側のナビゲーションペインで、[クラスター] をクリックします。

    4. [クラスター] ページで、クラスターを見つけて [接続] をクリックします。

    5. [接続] パネルで、ユーザー名とパスワードを入力し、[SSH 経由で接続] をクリックします。

手順 2: ジョブを送信する

  1. 次のコマンドを実行して、lj.in という名前のサンプルファイルを作成します。

    vim lj.in

    サンプルファイル:

    # 3d Lennard-Jones melt
    
    variable        x index 1
    variable        y index 1
    variable        z index 1
    
    variable        xx equal 20*$x
    variable        yy equal 20*$y
    variable        zz equal 20*$z
    
    units           lj
    atom_style      atomic
    
    lattice         fcc 0.8442
    region          box block 0 ${xx} 0 ${yy} 0 ${zz}
    create_box      1 box
    create_atoms    1 box
    mass            1 1.0
    
    velocity        all create 1.44 87287 loop geom
    
    pair_style      lj/cut 2.5
    pair_coeff      1 1 1.0 1.0 2.5
    
    neighbor        0.3 bin
    neigh_modify    delay 0 every 20 check no
    
    fix             1 all nve
    dump 1 all xyz 100 sample.xyz
    run             10000
  2. 次のコマンドを実行して、lammps.pbs という名前のジョブスクリプトファイルを作成します。

    vim lammps.pbs

    サンプルスクリプト:

    説明

    この例では、計算ノードは 32 個の vCPU と 32 個の Message Passing Interface (MPI) プロセスを使用して高性能計算を実行します。使用する計算ノードの実際の仕様に基づいて vCPU の数を構成します。 vCPU の数は 32 より大きい必要があります。

    #!/bin/sh
    #PBS -l select=1:ncpus=32:mpiprocs=32     
    #PBS -j oe
    
    export MODULEPATH=/opt/ehpcmodulefiles/   # module コマンドが依存する環境変数。
    module load lammps-openmpi/31Mar17
    module load openmpi/1.10.7
    
    echo "run at the beginning"  # 開始時に実行
    mpirun lmp -in ./lj.in # lj.in ファイルの実際のパスを使用します。
  3. 次のコマンドを実行してジョブを送信します。

    qsub lammps.pbs

    生成されたジョブ ID が 0.scheduler であることを示す次のコマンド出力が返されます。

    0.scheduler

手順 3: ジョブの結果を表示する

  1. 次のコマンドを実行して、ジョブの結果を表示します。

    cat lammps.pbs.o0
    説明

    ジョブの標準出力パスを指定しない場合、出力ファイルはスケジューラーの動作に基づいて生成されます。デフォルトでは、出力ファイルは /home/<username>/ ディレクトリに保存されます。たとえば、この例の出力は /home/testuser/lammps.pbs.o0 ディレクトリに保存されます。

    次のコードは、想定される戻り値の出力の例を示しています。

    ......
    Per MPI rank memory allocation (min/avg/max) = 3.777 | 3.801 | 3.818 Mbytes
    Step Temp E_pair E_mol TotEng Press 
           0         1.44   -6.7733681            0   -4.6134356   -5.0197073 
       10000   0.69814375   -5.6683212            0   -4.6211383   0.75227555 
    Loop time of 9.81493 on 32 procs for 10000 steps with 32000 atoms
    
    Performance: 440145.641 tau/day, 1018.856 timesteps/s
    97.0% CPU use with 32 MPI tasks x no OpenMP threads
    
    MPI task timing breakdown:
    Section |  min time  |  avg time  |  max time  |%varavg| %total
    ---------------------------------------------------------------
    Pair    | 6.0055     | 6.1975     | 6.3645     |   4.0 | 63.14
    Neigh   | 0.90095    | 0.91322    | 0.92938    |   0.9 |  9.30
    Comm    | 2.1457     | 2.3105     | 2.4945     |   6.9 | 23.54
    Output  | 0.16934    | 0.1998     | 0.23357    |   4.3 |  2.04
    Modify  | 0.1259     | 0.13028    | 0.13602    |   0.8 |  1.33
    Other   |            | 0.06364    |            |       |  0.65
    
    Nlocal:    1000 ave 1022 max 986 min
    Histogram: 5 3 6 3 4 4 2 2 1 2
    Nghost:    2705.62 ave 2733 max 2668 min
    Histogram: 1 1 0 3 7 5 4 5 4 2
    Neighs:    37505 ave 38906 max 36560 min
    Histogram: 7 3 2 4 5 2 3 3 2 1
    
    Total # of neighbors = 1200161
    Ave neighs/atom = 37.505
    Neighbor list builds = 500
    Dangerous builds not checked
    Total wall time: 0:00:10
  2. VNC を使用してジョブの結果を表示します。

    1. VNC を有効にします。

      説明

      VNC に必要なポートが、クラスターが属するセキュリティグループで有効になっていることを確認します。コンソールを使用する場合、システムはポート 12016 を自動的に有効にします。クライアントを使用する場合は、ポートを手動で有効にする必要があります。ポート 12017 では、1 人のユーザーのみが VNC Viewer ウィンドウを開くことができます。複数のユーザーが VNC Viewer ウィンドウを開く必要がある場合は、ポート 12017 から始まる対応する数のポートを有効にする必要があります。

      • クライアントを使用する

        1. 左側のナビゲーションペインで、[セッション管理] をクリックします。

        2. [セッション管理] ページの右上隅にある [VNC] をクリックして、VNC Viewer を開きます。

      • コンソールを使用する

        1. E-HPC コンソール の左側のナビゲーションペインで、[クラスター] をクリックします。

        2. [クラスター] ページで、クラスターを選択します。 [詳細] > [VNC] を選択します。

        3. VNC を使用して視覚化サービスにリモート接続します。詳細については、「VNC を使用して視覚化サービスを管理する」をご参照ください。

    2. クラウドデスクトップの [仮想化サービス] ダイアログボックスで、[アプリケーション] > [システムツール] > [ターミナル] を選択します。

    3. /opt/vmd/1.9.3/vmd を実行して、Visual Molecular Dynamics (VMD) を開きます。

    4. VMD メインページで、[ファイル] > [新しい分子...] を選択します。

    5. [参照...] ボタンをクリックし、sample.xyz ファイルを選択します。

      説明

      sample.xyz ファイルは /home/testuser/sample.xyz ディレクトリに保存されています。

    6. [ロード] をクリックします。 [VMD 1.9.3 Opengl ディスプレイ] ウィンドウでジョブの結果を表示できます。

      lammps-vnd