MateriApps
物質科学シミュレーションのポータルサイト

現在アプリ掲載数328件

お問合せ / アプリ掲載依頼
    • JP
    • EN
  • MateriApps について
  • レビュー募集
もっと詳しく探す
  • NEWS / 講習会・イベント
  • アプリ一覧
  • アプリ詳細検索
  • キーワード解説
  • レビュー
  • 事例
  • アプリコンシェルジュ
  • インストールしないでアプリを
    試せる「MateriApps LIVE!」

    詳細はこちら
  • MateriApps について
  • レビュー募集
  • プライバシーポリシー
  • お問合せ / アプリ掲載依頼
  • アプリ一覧
  • OpenMX

OpenMX

  • 公開度:3 ★★★
  • ドキュメント充実度:3 ★★★

原子局在基底と擬ポテンシャルを用いた第一原理計算プログラム。結晶・界面・溶液などの広範な物理系に対して、局在基底を利用した高速の電子状態計算を行う。大規模系に対して分子動力学計算や構造最適化を速やかに実行でき、ハイブリッド並列も実装する。ノンコリニア磁性や非平衡グリーン関数法による電気伝導計算にも対応。

OpenMXのohtaka(物性研スパコン)での使用例
Last Update:2021/12/09
あなたはすでに投票済みです!

概要

OpenMXはフリーで使える第一原理電子状態計算コードです。日本語ドキュメントが充実しており、物性研スパコン(ohtaka)にもプリインストールされています。局在基底を用いており、O(N)法を用いた大規模計算や表面構造の計算に適しています。

本レビューでは、計算対象の構造が書かれたcifファイルからOpenMX(ver. 3.9)のインプットファイルを作成し、物性研スパコン(ohtaka)上でOpenMXを実行する方法を紹介します。

構造ファイル(cifファイル)からOpenMXのinputファイルの作成

今回はまず、「Quantum ESPRESSOと物質データベースを利用した電子状態計算」のレビュー記事と同様にして「Materias Project」からWSe2の構造ファイルWSe2_mp-1023936_primitive.cifをダウンロードしてきます。

次に、OpenMX ViewerのwebsiteにWSe2_mp-1023936_primitive.cifをドラッグ&ドロップすると構造を確認することができます。

「save」から「OMX(xyz)」を選択し、xyz座標で書かれたOpenMXのinputファイルの形式で保存することができます。(「OMX(frac)」はfractional coordinateで書かれたinputファイルを保存することができます。)保存されたinputファイルの名前はabc.datとなっているため、適宜名前を変更してください。今回はwse2.datと変更しておきます。保存されたinputファイルには、基底関数・擬ポテンシャル・k点の数・エネルギーカットオフの選択が自動的に行われ、記載されています。

例えば、基底関数の選択はOpenMXのwebsiteの記述に従い、最適に選ばれています。

wse2.dat

#
# This was generated by OpenMX Viewer

System.CurrrentDirectory ./
System.Name abc
level.of.stdout 1
level.of.fileout 1

Species.Number 2
<Definition.of.Atomic.Species
Se Se7.0-s3p2d2 Se_PBE19
W W7.0-s3p2d2f1 W_PBE19
Definition.of.Atomic.Species>

Atoms.Number 3
Atoms.SpeciesAndCoordinates.Unit Ang
<Atoms.SpeciesAndCoordinates
1 W 0.0000000 0.0000000 0.0000000 6.0 6.0
2 Se -0.0000000 1.9200433 1.6804268 3.0 3.0
3 Se -0.0000000 1.9200433 15.8466582 3.0 3.0
Atoms.SpeciesAndCoordinates>

Atoms.UnitVectors.Unit Ang
<Atoms.UnitVectors
3.3256124 0.0000000 0.0000000
-1.6628062 2.8800649 0.0000000
0.0000000 0.0000000 17.5270850
Atoms.UnitVectors>

scf.XcType GGA-PBE
scf.SpinPolarization off
scf.ElectronicTemperature 300.0
scf.energycutoff 220.0
scf.maxIter 100
scf.EigenvalueSolver band
scf.Kgrid 6 6 1
scf.Mixing.Type rmm-diisk
scf.Init.Mixing.Weight 0.05
scf.Min.Mixing.Weight 0.01
scf.Max.Mixing.Weight 0.30
scf.Mixing.History 25
scf.Mixing.StartPulay 15
scf.criterion 1.0e-7

MD.Type nomd
MD.maxIter 1
MD.TimeStep 1.0
MD.Opt.criterion 0.0003

必要であれば適宜パラメータを調節してください。また、上記のinputファイルには、擬ポテンシャルと基底関数が保存されているディレクトリの指定がされていないため、下記を追加します。

物性研スパコンohtakaの場合の擬ポテンシャルと基底のpathを指定する場合:

data.path /home/issp/materiapps/intel/openmx/openmx-3.9.2-1/DFT_DATA19/

出力ファイルの名前もabcからwse2に変更しておきます。

System.Name wse2

これでインプットファイルwse2.datの準備ができました。

物性研スパコン(ohtaka)上でOpenMXを実行

次に物性研スパコン(ohtaka)でOpenMXを実行するためのジョブスクリプトを作成します。今回の例では1node, 32mpi並列, 4スレッド並列(openmp)のハイブリッド並列計算を行います。

openmx.sh

#!/bin/sh

#SBATCH -p i8cpu
#SBATCH -N 1
#SBATCH -n 32
#SBATCH -c 4
#SBATCH -t 00:10:00

set -e
source /home/issp/materiapps/intel/openmx/openmxvars.sh
module list
export OMP_NUM_THREADS=4

srun openmx wse2.dat -nt ${OMP_NUM_THREADS} > wse2.std

OpenMXは、thread並列を4~8にして、残りをMPIで並列計算すると多くの系で最も効率のよい計算を行うことができます。

openmx.shとwse2.datを同じディレクトリに置き、次のコマンドでジョブを投入することで計算が実行されます。

$ sbatch openmx.sh

正常に計算が終了するとwse.outというファイルが生成され、計算結果を確認することができます。

04 / 06

  • 01基本情報
  • 02事例・論文
  • 03講習会
  • 04レビュー
  • 05開発者の声
  • 06このアプリ情報に
    ついてのお問い合わせ
TOP

MateriApps
物質科学シミュレーションのポータルサイト

  • NEWS / 講習会・イベント
  • アプリ一覧
  • アプリ詳細検索
  • キーワード解説
  • 事例
  • アプリコンシェルジュ
  • プライバシーポリシー
お問合せ / アプリ掲載依頼
  • 東京大学 物性研究所 The Institute for Solid State Physics
  • 東京大学 The University of Tokyo
  • CDMSI
  • CCMS

© MateriApps, 2013-2025. All rights reserved.