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

現在アプリ掲載数307件

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

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

HΦ

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

並列計算機に対応した数値厳密対角化法による有効模型ソルバーパッケージ。広汎な多体量子系の有効模型(多軌道ハバード模型、ハイゼンベルグ模型、近藤格子模型など)の基底状態及び低励起状態の波動関数を並列計算によって求める。ランチョス法による基底状態計算、熱的純粋量子状態を利用した比熱・帯磁率の温度依存性計算が可能。さらに、シフト型クリロフ部分空間ライブラリKωを用いて動的グリーン関数の計算が可能である。ver. 3.0からは実時間発展の機能も追加された。

HΦによる励起スペクトル計算
Last Update:2021/12/09
あなたはすでに投票済みです!

MateriApps 開発チーム (19/02/13)

はじめに

量子スピン系において、動的構造因子 \(S(q,\omega)\) は、中性子散乱などの実験と直接比較可能な物理量です。そのため、これを計算できるかどうかというのは理論と実験との協働という面からみても重要です。たとえば \(S=1/2\) 反強磁性ハイゼンベルグ鎖 (AFH chain)における動的構造因子の縦成分 \(S_{zz}(q,\omega)\) は、 \(e_1(q) = J\pi/2 |\sin(q)|\) と \(e_2(q) = J\pi |\sin(q/2)|\) の2つのモード (des Cloizaux-Pearson mode) に挟まれた連続励起になっています。 この励起は、実際に \(\mathrm{Sr}_2\mathrm{Cu}\mathrm{O}_3\) などの一次元物質で観測されています。

HΦ(HPhi) は、ハバード模型や量子スピン模型の厳密対角化ソルバーです。 HPhi を用いることで、これらの基底状態だけではなく、動的構造因子を計算することもできます。 今回は、HPhi v3.1.2 を用いて \(S=1/2\) AFH chain のスピノン励起スペクトルを調べてみます。

インストール

プレインストール環境を使う

計算物質科学向け Live Linux システムである MateriAppsLIVE! や物性研スパコンにはHPhi がプリインストールされています。 これらを用いたHPhi の利用については、既存のレビュー記事があるのでそちらを参照してください。

ソースからインストール

HPhi はソースコードがGitHub 上に公開されています(以下、行頭の$ は端末のプロンプトです。)。

$ cd && mkdir -p work && cd work
$ git clone https://github.com/issp-center-dev/HPhi

CMake をつかってMakefile を生成し、ビルドします。

$ mkdir build && cd build
$ cmake -DCONFIG=gcc -DCMAKE_INSTALL_PREFIX=../usr ../
$ make -j3 install

$HOME/work/HPhi/usr/bin に実行可能ファイルが生成されるので、このディレクトリにパスを通しておきます。

$ export PATH=$HOME/work/HPhi/usr/bin:$PATH

スペクトル計算

単一波数

まず、励起する前の基底状態を求めます。 入力ファイルとして、次の内容をもつ gs.in を用意します。

method = "cg"
model = "spin"
lattice = "chain lattice"
L = 16
J = 1
2S = 1
2Sz = 0

EigenVecIO = "out"

これをHPhi に与えることで基底状態を計算し、出力します。

$ HPhi -s gs.in

次に、励起スペクトルを計算するための入力ファイル exc.in を用意します。

method = "cg"
model = "spin"
lattice = "chain lattice"
L = 16
J = 1
2S = 1
2Sz = 0

LanczosEPS = 8
CalcSpec = "Normal"
SpectrumType = "SzSz"
OmegaMin = 0.0
OmegaMax = 3.15
OmegaIM = 0.1
spectrumQL = 0.5

spectrumQL = 0.5 は、 \(q = 0.5 \times 2\pi = \pi\) を意味します。
このファイルを変換してエキスパートモード用の入力ファイルを生成します。

HPhi -sdry exc.in

生成されたファイルのうち、 modpara.def の最後にある OmegaOrg というパラメータを書き換えて、エネルギーの原点を基底状態エネルギーに設定します。
基底エネルギーは output/zvo_energy.dat に書いてあるものをコピペします。

$ grep Energy output/zvo_energy.dat
Energy -7.1422963606163332

modpara.def を書き換えたら、改めてHPhi 計算を実行します。

$ HPhi -e namelist.def

動的グリーン関数が output/zvo_DynamicalGreen.dat に出力されます。求めたい励起スペクトルは、虚部の逆符号なので、

$ gnuplot

gnuplot> pl 'output/zvo_DynamicalGreen.dat' u 1:(-$4) w l

とすることで見ることができます。

波数スイープ

HPhi では一度に一つの波数でしか励起スペクトルを計算できません。そのため、実際に分散関係を調べる場合には、波数を変えながら何度も計算し直す必要があります。この作業を手でやるのは大変面倒なので、スクリプトで自動実行できるようにします。 このスクリプトは最初に基底状態を計算し、その後に q = 2pi n/L (n=0, 1, ..., L/2) の各波数について励起スペクトルを計算し、 spectrum-L16.dat に結果を書き出します。

$ wget http://bit.ly/2GLnsyf -O hphi_AFHchain_spectrum.sh
$ sh ./hphi_AFHchain_spectrum.sh

gnuplot を用いて励起スペクトルを可視化してみます。

gnuplot> set dgrid3d 51,51,10
gnuplot> set pm3d map
gnuplot> spl 'spectrum-L16.dat' u (2*$1):($2/pi):(-$4) w pm3d

AFH chain の励起スペクトルが無事に観測できました。特に、下部 dCP mode がきれいに見えています。
システムサイズを大きくするとさらにきれいになります。例えば物性研スパコン sekirei で \(L=28\) の計算をした結果は次のようなものになります。

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-2023. All rights reserved.