3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スラブモデルの作り方

Last updated at Posted at 2021-09-07

はじめに

結晶表面のシミュレーションを行う際、表面を模したクラスター、あるいは周期スラブ(薄膜)を用いるのが一般的です。特に金属表面を取り扱う際には金属的性質を模しやすいことから周期スラブを用いることが一般的になっています。有料のソフトを探し出すとキリがありませんが()、ここではスラブモデルの構造と第一原理計算に必要な入力ファイルの作成方法を幾つか簡単に紹介します。

マニュアル作成

古典的な方法(1)

格子定数を決定した後、表面ユニットセルとスラブ厚から原子座標を手で計算します。初歩的な結晶学の知識が必要になりますが、勉強にはなります。Ashcroft & Merminなどを読めば良いでしょう。求めた格子ベクトル(周期系DFTコードの場合)と座標を入力ファイルに自分で書き込みます。単位に注意しましょう。

古典的な方法(2)

自分で求めた座標を元にプログラムを書いてプログラムのフォーマットに合わせてスラブの格子ベクトルと座標を生成する。

プログラムの利用

例えば以下に示すプログラムを利用してスラブの座標を得ることができます。

VESTA

以下のチュートリアルが参考になります。

Burai

BuraiはQuantum-ESPRESSOのためのGUIで、無償で利用が可能です。スラブモデルだけではなくスーパーセルの作成機能もあります。

macOS Sonoma(Apple M3)で最新のJavaを利用すると起動すらしませんでした。

CatKit Slab Generator

CatKit Slab Generator
SUNCATで開発されているウェブインターフェース。原子であれば吸着系の構造も作成してくれるようです。

ASE

Atomic simulation environment (ASE)を利用してスラブモデルを作成することが可能です。Bulding things/Surfacesを参考にすると良いでしょう。

MateriAppsページにあるASEを用いた表面構造の作成も参考になります。

pymatgen

Materials Project WorkshopWorking with Surfaces and Interfacesが参考になります。

Winmostar

WinmostarはWindows上で動作する有料のソフトウェアです。リーズナブルな価格で高機能です。私はメインでMacを使っているのであまり詳しくはないですが。

slabgen

私が書いたスラブモデル作成用fortranプログラム。単純な構造の単原子固体の表面に対応。必要に応じて計算できる表面を追加中。プログラムはgitlabより以下のコマンドを実行することによりダウンロード可能です。

git clone https://gitlab.com/ikutaro/slabgen.git

プログラムをビルドするためにはソースディレクトリに移動

cd slabgen/src

makefileのコンパイラを編集します。以下はgfortranの例です。

FC=gfortran
FFLAGS=-O2
LD=gfortran
LDFLAGS=

その後makeを実行します。

make

slagenコマンド群へのコマンドサーチパスを設定した後にslabgen/example以下のREADME.mdを読んでプログラムを使ってみましょう。使い方はリンクも参照して下さい。計算可能な表面はslabgen/README.mdを参照して下さい。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?