タグ: OpenForm

  • OpenFOAMの計算がSLURMクラスターでどのように動作するか

    OpenFOAMの計算がSLURMクラスターでどのように動作するか


    1. ユーザー操作:
      • ユーザーはSSHを使用してクラスターにログイン
      • OpenFOAMのケースディレクトリとSLURMジョブスクリプトを準備
      • sbatchsrunコマンドでジョブを投入
    2. SLURM管理:
      • SLURMコントローラーがジョブを受け付け
      • ジョブスケジューラーが優先順位と利用可能なリソースを評価
      • 要求されたリソースに基づいて適切な計算ノードを割り当て
    3. 計算プロセス:
      • ノードが割り当てられると、OpenFOAM計算が開始
      • decomposeParで自動的にケースが分割される
      • 各計算ノードが領域の一部を担当
      • MPI(Message Passing Interface)でノード間通信
    4. OpenFOAMワークフロー:
      • decomposePar:領域を並列部分に分割
      • 並列ソルバーが複数ノードで同時実行
      • reconstructPar:結果を単一のソリューションに統合
    5. ストレージシステム:
      • 共有ストレージから入力ファイルを読み込み
      • 結果を共有ストレージに書き込み
      • すべてのノードが同じファイルシステムにアクセス可能

    #!/bin/bash
    #SBATCH --job-name=openfoam_calc
    #SBATCH --nodes=4
    #SBATCH --ntasks-per-node=32
    #SBATCH --time=24:00:00
    #SBATCH --partition=compute
    
    # OpenFOAMモジュールの読み込み
    module load openfoam
    
    # ケースの分割
    decomposePar
    
    # 並列でソルバーを実行
    mpirun simpleFoam -parallel
    
    # 結果の再構築
    reconstructPar