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

現在アプリ掲載数330件

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

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

Flexible DM-NRG

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

数値繰り込み群法の計算を行うアプリケーション。近藤模型やアンダーソン模型などで記述される磁性不純物問題を解くことができる。代表的な模型の入力ファイルが用意されており、入力ファイルを修正することで一般の磁性不純物模型も取り扱うことも可能。入力ファイル作成を補助するMathematicaプログラムが付属している。

flexible DM-NRGを用いた不純物アンダーソン模型のスペクトル関数の計算
Last Update:2021/12/09
あなたはすでに投票済みです!

MateriApps 開発チーム (2020-03-13)

はじめに

flexible DM-NRGは不純物模型を数値くりこみ群(Numerical Renormalization Group, NRG)によって解く数少ない公開プログラムである。入手方法は、ライセンスに関するWebページのフォームに記入して送信すると、しばらくしてソースコードのURLが送られてくる。ライセンスはGNU GPLである。私が入手したコードのファイル名は、flexible-dmnrg-1.0.0.tgzである。以下、このソースコードが、MateriApps LIVE!環境のホームディレクトリにあるとして、プログラムのコンパイルおよび不純物アンダーソン模型のスペクトル関数を計算してみよう。使用したMateriApps LIVE!のバージョンは2.4である。

インストール方法

まずソースコードを解凍し、新しくつくられるディレクトリに移動する:

$ tar zxvf flexible-dmnrg-1.0.0.tgz
$ cd flexible-dmnrg-1.0.0

次にコンパイルや実行を行うスクリプトファイルをダウンロードして、解凍する:

$ wget https://github.com/cmsi/malive-tutorial/releases/download/tutorial-20200202/flexible_dmnrg.tgz
$ tar zxvf flexible_dmnrg.tgz

コンパイルは下記のコマンドによって行う:

$ sh compile.sh

問題なくコンパイルできると、同じディレクトリにfnrg, sfbなどの実行ファイルができるはずである。

実行方法

インストールが完了したら、早速実行してみよう。基本的にはinput.datというファイルを用意し、プログラムfnrgを実行する。スペクトル関数を計算するには、その後にプログラムsfbを実行する。input.datのフォーマットは一般に複雑である。これはいろいろな模型に対応させるためである。しかし、簡単な模型については、ディレクトリinput_filesにテンプレートが用意されているので、これをコピーしてきてinput.datに名前を変更すればよい。input.datのなかに、物理的なパラメータのほかに、くりこみの途中で残す状態の数や、エネルギー繰り込み係数Λなどの指定が可能である。

ここでは事前に用意したスクリプトを用いて、不純物アンダーソン模型の数値くりこみ群の計算を実行してみよう。まず下記のコマンドを入力する:

$ sh run.sh

これにより複数の相互作用パラメータUについて、数値くりこみ群の計算が実行され、スペクトル関数が計算されて、同じディレクトリにspectral_func_U_****.datというファイルが生成される(***は数値である)。これらを表示させるには、下記のコマンドを用いる。

$ gnuplot -persistent plot.gp

うまく実行されると、下図のようなグラフがえられるはずである。

なおアンダーソン模型では、相互作用の大きさUのほかに、U=0のときのスペクトル関数の幅Γが重要なパラメータになっている。実際にU=0のときのスペクトル関数はA(ω)=(Γ/π)/(ω2+Γ2) とかかれる。本計算では不純物と伝導電子の鎖の間のホッピングをt=0.25としており(input.datファイル中にt = 0.25という行がある)、このホッピングから線幅はΓ=πt^2/2 で計算できる(ここではΓ=0.098)。ここから計算したU=0のスペクトル関数と、数値くりこみ群のU=0の結果は微妙にずれているが、これはくりこみの係数Λ(ここでは2としている)が大きすぎている、もしくは、残す状態の数(ここでは100)が小さすぎるためである。これらのパラメータを調整することで一致が改善する(計算は重くなる)。

おわりに

flexible DM-NRGのマニュアルはあくまで参照用という感じになっており、最初の計算例を確かめるまでパラメータのありかなどを探すのにそれなりに時間がかかってしまう。本チュートリアルが役立てば幸いである。一度、計算ができてしまえば、マニュアルをよく参照しながら、より多くのパラメータ・模型の計算を行うのは、思った以上に簡単である。ぜひ挑戦してほしい。

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.