結晶の回転方法
概要
AkaiKKRでは、結晶構造を回転させるための機能が実装されている。この機能は入力ファイルのbrvtypパラメータにtlt(tilt)キーワードを追加することで利用できる。回転はオイラー角(Z-Y-Z回転)を用いて指定する。
物性計算において結晶回転は以下のような場面で必要となる:
- 磁気異方性の計算
- 円二色性等の計算
- 電気伝導度や熱伝導度の異方性の評価
- 特定の結晶面や方位に関する物性の解析
基本的な使用方法
結晶を回転させるには、以下の手順で入力ファイルを作成する:
- brvtypパラメータにtltを追加する。
- 例:fccの場合はfcctlt
- 例:bccの場合はbcctlt
- オイラー角の指定
- brvtypの後に3つの角度(度単位)を指定する。
- 3つの角度は以下の順序で指定する:
- α:z軸周りの回転角
- β:新しいy軸周りの回転角
- γ:新しいz軸周りの回転角
入力例
# 実行モード
go
# ポテンシャルファイル名
potential.data
# 面心立方格子(FCC)を回転
fcctlt
# α=30度, β=45度, γ=60度のオイラー角
30.0 45.0 60.0
# 格子定数
7.2
# 以下、他のパラメータ
...
オイラー角による回転の順序
オイラー角による回転の順序
基本的な使用方法の節で説明した通りAkaiKKRではオイラー角による回転の順序は(Z-Y-Z)慣習に従う。これはオイラー角の標準的な定義であるが、これ以外に(Z-X-Z)慣習などの定義によるもの(z軸周りのα回転、新x軸の周りのβ回転、新z軸周りのγ回転の順序に従う)等もあるので注意。
応用例
特定の方位に関する物性の解析
特定の結晶方位に関する物性を計算する場合の例(以下は立方晶系の場合):
# [110]方向を z軸に合わせる場合
fcctlt
# α=0度, β=45度, γ=0度
0.0 45.0 0.0
# [111]方向を z軸に合わせる場合
fcctlt
# α=0度, β=54.7度, γ=45度
0.0 54.7 45.0
界面や表面の計算
特定の面をz軸に向ける:
#立方晶の (110)面を水平面に合わせる場合
fcctlt
# α=0度, β=90度, γ=0度
0.0 90.0 0.0
技術的な詳細
内部的には、回転は以下の手順で処理される:
- 指定されたオイラー角(α, β, γ)から回転行列が生成される。
- この回転行列が基本並進ベクトルに適用される。
注意事項
- 回転の順序
- Z-Y-Z回転の順序は固定である。
- 角度の範囲
- α, γ:0度から360度
- β:0度から180度
- 通常のオイラー角の定義域に従う。
- 対称性への影響
- 一般の回転では結晶の対称性は考慮されなくなる。また特定の回転により結晶の対称性がそのまま保たれるか、あるいは一部保たれるものの低下する場合がある。
- 対称性の低下はk点サンプリングの数や計算時間に影響する。