スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

AkaiKKRでコバルトの結晶磁気異方性

AkaiKKRでは、結晶格子の指定に基本ベクトルを利用することができます。このようにしておくと、結晶格子を簡単に回転させたり歪ませたりする事ができます。
今回は、結晶を回転させる例として六方最密充填構造(hcp)のコバルトの結晶磁気異方性を調べます。AkaiKKRでは、スピン軌道相互作用を含む相対論計算(srals)を行うと、磁化の向きをz軸方向にとるようです。そこで結晶(と同時に磁化の向き)を回転させたときに全エネルギーがどのように変化するかから磁化容易軸を探しました。


SRALS.png
Fig.1: 全エネルギーとx軸周りの回転角度の関係。θ=0度でc軸とz軸が平行となり、θ=90度で直行する。


結果は、磁化の向きがc軸方向と平衡になったときに全エネルギーが最小となりました。この事はコバルトの磁化容易軸がc軸であるという実験事実と調和的となりました。この方法が結晶磁気異方性を調べるために妥当な方法なのかは良く分かりませんが、少なくとも結晶を回転させることはできました。


結晶の基本ベクトルと回転


AkaiKKR(machikaneyama)では結晶構造の指定にブラベ格子と基本構造の組み合わせを利用します。ブラベ格子の指定方法には、キーワードを使う方法(AkaiKKRのブラベ格子)と基本ベクトルを直接指定する方法(AkaiKKRの基本並進ベクトル その1その2)があります。

基本ベクトルは、その名前のとおりベクトルです。AkaiKKRは基本ベクトルの成分を直交座標系で表現します。
AkaiKKRの基本並進ベクトル その2では、六方最密充填構造(hcp)コバルトを、直交座標系におけるz軸を中心に反時計回りに30度回転させた場合のファイルを作成しました。

より一般的に、ベクトルは回転行列をかけることによって任意の角度に回転させることができます。
例えばベクトルa0=(ax0, ay0, az0)をx軸の周りにθだけ回転させるときの回転行列は以下のようになります。

matrix001.png

これを縦ベクトルで成分表示したa0ベクトルにかけると

\begin{equation*}\begin{pmatrix}a_x \\a_y \\a_z\end{pmatrix}=\begin{pmatrix}1 & 0 & 0 \\0 & \cos\theta & -\sin\theta \\0  \sin\theta & \cos\theta\end{pmatrix}\begin{pmatrix}a_{x0} \\a_{y0} \\a_{z0}\end{pmatrix}\end{equation*}

同様にb0ベクトルc0ベクトルも回転させると、各成分は以下のようになります。

ax = ax0
ay = ay0cosθ - az0sinθ
az = ay0sinθ + az0cosθ

bx = bx0
by = by0cosθ - bz0sinθ
bz = by0sinθ + bz0cosθ

cx = cx0
cy = cy0cosθ - cz0sinθ
cz = cy0sinθ + cz0cosθ

コバルトの結晶磁気異方性


強磁性体の自発磁化の方向は、結晶の特定の方向に向きやすい性質があります。磁化が向きやすい方向を磁化容易軸、向きにくい方向を磁化困難軸とよびます。hcp構造の強磁性金属であるコバルトは、結晶のc軸方向に磁化容易軸を持っていることが知られています。

AkaiKKRでは相対論の効果を取り入れるのに、スピン軌道相互作用を含まないスカラー相対論計算(sra)とスピン軌道相互作用まで含むフルの相対論(srals)の両方が可能です(AkaiKKRで鉛の相対論計算)。結晶磁気異方性の主たる起源としてはスピン軌道相互作用が挙げられるということですが(磁気異方性(Wikipedia))、AkaiKKRでスピン軌道相互作用の計算をすると、スピン量子化軸は、直交座標系のz軸方向にとられるようです。

そこでスピン軌道相互作用を含む相対論の計算を、hcpコバルトのc軸の方向を変えながら行うことで、全エネルギー最小の条件から磁化容易軸の方向が決まるのではないかと考えました。(ただしこの考え方が正しいのかは良く分かりません。)

計算手法


基本ベクトルをx軸の周りに0度から90度まで10度ごとに回転させた入力ファイルをスカラー相対論(sra)とスピン軌道相互作用まで含めた相対論(srals)の両方で計算しました。

以下に示すのが、入力ファイルのテンプレートです。

c----------------------Co------------------------------------
go data/rotCo_SRALS_DEGREE
c------------------------------------------------------------
c brvtyp
aux
AX AY AZ
BX BY BZ
CX CY CZ
4.74
c------------------------------------------------------------
c edelt ewidth reltyp sdftyp magtyp record
0.001 1.4 srals gga91 mag 2nd
c------------------------------------------------------------
c outtyp bzqlty maxitr pmix
update 8 200 0.023
c------------------------------------------------------------
c ntyp
1
c------------------------------------------------------------
c type ncmp rmt field mxl anclr conc
Co 1 1 0.0 2
27 100
c------------------------------------------------------------
c natm
2
c------------------------------------------------------------
c atmicx atmtyp
0a 0b 0c Co
1/3a 2/3b 1/2c Co
c------------------------------------------------------------


上記入力ファイルのテンプレートから、c軸の向きを変化させた入力ファイルを作成しセルフコンシステント計算を実行するシェルスクリプトがrotation_sh.txtです。

結果と議論


予想通りスカラー相対論の計算に関しては、回転をさせても全エネルギーに変化は見られませんでした。一方でスピン軌道相互作用を考慮に入れたフル相対論の結果は冒頭のFig.1に示したような角度依存性が見られました。θ=0度で全エネルギーが最小となり、これは結晶のc軸と直交座標系のz軸が平行になるときに対応します。すなわち、c軸方向に磁化の向きをとったという意味です。逆にθ=90度のときに全エネルギーが最大になり、これは磁化の向きがab面方向にあるときです。
実験的に知られている磁化容易軸はc軸方向なので、計算結果は実験事実と調和的であるといえます。

ただし、今回はコバルトだけに触れますが、体心立方構造(bcc)の鉄や面心立法構造(fcc)のニッケルについて同様の計算を行うと、結果は微妙な感じです。なので、この方法が結晶磁気異方性を調べるために妥当な方法なのかは確信が持てません。

関連エントリ




参考URL




付録


このエントリで使用したLTspiceのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。
スポンサーサイト

tag: AkaiKKR machikaneyama KKR 強磁性 コバルト 結晶磁気異方性 基本並進ベクトル 相対論 スピン軌道相互作用 六方最密充填構造 

VESTAでAkaiKKRのための基本並進ベクトル

個人的にはAkaiKKRで複雑な結晶構造を持った結晶の第一原理計算を行う事はあまりないのですが、複雑な結晶構造の入力ファイルを簡単に作成できれば便利だとは思います。
今回は、結晶構造を指定するのに非常に良く使われるcifファイルからVESTAを利用して出力することの出来るVASP用の入力ファイルを流用することを考えます。


AkaiKKRのための基本並進ベクトル


結晶構造は、格子(lattice)と基本構造(basis)の組み合わせによって表現されます(参考:結晶学 Crystruct.info)。
AkaiKKR(machikaneyama)でも格子と基本構造の組み合わせによって結晶構造を指定します。格子を指定する方法は、ブラべ格子の種類をキーワードで指定する方法(AkaiKKRのブラベ格子)と基本並進ベクトルで指定する方法(AkaiKKRの基本並進ベクトル その1その2)があります。

いずれにせよ、結晶構造を指定するのために必要十分な情報があれば、それを格子と基本構造へと変換するのは簡単なはずです。
今回は、結晶構造を指定するのに非常に良く使われるcifファイルからVESTAを利用して出力することの出来るVASP用の入力ファイルを流用することを考えます。

六方最密充填構造コバルト(hcp-Co)の基本並進ベクトルと基本構造


まず目標の結晶のcifファイルを入手します。
入手先の候補はいろいろ考えられますが、今回は六方最密充填構造のコバルトのcifファイルGitHubの該当ページからダウンロードします。

次に、結晶構造描画ソフトであるVESTAでcifファイルを開きます。
VESTAでLaMnO3ペロフスカイトなどで結晶構造の描画の方法について説明していますが、今回は結晶構造を眺めるのが目的ではないので、次に進みます。

cifファイルを開いた状態で[File]→[Export Data...]と選択するとファイル保存のダイアログが立ち上がります。
ここでファイルの種類としてVASP (POSCAR;*.vasp)を選択し、保存をクリックします。
するとOptionウインドウが立ち上がり、座標系の選び方を聞いてくるので、今回はFractional coordinatesを選択します。(もちろんCartesian coordinatesを選べば直交座標系になります。なおNiggli reduced cellはよくわからないので今回はパスします。)

保存されたファイルをテキストエディタで開くと、以下のようになっているはずです。
見ての通り、前半が基本並進ベクトルで、後半が基本構造です。

Co
1.0
2.5071001053 0.0000000000 0.0000000000
-1.2535500526 2.1712123810 0.0000000000
0.0000000000 0.0000000000 4.0686001778
Co
2
Direct
0.333333343 0.666666687 0.250000000
0.666666627 0.333333313 0.750000000


ただし、基本並進ベクトルの単位はオングストロームとなっているので、基本並進ベクトルaの大きさで規格化したのち、基本並進ベクトルaの大きさ自体も原子単位系のBohrへと換算します。(c.f. 1 Bohr = 0.52917721092 Å)

c----------------------Co------------------------------------
go data/coAUX
c------------------------------------------------------------
c brvtyp a c/a b/a alpha beta gamma
aux
1.00000 0.00000 0.00000
-0.50000 0.86603 0.00000
0.00000 0.00000 1.62283
4.738
c------------------------------------------------------------
c edelt ewidth reltyp sdftyp magtyp record
0.001 1.0 nrl mjw mag 2nd
c------------------------------------------------------------
c outtyp bzqlty maxitr pmix
update 4 50 0.023
c------------------------------------------------------------
c ntyp
1
c------------------------------------------------------------
c type ncmp rmt field mxl anclr conc
Co 1 1 0.0 2
27 100
c------------------------------------------------------------
c natm
2
c------------------------------------------------------------
c atmicx atmtyp
0.333333343a 0.666666687b 0.250000000c Co
0.666666627a 0.333333313b 0.750000000c Co
c------------------------------------------------------------


その結果得られた入力ファイルが上記になります。
基本構造の下位の桁が少し怪しいことになっていますが、その点に目をつぶれば、正しく結晶構造を指定できています。

関連エントリ




参考URL




参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: AkaiKKR machikaneyama VESTA ブラべ格子 基本並進ベクトル 六方最密充填構造 コバルト 

AkaiKKRの基本並進ベクトル その2

AkaiKKRの基本並進ベクトル その1の続きとして、六方最密充填構造(hcp)のコバルトの入力ファイルを基本並進ベクトルを用いて作成しました。基本並進ベクトルの指定の仕方は直交座標系で任意の回転をさせても変わらないので、色々な取り方があります。
今回は前回と比較してxy平面上で反時計回りに30°回転させた場合のファイルを作成してみました。


基本並進ベクトルと任意の回転


AkaiKKRの基本並進ベクトル その1ではAkaiKKR(machikaneyama)の入力ファイルで基本並進ベクトル利用して結晶構造を入力する方法を書きました。

この際、六方最密充填構造を例にとって、以下のような配置のコバルトの入力ファイルを作成しました。

001_20150513120148d3b.png


c----------------------Co------------------------------------
go data/coAUX
c------------------------------------------------------------
c brvtyp
aux
0.50000 -0.86603 0.00000
0.50000 0.86603 0.00000
0.00000 0.00000 1.62150
4.74
c------------------------------------------------------------
c edelt ewidth reltyp sdftyp magtyp record
0.001 1.0 nrl mjw mag 2nd
c------------------------------------------------------------
c outtyp bzqlty maxitr pmix
update 4 50 0.023
c------------------------------------------------------------
c ntyp
1
c------------------------------------------------------------
c type ncmp rmt field mxl anclr conc
Co 1 1 0.0 2
27 100
c------------------------------------------------------------
c natm
2
c------------------------------------------------------------
c atmicx atmtyp
0a 0b 0c Co
1/3a 2/3b 1/2c Co
c------------------------------------------------------------


上記の例ではaベクトルとbベクトルの間にx軸が来るように基本並進ベクトルを選んでいますが、当然ながらほかの取り方もできます。例えばbベクトルがy軸方向に来るようにとると基本並進ベクトルは以下のようになります。

√3/2 -1/2 0
0 1 0
0 0 c/a

これに対応する入力ファイルは以下のようになります。

c----------------------Co------------------------------------
go data/coAUX
c------------------------------------------------------------
c brvtyp a c/a b/a alpha beta gamma
aux
0.86603 -0.50000 0.00000
0.00000 1.00000 0.00000
0.00000 0.00000 1.62150
4.74
c------------------------------------------------------------
c edelt ewidth reltyp sdftyp magtyp record
0.001 1.0 nrl mjw mag 2nd
c------------------------------------------------------------
c outtyp bzqlty maxitr pmix
update 4 50 0.023
c------------------------------------------------------------
c ntyp
1
c------------------------------------------------------------
c type ncmp rmt field mxl anclr conc
Co 1 1 0.0 2
27 100
c------------------------------------------------------------
c natm
2
c------------------------------------------------------------
c atmicx atmtyp
0a 0b 0c Co
1/3a 2/3b 1/2c Co
c------------------------------------------------------------


上記2つの入力ファイルは、同じ結果が得られるはずです。

計算結果への影響


上記2つの入力ファイルは同じ結果が得られるはずですが、普通にブラべ格子をキーワードとしてhcpを与えたときと、上記のようにauxで基本並進ベクトルを指定した場合とでは、計算結果が異なる場合があります。

実際、下記はAkaiKKRのサンプル入力ファイルとしてinディレクトリに保存されているものですが、AkaiKKRのバージョンによっては下記は上手く収束しない場合があるのに反して、上記のauxで入力したファイルは上手く収束します。

c----------------------Co------------------------------------
go data/co
c------------------------------------------------------------
c brvtyp a c/a b/a alpha beta gamma
hcp 4.74 , 1.6215 , , , , ,
c------------------------------------------------------------
c edelt ewidth reltyp sdftyp magtyp record
0.001 1.0 nrl mjw mag 2nd
c------------------------------------------------------------
c outtyp bzqlty maxitr pmix
update 4 50 0.023
c------------------------------------------------------------
c ntyp
1
c------------------------------------------------------------
c type ncmp rmt field mxl anclr conc
Co 1 1 0.0 2
27 100
c------------------------------------------------------------
c natm
2
c------------------------------------------------------------
c atmicx atmtyp
0a 0b 0c Co
1/3a 2/3b 1/2c Co
c------------------------------------------------------------


ブラべ格子で指定する場合と基本並進ベクトルで指定する場合の違いというよりは、高い対称性を持ったブラべ格子で収束しづらい場合、対称性をおおとしたブラべ格子で計算を行うと収束しやすくなることがある気がします。対称性の高いブラべ格子を指定した場合の方が、内部的にポテンシャルの形状などに強い制約を与えているのかもしれません。気のせいかもしれませんが。

関連エントリ




参考URL




参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: AkaiKKR machikaneyama KKR 基本並進ベクトル ブラべ格子 六方最密充填構造 コバルト 

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRScilabmachikaneyamaKKRPSoCCPAOPアンプPIC強磁性モンテカルロ解析常微分方程式トランジスタodeインターフェース状態密度DOSecalj定電流PDS5022スイッチング回路半導体シェルスクリプト乱数レベルシフトHP6632A温度解析ブレッドボードI2CR6452A分散関係トランジスタ技術可変抵抗確率論数値積分反強磁性セミナー非線形方程式ソルバ絶縁バンドギャップ熱設計偏微分方程式バンド構造GW近似カオス三端子レギュレータLEDフォトカプラシュミットトリガISO-I2CA/DコンバータLM358USBカレントミラーTL431マフィンティン半径PC817C数値微分アナログスイッチ発振回路サーボ直流動作点解析74HC40532ちゃんねる標準ロジックチョッパアンプLDAアセンブラFFTbzqltyイジング模型ブラべ格子開発環境補間量子力学電子負荷BSchパラメトリック解析単振り子基本並進ベクトル熱伝導繰り返しGGAMaximaTLP621ewidthSMP相対論抵抗位相図ランダムウォークスピン軌道相互作用六方最密充填構造不規則合金FETコバルト失敗談QSGWcygwinスレーターポーリング曲線スイッチト・キャパシタラプラス方程式gfortranキュリー温度状態方程式条件分岐格子比熱TLP552LM555TLP521三角波NE555過渡解析FXA-7020ZRWriter509テスタ詰め回路MCUマントルダイヤモンドQNAPデータロガーガイガー管自動計測UPS井戸型ポテンシャルawk第一原理計算仮想結晶近似ブラウン運動差し込みグラフ平均場近似fsolve起電力熱力学OpenMPスーパーセル固有値問題最適化最小値VCAシュレディンガー方程式VESTAubuntu最大値面心立方構造PGAOPA2277L10構造非線型方程式ソルバ2SC1815fccフェルミ面等高線ジバニャン方程式ヒストグラム確率論マテリアルデザイン正規分布結晶磁気異方性interp1フィルタ初期値ウィグナーザイツ胞c/aルチル構造岩塩構造スワップ領域リジッドバンド模型edeltBaOウルツ鉱構造重積分SIC二相共存ZnOquantumESPRESSOCapSensegnuplotmultiplot全エネルギー固定スピンモーメントFSM合金ノコギリ波フォノンデバイ模型ハーフメタル半金属TeXifortTS-110不規則局所モーメントTS-112等価回路モデルパラメータ・モデルヒストグラムExcel円周率GimpトラックボールPC直流解析入出力文字列マンデルブロ集合キーボードフラクタル化学反応三次元Realforce縮退日本語最小二乗法関数フィッティング疎行列シンボル線種ナイキスト線図陰解法負帰還安定性熱拡散方程式EAGLECrank-Nicolson法連立一次方程式P-10クーロン散乱Ubuntu境界条件MBEHiLAPW軸ラベルトランスCK1026MAS830L凡例PIC16F785LMC662AACircuit両対数グラフ片対数グラフグラフの分割specx.f

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。