スポンサーサイト

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

AkaiKKRの.infoファイルとspmain.f

AkaiKKR(machikaneyama)は、計算結果のうち重要な情報をdataディレクトリの.infoファイルに保存してあります。AkaiKKRの.infoファイルから情報を取り出すでは tail や sed, awk を使って .info ファイルから必要な情報だけを切り出す方法を書きました。

それ以降少し気になっていたのですが、アウトプットファイルに記録された(標準出力に出る)全エネルギーの値に比べて .info ファイルに書きだされる全エネルギーは、小数点以下の数値が一桁少ないのです。
そこでソースコードを眺めてみると source/spmain.f の最後に .info ファイルへの書き込みを行っている場所を見つけました。最後の方(1032行目ぐらい)に以下の記述があります。
c-------- a dependence of te and the moment are given
write(25,'(1x,f12.4,f20.7,f10.5)')a,te,stotal

このなかのf20.7がどうやら全エネルギーを表しているようで、これをf20.8などに変更すれば小数点以下8桁まで .info ファイルに書き込まれるようになります。他にも c/a を表示したり色々なことができそうな感触をコメントアウトされている場所から読み取ることができます。

関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: AkaiKKR machikaneyama 

ecaljでGaAsとスピン軌道相互作用

AkaiKKRで鉛の相対論計算で書いた通りスピン軌道相互作用の有無で結晶のバンド構造は変化します。ecaljのマニュアルにはGaAsを例として、スピン軌道相互作用を含まない計算を行った後から摂動としてスピン軌道相互作用の効果を取り込む方法が書かれているので、今回はこれを実行しました。

001_20150927033607760.png

Fig.1: GaAsのバンド構造(GW近似, スピン軌道相互作用あり)

002_20150927033607397.png

Fig.2: GaAsのバンド構造(GW近似, スピン軌道相互作用なし)


計算の手順


まず通常の手順でLDA計算やGW近似計算を行います。(参考: ecaljの実行手順(LDA計算), ecaljの実行手順(GW近似))

次に新しくディレクトリを作成し、そこへ以下の2つ(GW近似計算場合は4つ)のファイルをコピーします。
  • ctrl.gaas
  • rst.gaas
  • (sigm.gaas)
  • (QGpsi)

更に、コピーした ctrl.gaas のパラメータを下記のように変更します。
  • nspin=2
  • so=1
  • Q=band

該当箇所は以下のようになります。
% const pwemax=3 nk1=4 nk2=4 nk3=4 nit=30  gmax=12  nspin=2 metal=3 so=1 xcfun=1 ssig=1.0

Q=band # (this is quit switch if you like to add)

Q=bandはデフォルトでコメントアウトされているので、コメントアウトを外します。

この状態で再び lmf を実行します。
lmf gaas

その後、通常通り job_band を実行すれば、スピン軌道相互作用を含むバンド図を描くことができます。

スピン軌道相互作用とバンド構造


AkaiKKRで鉛の相対論計算で書いた通り、相対論の効果によりバンドの縮退が解けます。

003_20150927033607045.png

Fig.3: GaAsのバンド構造(LDA, スピン軌道相互作用あり)

004_20150927033606869.png

Fig.4: GaAsのバンド構造(LDA, スピン軌道相互作用なし)


関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: ecalj スピン軌道相互作用 相対論 半導体 GW近似 

ecaljで反強磁性NiO

ecaljで強磁性鉄のスピン分極計算では、ecaljのマニュアルに従って、スピン分極計算の例として強磁性の体心立方構造(bcc)鉄の計算を行いました。
今回は、反強磁性の計算例として、やはりマニュアル通り、NiOの計算を行いました。

001_20150927023611089.png

Fig.1: 反強磁性NiOのバンド構造



反強磁性半導体NiO


ecaljで強磁性鉄のスピン分極計算では、金属強磁性体のbcc鉄の計算を行いました。今回はecaljを用いて反強磁性半導体であるNiOの計算を行います。
とはいえbcc鉄のときと同様に行う事は結晶構造ファイル ctrls.nio に初期モーメントを反強磁性になるように与えることと制御ファイルにnspin=2を設定することだけです。

結晶構造ファイル ctrls.nio (初期スピンモーメントの指定)


(前回もそうでしたが)結晶構造ファイルは~/ecalj/MATERIALS/にあるものをそのまま使います。もし存在しないようならMATERIALSディレクトリでjob_marerials.pyのスクリプトを(--noexecオプション付きで)実行するとファイルが作成されると思います。
#id  = NiO
# NOTE set MMOM. (it will be included in this...)
%const bohr=0.529177 a=7.88
STRUC ALAT={a} PLAT= 0.5 0.5 1.0 0.5 1.0 0.5 1.0 0.5 0.5
SITE ATOM=Niup POS= .0 .0 .0
ATOM=Nidn POS= 1.0 1.0 1.0
ATOM=O POS= .5 .5 .5
ATOM=O POS= 1.5 1.5 1.5
SPEC
ATOM=Niup Z=28 MMOM=0 0 1.2 0
ATOM=Nidn Z=28 MMOM=0 0 -1.2 0
ATOM=O Z=8 MMOM=0 0 0 0

ecaljで強磁性鉄のスピン分極計算で書いた通り、スピン分極を含む計算を行うときには、初期スピンモーメントを与えておく必要があります。反強磁性にするために重要な点は、アップスピンとダウンスピンのニッケルに符号が逆の初期モーメントを与えておくことです。

SITE で定義する ATOM はサイト名です。これまでは単純に原子の名前を付けてきましたが、同じ原子でもサイトが異なれば、別の名前を付ける必要があります(だと思います)。今回は同じニッケルでもNiupとNidnの2種類が存在します。これらが何の原子であるかを指定するために SPEC にて 原子番号 Z=28 が指定されています。酸素に関しても SPEC で指定されていますが、結晶の中でどれか一つでも SPEC を書いたなら(今回はNiupとNidn)、すべての原子について SPEC に原子番号やスピンモーメントを指定しなければなりません(だったと思います)。

制御ファイル ctrl.nio (スピン分極計算の設定)


ecaljで強磁性鉄のスピン分極計算のときと同様です。
ctrlgenM1.py nio --nspin=2
cp ctrlgenM1.ctrl.nio ctrl.nio


002_20150927023610043.png

Fig.2: 反強磁性NiOの状態密度


関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: ecalj 反強磁性 半導体 

ecaljで強磁性鉄のスピン分極計算

ecaljでは、デフォルトではスピン分極を考慮しない(非磁性の)計算となっています。スピン分極を含む計算を行う場合、デフォルトの手続きに加えて、以下のことを行う必要があります。
  1. 結晶構造ファイル ctrls.fe にスピンモーメントの初期値を記入する
  2. 制御ファイル ctrl.fe に nspin=2 を設定する



001_20150927005941da8.png

Fig.1: 鉄のバンド構造



体心立方構造(bcc)の強磁性鉄


第一原理計算を行う際にスピン分極を考慮しない計算は、スピン分極を考慮する計算よりも計算時間を短くできます。そこでシリコンや銅といった非磁性であることが予想できる物質の計算を行う場合は、スピン分極を考慮しない計算の方が有利です。
このためecaljのデフォルトの設定では、スピン分極を考慮しないようになっているようです。これに対して体心立方構造(bcc)の鉄などは強磁性体なのでスピン分極を考慮した計算を行う必要があります。

結晶構造ファイル ctrls.fe (初期スピンモーメントの指定)


初期のスピンモーメントを2μBとした体心立方構造(bcc)鉄の結晶構造ファイルは以下のようになります。

#id  = Fe
%const bohr=0.529177 a=2.8665/bohr
STRUC ALAT={a}
PLAT=-.5 .5 .5
.5 -.5 .5
.5 .5 -.5
SITE ATOM=Fe POS= 0 0 0
SPEC ATOM=Fe Z=26 MMOM=0,0,2,0


これまでの入力ファイルに加えて SPEC の行が追加されています。
ATOM は SITE で定義したサイト名です。それに続く Z は原子番号です。スピンモーメントを指定する場合、原子番号は省略することはできません(だったと思います)。

MMOM がスピンモーメントで左から順にs,p,d,f状態です。
鉄の強磁性は主にd電子に起因するのでd電子の値を実験から得られている全磁気モーメント(2.2μB)に近い値としておきます。あくまで初期モーメントなので、固定スピンモーメント計算ではないのですが、リーズナブルな値を与えておく方が良いと思います。(参考: AkaiKKRで固定スピンモーメント計算)

制御ファイル ctrl.fe (スピン分極計算の設定)


次にスピン分極を計算するための制御ファイル ctrl.fe を作成します。制御ファイルの作成にはecaljの実行手順(LDA計算)の通り ctrlgenM1.py を使います。ここで追加のオプションとして --nspin=2 を指定すればスピン分極計算用の制御ファイルが作成されます。
ctrlgenM1.py fe --nspin=2
cp ctrlgenM1.ctrl.fe ctrl.fe

後は通常通りにLDA計算を行います。

制御ファイルのオプション(k点数の変更など)


ctrlgenM1.py にオプションを追加する方法は、他の用途にも使えます。例えば、状態密度計算のためにk点の数を増やすことを考えます。
ctrlgenM1.py fe --nspin=2 --nk1=8
cp ctrlgenM1.ctrl.fe ctrl.fe



002_20150927005941a99.png

Fig.2: 鉄の状態密度


他にも交換ポテンシャルの種類やスピン軌道相互作用の有無などが指定できるようです。--helpオプションを付けて実行するとデフォルトの設定が表示されます。
ctrlgenM1.py --help

以下のようにデフォルトの設定などが表示されました。
ctrlgenM1.py. tkotani and h.kino aug_2013 version :
---------------
Purpose:
Generate a template of ctrl file names as ctrlgenM1.ctrl.{ext}."
Before you run lmfa, you have to copy ctrlgenM1.ctrl.{ext} to ctrl.{ext} and edit it.
Usage : ctrlgenM1 {extension of ctrl file} [option]
[options] = INPUT arguments in the followings.
Your given options (also defaults when not specified) are shown at the begining of console output.
Example:
After you write ctrls.si, run
>ctrlgenM1.py si --nk1=8 --nk2=8 --nk3=8 --tratio=1.0 --xcfun=vwn


=== INPUT options (shown values are default) ===
--help given
--showatomlist Not exist
--nspin=1
--so=0
--nk1=4 Division for BZ integral along a-axis
--nk2=4 (if not give, nk2=nk1) along b-axis
--nk3=4 (if not give, nk3=nk1) along c-axis
--xcfun=vwn !(bh,vwn,pbe)
+++ Followings are for experts to change +++
--tratio=0.97 (for MT radius: we use touching MT radius \times this ratio. lmf --getwsr is called.
if negative, we use use defalut MT radius in ctrlgenM1.py)
--systype=bulk !(bulk,molecule)
--insulator Not exist !not set this if you are not expert. (do not set for --systype=molecule)
--fsmom=0.0 ! (only for FSMOM mode. --systype=molecule automatically set this)
--ssig=1.0 ! ScaledSigma(experimental =1.0 is the standard QSGW

--- end of help ---


関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: ecalj 強磁性 状態密度 DOS 

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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。